NNStreamer: upstreaming to gst-plugins-bad,

MyungJoo Ham myungjoo.ham at samsung.com
Mon Oct 29 09:57:41 UTC 2018


Hello,


I'm planning to upstream nnstreamer, sets of plugins for neural networks
in GStreamer, to gstreamer mainline (gst-plugins-*.git)
- https://github.com/nnsuite/nnstreamer/
- https://gstreamer.freedesktop.org/conference/2018/talks-and-speakers.html#nnstreamer-neural-networks-as-filters

Because some of nnstreamer elements are not yet implemented, or in
poor quality, it appears that I may need to try gst-plugins-bad first.

However, there are a few questions before acually preparing for upstreaming
the code to gst-plugins-bad.


Q1. May I ignore autotools script and add meson scripts only?
(we are using CMake for now and will change it to meson soon)

Q2. If I want to keep the developmental processes in
github.com/nnsuite/nnstreamer so that I can keep running the current CI
systems for nnstreamer, with the newly introducing GStreamer Gitlab,
I'll need to send pull-request (or merge-request) from ours
to GStreamer repos.

  Then, may I send a set of whole commits as a single pull-request (e.g.,
50 commits in a single PR) from "nnstreamer.git" to "gst-plugins-*.git"?
Or, should I sens each pull-request with a specific topic (so that there
will be around 1 to 4 commits in a single PR)?

  If the latter is the case, should we start with hundreds of PRs for the
first PR (pull-request) to gst-plugins-*.git? or can we send them in a single
PR or a single commit?
(https://github.com/nnsuite/nnstreamer/ has currently 452 commits)

  Because we want our own CI system (we need to support Tizen with a lot of
Tizen test cases), we'd prefer to have our own github repo and upstream
a set of commits for each RC version or weekly to gst-plugin-*.git.


Q3. In order to support "tensorflow-lite", we need development files of
"tensorflow-lite" (such as "tensorflow-lite-dev" in
http://launchpad.net/~nnstreamer/+archive/ubuntu/ppa or in
http://download.tizen.org/snapshots/tizen/unified/latest/repos/standard/packages/armv7l/ )
at build-time. Such dependencies are optional
(-DDISABLE_TENSORFLOW_LITE=ON disables it).
Is it allowed to add build-dep options at the main build script of
gst-plugins-*.git for such purpose so that the packager can enable/diable
it? With more neural network frameworks supported, the list of such options
will increase.



Any advices on upstreaming to gst-plugins-{good/bad/ugly}.git from
github.com/nnsuite/nnstreamer are much appreciated. Thank you!

Cheers,
MyungJoo
--
MyungJoo Ham (함명주), Ph.D.
Autonomous Machine Lab., AI Center, Samsung Research.
Cell: +82-10-6714-2858



More information about the gstreamer-devel mailing list