diff options
author | Max Krummenacher <max.krummenacher@toradex.com> | 2021-01-28 19:19:27 +0100 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2021-01-30 19:38:06 +0100 |
commit | 72b65e49627115b2b0ed822265f79d2e83927f14 (patch) | |
tree | 3fe387726e9cf3dc3f5093678491cb83d5e75e37 /backports | |
parent | 51ab5001a3cf5736a0336a714647ef99f5e330c6 (diff) |
gstreamer1.0-plugins-bad: update to 5.4.70_2.3.0
NXP release imx_5.4.70_2.3.0.
Related-to: ELB-3327
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Diffstat (limited to 'backports')
9 files changed, 532 insertions, 0 deletions
diff --git a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch new file mode 100644 index 0000000..5e6a1c0 --- /dev/null +++ b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch @@ -0,0 +1,58 @@ +From 9e092d8976db034a2d6848d738c4f73cc001fd09 Mon Sep 17 00:00:00 2001 +From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> +Date: Sun, 26 Jan 2020 10:45:28 +0000 +Subject: [PATCH] ext/wayland: fix meson build in nxp fork + +- Add Wayland protocols, which are not enabled in upstream +- Add missing compilation unit, which in NXP-specific + +Upstream-Status: Pending + +Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> + +--- + ext/wayland/meson.build | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +diff --git a/ext/wayland/meson.build b/ext/wayland/meson.build +index 3c377eefb..98a7cb76f 100644 +--- a/ext/wayland/meson.build ++++ b/ext/wayland/meson.build +@@ -10,6 +10,11 @@ wl_sources = [ + + libdrm_dep = dependency('libdrm', version: '>= 2.4.55', required:get_option('wayland')) + ++imx_wl_sources = [ ++ 'wlutils.c', ++] ++wl_sources += imx_wl_sources ++ + if use_wayland + protocols_datadir = wl_protocol_dep.get_pkgconfig_variable('pkgdatadir') + +@@ -21,6 +26,25 @@ if use_wayland + 'fullscreen-shell-unstable-v1-protocol.c', 'fullscreen-shell-unstable-v1-client-protocol.h'], + ['/stable/xdg-shell/xdg-shell.xml', 'xdg-shell-protocol.c', 'xdg-shell-client-protocol.h'], + ] ++ ++ imx_protocol_defs = [ ++ [ ++ '/unstable/alpha-compositing/alpha-compositing-unstable-v1.xml', ++ 'alpha-compositing-unstable-v1-protocol.c', ++ 'alpha-compositing-unstable-v1-client-protocol.h' ++ ], ++ ['/unstable/hdr10-metadata/hdr10-metadata-unstable-v1.xml', ++ 'hdr10-metadata-unstable-v1-protocol.c', ++ 'hdr10-metadata-unstable-v1-client-protocol.h' ++ ], ++ [ ++ '/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml', ++ 'linux-explicit-synchronization-unstable-v1-protocol.c', ++ 'linux-explicit-synchronization-unstable-v1-client-protocol.h' ++ ], ++ ] ++ protocol_defs += imx_protocol_defs ++ + protocols_files = [] + + foreach protodef: protocol_defs diff --git a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch new file mode 100644 index 0000000..4f9041d --- /dev/null +++ b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch @@ -0,0 +1,34 @@ +From 69cff1595f9e0014c582c6f540d69d86d5e824ff Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> +Date: Fri, 18 Oct 2019 00:39:12 +0100 +Subject: [PATCH] meson: build gir even when cross-compiling if introspection + was enabled explicitly + +This can be made to work in certain circumstances when +cross-compiling, so default to not building g-i stuff +when cross-compiling, but allow it if introspection was +enabled explicitly via -Dintrospection=enabled. + +See gstreamer/gstreamer#454 and gstreamer/gstreamer#381. + +Upstream-Status: Backport [97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19] + +Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> + +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 2b492faea..bea89b23d 100644 +--- a/meson.build ++++ b/meson.build +@@ -405,7 +405,7 @@ python3 = import('python').find_installation() + + gir = find_program('g-ir-scanner', required : get_option('introspection')) + gnome = import('gnome') +-build_gir = gir.found() and not meson.is_cross_build() ++build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) + gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ + 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ + 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \ diff --git a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch new file mode 100644 index 0000000..525f4a4 --- /dev/null +++ b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch @@ -0,0 +1,27 @@ +From a4df38174d33dc1e620ea535e16cac406ff59da2 Mon Sep 17 00:00:00 2001 +From: Nicola Murino <nicola.murino@gmail.com> +Date: Fri, 31 Jul 2020 23:38:56 +0200 +Subject: [PATCH] opencv: allow compilation against 4.4.x + +Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1482> + +Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/8544f3928ea46d2da3f27dc65576e8baf42a46d] +Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> + +--- + ext/opencv/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build +index a26403482..b3270e540 100644 +--- a/ext/opencv/meson.build ++++ b/ext/opencv/meson.build +@@ -65,7 +65,7 @@ if opencv_found + endif + endforeach + else +- opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.2.0'], required : false) ++ opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.5.0'], required : false) + opencv_found = opencv_dep.found() + if opencv_found + foreach h : libopencv4_headers diff --git a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch new file mode 100644 index 0000000..5b8e015 --- /dev/null +++ b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch @@ -0,0 +1,51 @@ +From 54c700f9721ef218188803b48acae46e885626ee Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steffens@ltnglobal.com> +Date: Sat, 9 May 2020 19:59:46 +0200 +Subject: [PATCH] vulkan: Drop use of VK_RESULT_BEGIN_RANGE + +This was removed in Vulkan 1.2.140. + +> Shortly after 2020-04-24, we will be removing the automatically +> generated `VK_*_BEGIN_RANGE`, `VK_*_END_RANGE`, and `VK_*_RANGE_SIZE` +> tokens from the Vulkan headers. These tokens are currently defined for +> some enumerated types, but are explicitly not part of the Vulkan API. +> They existed only to support some Vulkan implementation internals, +> which no longer require them. We will be accepting comments on this +> topic in [#1230], but we strongly suggest any external projects using +> these tokens immediately migrate away from them. + +[#1230]: https://github.com/KhronosGroup/Vulkan-Docs/issues/1230 + +Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1603> + +Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/17850d7e87af93c6bd181d7c25903478c2254fa6] +Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> +--- + ext/vulkan/vkerror.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/ext/vulkan/vkerror.c b/ext/vulkan/vkerror.c +index 3fec27e4d..c91589d9b 100644 +--- a/ext/vulkan/vkerror.c ++++ b/ext/vulkan/vkerror.c +@@ -27,7 +27,7 @@ + #include "vkerror.h" + + /* *INDENT-OFF* */ +-static const struct ++static const struct + { + VkResult result; + const char *str; +@@ -63,8 +63,6 @@ _vk_result_to_string (VkResult result) + + if (result >= 0) + return NULL; +- if (result < VK_RESULT_BEGIN_RANGE) +- return "Unknown Error"; + + for (i = 0; i < G_N_ELEMENTS (vk_result_string_map); i++) { + if (result == vk_result_string_map[i].result) +-- +2.17.1 + diff --git a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch new file mode 100644 index 0000000..da2dd8b --- /dev/null +++ b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch @@ -0,0 +1,28 @@ +From 05f9a7a9025cb1c6a5592ba998ab95d565f9c76f Mon Sep 17 00:00:00 2001 +From: Andre McCurdy <armccurdy@gmail.com> +Date: Wed, 3 Feb 2016 18:05:41 -0800 +Subject: [PATCH] avoid including <sys/poll.h> directly + +musl libc generates warnings if <sys/poll.h> is included directly. + +Upstream-Status: Pending + +Signed-off-by: Andre McCurdy <armccurdy@gmail.com> + +--- + sys/dvb/gstdvbsrc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c +index bd07369c3..ebfbe4947 100644 +--- a/sys/dvb/gstdvbsrc.c ++++ b/sys/dvb/gstdvbsrc.c +@@ -97,7 +97,7 @@ + #include <gst/gst.h> + #include <gst/glib-compat-private.h> + #include <sys/ioctl.h> +-#include <sys/poll.h> ++#include <poll.h> + #include <fcntl.h> + #include <errno.h> + #include <stdio.h> diff --git a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch new file mode 100644 index 0000000..c25a11e --- /dev/null +++ b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch @@ -0,0 +1,86 @@ +From f9a8b71897af39640894915a5f202d0027124f57 Mon Sep 17 00:00:00 2001 +From: Andre McCurdy <armccurdy@gmail.com> +Date: Tue, 9 Feb 2016 14:00:00 -0800 +Subject: [PATCH] ensure valid sentinals for gst_structure_get() etc + +For GStreamer functions declared with G_GNUC_NULL_TERMINATED, +ie __attribute__((__sentinel__)), gcc will generate a warning if the +last parameter passed to the function is not NULL (where a valid NULL +in this context is defined as zero with any pointer type). + +The C callers to such functions within gst-plugins-bad use the C NULL +definition (ie ((void*)0)), which is a valid sentinel. + +However the C++ NULL definition (ie 0L), is not a valid sentinel +without an explicit cast to a pointer type. + +Upstream-Status: Pending + +Signed-off-by: Andre McCurdy <armccurdy@gmail.com> + +--- + sys/decklink/gstdecklink.cpp | 10 +++++----- + sys/decklink/gstdecklinkaudiosrc.cpp | 2 +- + sys/decklink/gstdecklinkvideosink.cpp | 2 +- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp +index 464b0de9d..9fb7246d3 100644 +--- a/sys/decklink/gstdecklink.cpp ++++ b/sys/decklink/gstdecklink.cpp +@@ -617,7 +617,7 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f, + "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d, + "interlace-mode", G_TYPE_STRING, + mode->interlaced ? "interleaved" : "progressive", +- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL); ++ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL); + + if (input && mode->interlaced) { + if (mode->tff) +@@ -632,16 +632,16 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f, + case bmdFormat8BitYUV: /* '2vuy' */ + gst_structure_set (s, "format", G_TYPE_STRING, "UYVY", + "colorimetry", G_TYPE_STRING, mode->colorimetry, +- "chroma-site", G_TYPE_STRING, "mpeg2", NULL); ++ "chroma-site", G_TYPE_STRING, "mpeg2", (void*)NULL); + break; + case bmdFormat10BitYUV: /* 'v210' */ +- gst_structure_set (s, "format", G_TYPE_STRING, "v210", NULL); ++ gst_structure_set (s, "format", G_TYPE_STRING, "v210", (void*)NULL); + break; + case bmdFormat8BitARGB: /* 'ARGB' */ +- gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", NULL); ++ gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", (void*)NULL); + break; + case bmdFormat8BitBGRA: /* 'BGRA' */ +- gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", NULL); ++ gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", (void*)NULL); + break; + case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */ + case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */ +diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp +index 2fef934c8..c47229abf 100644 +--- a/sys/decklink/gstdecklinkaudiosrc.cpp ++++ b/sys/decklink/gstdecklinkaudiosrc.cpp +@@ -379,7 +379,7 @@ gst_decklink_audio_src_start (GstDecklinkAudioSrc * self) + g_mutex_unlock (&self->input->lock); + + if (videosrc) { +- g_object_get (videosrc, "connection", &vconn, NULL); ++ g_object_get (videosrc, "connection", &vconn, (void *) NULL); + gst_object_unref (videosrc); + + switch (vconn) { +diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp +index 7aea3f7a2..4864508bb 100644 +--- a/sys/decklink/gstdecklinkvideosink.cpp ++++ b/sys/decklink/gstdecklinkvideosink.cpp +@@ -285,7 +285,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure, + gpointer user_data) + { + gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, +- G_MAXINT, 1, NULL); ++ G_MAXINT, 1, (void *) NULL); + + return TRUE; + } diff --git a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch new file mode 100644 index 0000000..7758300 --- /dev/null +++ b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch @@ -0,0 +1,26 @@ +From e7914eb0baa3530a5075c0d3db7936ccddd8e3fe Mon Sep 17 00:00:00 2001 +From: Andre McCurdy <armccurdy@gmail.com> +Date: Tue, 26 Jan 2016 15:16:01 -0800 +Subject: [PATCH] fix maybe-uninitialized warnings when compiling with -Os + +Upstream-Status: Pending + +Signed-off-by: Andre McCurdy <armccurdy@gmail.com> + +--- + gst-libs/gst/codecparsers/gstvc1parser.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c +index ac579712d..1686f6081 100644 +--- a/gst-libs/gst/codecparsers/gstvc1parser.c ++++ b/gst-libs/gst/codecparsers/gstvc1parser.c +@@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size, + GstVC1SeqLayer * seqlayer) + { + guint32 tmp; +- guint8 tmp8; ++ guint8 tmp8 = 0; + guint8 structA[8] = { 0, }; + guint8 structB[12] = { 0, }; + GstBitReader br; diff --git a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch new file mode 100644 index 0000000..dc3a8c6 --- /dev/null +++ b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch @@ -0,0 +1,47 @@ +From 387886b05f4ae0de9b7faf1f9ca66040d38d19ee Mon Sep 17 00:00:00 2001 +From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> +Date: Sun, 26 Jan 2020 19:55:06 +0000 +Subject: [PATCH] opencv: resolve missing opencv data dir in yocto build + +When Yocto build is performed, opencv searches for data dir using simple +test command, and this fails because pkg-config provides an absolute +path on the target which needs to be prepended by PKG_CONFIG_SYSROOT_DIR +in order for the 'test' utility to pick up the absolute path. + +Upstream-Status: Inappropriate [OE-specific] + +Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> + +--- + ext/opencv/meson.build | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build +index f38b55dfe..a26403482 100644 +--- a/ext/opencv/meson.build ++++ b/ext/opencv/meson.build +@@ -78,20 +78,21 @@ else + endif + + if opencv_found ++ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip() + opencv_prefix = opencv_dep.get_pkgconfig_variable('prefix') + gstopencv_cargs += ['-DOPENCV_PREFIX="' + opencv_prefix + '"'] + + # Check the data dir used by opencv for its xml data files + # Use prefix from pkg-config to be compatible with cross-compilation +- r = run_command('test', '-d', opencv_prefix + '/share/opencv') ++ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/opencv') + if r.returncode() == 0 + gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv"' + else +- r = run_command('test', '-d', opencv_prefix + '/share/OpenCV') ++ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/OpenCV') + if r.returncode() == 0 + gstopencv_cargs += '-DOPENCV_PATH_NAME="OpenCV"' + else +- r = run_command('test', '-d', opencv_prefix + '/share/opencv4') ++ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/opencv4') + if r.returncode() == 0 + gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv4"' + else diff --git a/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb new file mode 100644 index 0000000..8064d43 --- /dev/null +++ b/backports/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb @@ -0,0 +1,175 @@ +require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc + +DEPENDS_append_imxgpu2d = " virtual/libg2d" +DEPENDS_append_mx8 = " libdrm" + +PACKAGECONFIG_append_mx8 = " kms" + +DEFAULT_PREFERENCE = "-1" + +PACKAGE_ARCH_imxpxp = "${MACHINE_SOCARCH}" +PACKAGE_ARCH_mx8 = "${MACHINE_SOCARCH}" + +GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https" +SRCBRANCH = "MM_04.05.07_2011_L5.4.70" + +SRC_URI = " \ + ${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} \ + file://0001-ext-wayland-fix-meson-build-in-nxp-fork.patch \ + file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \ + file://opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ + file://0001-opencv-allow-compilation-against-4.4.x.patch \ + file://0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch \ + file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \ + file://avoid-including-sys-poll.h-directly.patch \ + file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \ +" +SRCREV = "cf7f2d0125424ce0d63ddc7f1eadc9ef71d10db1" + +S = "${WORKDIR}/git" + +LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \ + file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 " + +DEPENDS += "gstreamer1.0-plugins-base" + +inherit gobject-introspection + +PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}" +PACKAGECONFIG_GL_imxpxp = "gles2" + +PACKAGECONFIG ??= " \ + ${GSTREAMER_ORC} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ + ${PACKAGECONFIG_GL} \ + bz2 closedcaption curl dash dtls hls rsvg sbc smoothstreaming sndfile \ + ttml uvch264 webp \ +" + +PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass" +PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5" +PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" +PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo" +PACKAGECONFIG[curl] = "-Dcurl=enabled,-Dcurl=disabled,curl" +PACKAGECONFIG[dash] = "-Ddash=enabled,-Ddash=disabled,libxml2" +PACKAGECONFIG[dc1394] = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394" +PACKAGECONFIG[directfb] = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb" +PACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl" +PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac" +PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2" +PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth" +PACKAGECONFIG[hls] = "-Dhls=enabled -Dhls-crypto=nettle,-Dhls=disabled,nettle" +# the gl packageconfig enables OpenGL elements that haven't been ported +# to -base yet. They depend on the gstgl library in -base, so we do +# not add GL dependencies here, since these are taken care of in -base. +PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled," +PACKAGECONFIG[gles2] = ",,virtual/libgles2" +PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm" +PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265" +PACKAGECONFIG[libmms] = "-Dlibmms=enabled,-Dlibmms=disabled,libmms" +PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2" +PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug" +PACKAGECONFIG[msdk] = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk" +PACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon" +PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft" +PACKAGECONFIG[opencv] = "-Dopencv=enabled,-Dopencv=disabled,opencv" +PACKAGECONFIG[openh264] = "-Dopenh264=enabled,-Dopenh264=disabled,openh264" +PACKAGECONFIG[openjpeg] = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg" +PACKAGECONFIG[openmpt] = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt" +# the opus encoder/decoder elements are now in the -base package, +# but the opus parser remains in -bad +PACKAGECONFIG[opusparse] = "-Dopus=enabled,-Dopus=disabled,libopus" +PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav" +PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg" +PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump" +PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc" +PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled,usrsctp" +PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2" +PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" +PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp" +PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa" +PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo" +PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev" +PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc" +PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc" +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader" +PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm" +PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" +PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice" +PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing" +PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar" + +# Following package config in not available in NXP fork: +#PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms" + +# these plugins currently have no corresponding library in OE-core or meta-openembedded: +# aom androidmedia applemedia bs2b chromaprint d3dvideosink +# directsound dts fdkaac gme gsm iq kate ladspa lv2 mpeg2enc +# mplex musepack nvdec nvenc ofa openexr openni2 opensles +# soundtouch spandsp srt teletext vdpau wasapi wildmidi winks +# winscreencap wpe x265 + +EXTRA_OEMESON += " \ + -Ddecklink=enabled \ + -Ddvb=enabled \ + -Dfbdev=enabled \ + -Dipcpipeline=enabled \ + -Dnetsim=enabled \ + -Dshm=enabled \ + -Daom=disabled \ + -Dandroidmedia=disabled \ + -Dapplemedia=disabled \ + -Dbs2b=disabled \ + -Dchromaprint=disabled \ + -Dd3dvideosink=disabled \ + -Ddirectsound=disabled \ + -Ddts=disabled \ + -Dfdkaac=disabled \ + -Dflite=disabled \ + -Dgme=disabled \ + -Dgsm=disabled \ + -Diqa=disabled \ + -Dkate=disabled \ + -Dladspa=disabled \ + -Dlv2=disabled \ + -Dmpeg2enc=disabled \ + -Dmplex=disabled \ + -Dmsdk=disabled \ + -Dmusepack=disabled \ + -Dnvdec=disabled \ + -Dnvenc=disabled \ + -Dofa=disabled \ + -Dopenexr=disabled \ + -Dopenmpt=disabled \ + -Dopenni2=disabled \ + -Dopensles=disabled \ + -Dsoundtouch=disabled \ + -Dspandsp=disabled \ + -Dsrt=disabled \ + -Dteletext=disabled \ + -Dvdpau=disabled \ + -Dwasapi=disabled \ + -Dwildmidi=disabled \ + -Dwinks=disabled \ + -Dwinscreencap=disabled \ + -Dwpe=disabled \ + -Dx265=disabled \ + -Dzbar=disabled \ + ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-Dyadif=disabled", "", d)} \ +" + +export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" + +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs" +FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*" +FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs" +# include fragment shaders +FILES_${PN}-opengl += "/usr/share/*.fs" + +COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" |