On 2/25/25 4:11 PM, Ryan Eatmon wrote:
On 2/21/2025 8:53 PM, Andrew Davis wrote:
On 2/21/25 8:25 PM, Denys Dmytriyenko wrote:
On Fri, Feb 21, 2025 at 07:53:58PM -0600, Andrew Davis via
lists.yoctoproject.org wrote:
NNStreamer is an efficient and flexible stream pipeline framework for
complex neural network applications.
NNStreamer provides a set of GStreamer plugins so developers may apply
neural networks, attach related frameworks (including ROS, IIO,
FlatBuffers, and Protocol Buffers), and manipulate tensor data streams
in GStreamer pipelines easily and execute such pipelines efficiently.
It was initially developed by Samsung and then transferred to LF AI
Foundation as an incubation project.
FWIW, nnstreamer project on github has its own meta-neural-network layer with
a corresponding nnstreamer recipe:
https://github.com/nnstreamer/meta-neural-network
https://github.com/nnstreamer/meta-neural-network/blob/master/recipes-nnstreamer/nnstreamer/nnstreamer_2.4.2.bb
I did find that earlier when looking for existing recipes for this
framework, but that recipe needs some work. That layer also pulls
in a bunch of other stuff we don't need/want.
I did use that as a kicking-off point. I'll try to push back my
fixes at some point. Maybe we can work to move that into a more
common layer.
Learn more at https://nnstreamer.ai/
Signed-off-by: Andrew Davis <[email protected]>
---
.../nnstreamer/nnstreamer_2.4.0.bb | 68 +++++++++++++++++++
1 file changed, 68 insertions(+)
create mode 100644
meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
diff --git
a/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
new file mode 100644
index 00000000..55de11e8
--- /dev/null
+++ b/meta-arago-extras/recipes-multimedia/nnstreamer/nnstreamer_2.4.0.bb
@@ -0,0 +1,68 @@
+SUMMARY = "NNStreamer, Stream Pipeline Paradigm for Nerual Network
Applications"
+DESCRIPTION = "NNStreamer is a set of Gstreamer plugins that allow Gstreamer
developers to adopt neural network models easily and efficiently."
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c25e5c1949624d71896127788f1ba590"
+
+SRC_URI =
"git://github.com/nnstreamer/nnstreamer.git;branch=main;protocol=https"
+PV = "2.4.0+git"
+SRCREV = "7c57c288250578cad598f065b6fda6c0ff720cf9"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+DEPENDS = " \
+ orc-native \
+ glib-2.0 \
+ gstreamer1.0 \
+ gstreamer1.0-plugins-base \
+ python3 \
+ python3-numpy \
+ json-glib \
+"
+
+PACKAGECONFIG ??= " \
+ protobuf \
+ flatbuffers \
+ tests \
+ armnn \
+ onnxruntime \
+ tensorflow-lite \
+"
+
+PACKAGECONFIG[tests] = "-Denable-test=true -Dinstall-test=true,
-Denable-test=false, gtest"
+PACKAGECONFIG[protobuf] = "-Dprotobuf-support=enabled, -Dprotobuf-support=disabled,
protobuf protobuf-native"
+PACKAGECONFIG[flatbuffers] = "-Dflatbuf-support=enabled,
-Dflatbuf-support=disabled, flatbuffers flatbuffers-native"
+PACKAGECONFIG[armnn] = "-Darmnn-support=enabled, -Darmnn-support=disabled,
armnn"
+PACKAGECONFIG[onnxruntime] = "-Donnxruntime-support=enabled,
-Donnxruntime-support=disabled, onnxruntime"
+PACKAGECONFIG[tensorflow-lite] = "-Dtflite2-support=enabled,
-Dtflite2-support=disabled, tensorflow-lite"
+
+do_install:append() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+
+ # Install test data
+ install -d ${D}/${bindir}/unittest-nnstreamer/tests
+ cp $CP_ARGS ${S}/tests/test_models ${D}/${bindir}/unittest-nnstreamer/tests
+ rm -f ${D}/${bindir}/unittest-nnstreamer/tests/test_models/models/tvm*
+}
+
+FILES:${PN} += "\
+ ${libdir}/*.so \
+ ${libdir}/gstreamer-1.0/*.so \
+ ${libdir}/nnstreamer/* \
+ ${sysconfdir}/nnstreamer.ini \
+"
+INSANE_SKIP:${PN} += "dev-so"
+
+PACKAGES =+ "${PN}-tests"
+
+FILES:${PN}-tests += "\
+ ${libdir}/nnstreamer/customfilters/* \
+ ${bindir}/unittest-nnstreamer/* \
+"
+
+FILES:${PN}-dev = "\
+ ${includedir}/nnstreamer/* \
+ ${libdir}/*.a \
FWIW, these get automatically packaged into ${PN}-staticdev
Let me remove this and see where those go.
Are we waiting for a v2 then?
Yeah, seems this one line was not needed, removed it and sending v2 now.
Andrew
Andrew
+ ${libdir}/pkgconfig/*.pc \
+"
--
2.39.2
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#15919):
https://lists.yoctoproject.org/g/meta-arago/message/15919
Mute This Topic: https://lists.yoctoproject.org/mt/111320271/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-