From 4e1301127023dcf114ae2981cfbbea02154f28f4 Mon Sep 17 00:00:00 2001 From: Yuqing Zhu Date: Sun, 30 Sep 2018 16:52:45 +0800 Subject: imx-gst1.0-plugin: Upgrade version from 4.4.0 to 4.4.2 Update EULA to V26 Enable vpu encoder 8MM Enalbed date_time in 8MM 1. Refine date time overlay code 2. Use SW compositor in 8MM Enalbe grecorder in imx8mm 1. Update video source and sink to autovideo source/sink 2. Added VP8 encoding format 3. Change audio recoder to mp1 layer2 to use opensource encoder 4. Remove videodetect with compiling macro 5. Update grecorder command option Add support for disable audio in recording Fix ion.h header inclusion to be standard Signed-off-by: Yuqing Zhu Signed-off-by: Otavio Salvador --- ...plugin-Fix-ion.h-header-inclusion-to-be-s.patch | 44 +++++++++++ .../gstreamer/imx-gst1.0-plugin_4.4.0.bb | 86 --------------------- .../gstreamer/imx-gst1.0-plugin_4.4.2.bb | 88 ++++++++++++++++++++++ 3 files changed, 132 insertions(+), 86 deletions(-) create mode 100644 recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-imx-gst1.0-plugin-Fix-ion.h-header-inclusion-to-be-s.patch delete mode 100644 recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.4.0.bb create mode 100644 recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.4.2.bb (limited to 'recipes-multimedia/gstreamer') diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-imx-gst1.0-plugin-Fix-ion.h-header-inclusion-to-be-s.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-imx-gst1.0-plugin-Fix-ion.h-header-inclusion-to-be-s.patch new file mode 100644 index 00000000..4e861a5d --- /dev/null +++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-imx-gst1.0-plugin-Fix-ion.h-header-inclusion-to-be-s.patch @@ -0,0 +1,44 @@ +From e4c96421700ecd008814bceceaf03f0ee9323c02 Mon Sep 17 00:00:00 2001 +From: Yuqing Zhu +Date: Thu, 27 Sep 2018 16:00:55 +0800 +Subject: [PATCH] imx-gst1.0-plugin: Fix ion.h header inclusion to be standard + +NXP "solution" was to manually copy the header to include/linux. +Let's point the Makefile to the proper (mainline) location instead: +https://elixir.bootlin.com/linux/v4.17/source/drivers/staging/android/uapi/ion.h + +Signed-off-by: Yuqing Zhu +--- + configure.ac | 2 +- + libs/gstimxcommon.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7b2709d..d94e3a8 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -216,7 +216,7 @@ dnl check ion allocator headfile + old_CFLAGS=$CFLAGS + PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= 1.14, CFLAGS="$CFLAGS `$PKG_CONFIG --cflags gstreamer-allocators-1.0`",\ + CFLAGS="$CFLAGS `$PKG_CONFIG --cflags gstreamer-bad-allocators-1.0`") +-AC_CHECK_HEADERS([linux/ion.h gst/allocators/gstionmemory.h], HAVE_ION="yes", HAVE_ION="no") ++AC_CHECK_HEADERS([ion.h gst/allocators/gstionmemory.h], HAVE_ION="yes", HAVE_ION="no") + AM_CONDITIONAL(USE_ION, test "x$HAVE_ION" = "xyes") + CFLAGS=$old_CFLAGS + +diff --git a/libs/gstimxcommon.c b/libs/gstimxcommon.c +index eb808b9..c02ab5f 100644 +--- a/libs/gstimxcommon.c ++++ b/libs/gstimxcommon.c +@@ -26,7 +26,7 @@ + #include + #include + #ifdef USE_ION +-#include ++#include + #endif + const char *dev_ion = "/dev/ion"; + +-- +1.9.1 + diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.4.0.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.4.0.bb deleted file mode 100644 index 00182bbd..00000000 --- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.4.0.bb +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (C) 2014,2016 Freescale Semiconductor -# Copyright 2017-2018 NXP -# Copyright (C) 2012-2015 O.S. Systems Software LTDA. -# Released under the MIT license (see COPYING.MIT for the terms) - -DESCRIPTION = "Gstreamer freescale plugins" -LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1" -SECTION = "multimedia" - -DEPENDS = "imx-codec imx-parser virtual/kernel gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" -DEPENDS_append_mx6 = " imx-lib" -DEPENDS_append_mx7 = " imx-lib" -DEPENDS_append_imxvpu = " imx-vpuwrap libdrm" - -# For backwards compatibility -RREPLACES_${PN} = "gst1.0-fsl-plugin" -RPROVIDES_${PN} = "gst1.0-fsl-plugin" -RCONFLICTS_${PN} = "gst1.0-fsl-plugin" - -LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ - file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" - -IMXGST_SRC ?= "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https" -SRCBRANCH = "MM_04.04.00_1805_L4.9.88_MX8QXP_BETA2" - -SRC_URI = "${IMXGST_SRC};branch=${SRCBRANCH}" -SRCREV = "ded3b04018ca71306da9bc38b0037b9ea99abd29" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -# Make sure kernel sources are available -do_configure[depends] += "virtual/kernel:do_shared_workdir" - -PLATFORM_mx6 = "MX6" -PLATFORM_mx6sl = "MX6SL" -PLATFORM_mx6sx = "MX6SX" -PLATFORM_mx6ul = "MX6UL" -PLATFORM_mx6sll = "MX6SLL" -PLATFORM_mx7= "MX7D" -PLATFORM_mx7ulp= "MX7ULP" -PLATFORM_mx8 = "MX8" - -# Todo add a mechanism to map possible build targets -EXTRA_OECONF = "PLATFORM=${PLATFORM} \ - CPPFLAGS="-I${STAGING_KERNEL_BUILDDIR}/include/generated/uapi -I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include" \ - CROSS_ROOT=${PKG_CONFIG_SYSROOT_DIR} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', bb.utils.contains('DISTRO_FEATURES', 'x11', '--disable-x11', '', d), '', d)}" - -PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN}-librecorder-engine ${PN}-libplayengine" - -# Add codec list that the beep plugin run-time depended -BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis" -RDEPENDS_${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux " - -# overlaysink rely on G2D, -# cannot be supported on i.MX6SLL & i.MX6UL & i.MX6ULL & i.MX7D -PACKAGECONFIG ?= "" -PACKAGECONFIG_imxgpu2d = "overlaysink" - - -# FIXME: Add all features -# feature from excluded mm packages -PACKAGECONFIG[ac3] += ",,imx-ac3codec,imx-ac3codec" -# feature from special mm packages -PACKAGECONFIG[aacp] += ",,imx-aacpcodec,imx-aacpcodec" -MSDEPENDS = "imx-msparser imx-mscodec" -PACKAGECONFIG[wma10dec] += ",,${MSDEPENDS},${MSDEPENDS}" -PACKAGECONFIG[wma8enc] += "--enable-wma8enc,--disable-wma8enc,${MSDEPENDS},${MSDEPENDS}" -OVDEPENDS = "virtual/libg2d" -PACKAGECONFIG[overlaysink] += "--enable-overlaysink,--disable-overlaysink, ${OVDEPENDS}" - -FILES_${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}" - -FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug" -FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc" -FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" -FILES_${PN}-gplay = "${bindir}/gplay-1.0" -FILES_${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}" -FILES_${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}" -FILES_${PN}-grecorder = "${bindir}/grecorder-1.0" -FILES_${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}" -FILES_${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}" - -COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.4.2.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.4.2.bb new file mode 100644 index 00000000..07a52c67 --- /dev/null +++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.4.2.bb @@ -0,0 +1,88 @@ +# Copyright (C) 2014,2016 Freescale Semiconductor +# Copyright 2017-2018 NXP +# Copyright (C) 2012-2015 O.S. Systems Software LTDA. +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Gstreamer freescale plugins" +LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1" +SECTION = "multimedia" + +DEPENDS = "imx-codec imx-parser virtual/kernel gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" +DEPENDS_append_mx6 = " imx-lib" +DEPENDS_append_mx7 = " imx-lib" +DEPENDS_append_imxvpu = " imx-vpuwrap libdrm" + +# For backwards compatibility +RREPLACES_${PN} = "gst1.0-fsl-plugin" +RPROVIDES_${PN} = "gst1.0-fsl-plugin" +RCONFLICTS_${PN} = "gst1.0-fsl-plugin" + +LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ + file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" + +IMXGST_SRC ?= "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https" +SRCBRANCH = "MM_04.04.02_1808_L4.9.123_MX8MM_GA" + +SRC_URI = "${IMXGST_SRC};branch=${SRCBRANCH} \ + file://0001-imx-gst1.0-plugin-Fix-ion.h-header-inclusion-to-be-s.patch \ +" +SRCREV = "23dd0315c7087e1c8eba836b9a458d7906187c7e" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +# Make sure kernel sources are available +do_configure[depends] += "virtual/kernel:do_shared_workdir" + +PLATFORM_mx6 = "MX6" +PLATFORM_mx6sl = "MX6SL" +PLATFORM_mx6sx = "MX6SX" +PLATFORM_mx6ul = "MX6UL" +PLATFORM_mx6sll = "MX6SLL" +PLATFORM_mx7= "MX7D" +PLATFORM_mx7ulp= "MX7ULP" +PLATFORM_mx8 = "MX8" + +# Todo add a mechanism to map possible build targets +EXTRA_OECONF = "PLATFORM=${PLATFORM} \ + CPPFLAGS="-I${STAGING_KERNEL_BUILDDIR}/include/generated/uapi -I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include -I${STAGING_KERNEL_DIR}/drivers/staging/android/uapi" \ + CROSS_ROOT=${PKG_CONFIG_SYSROOT_DIR} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', bb.utils.contains('DISTRO_FEATURES', 'x11', '--disable-x11', '', d), '', d)}" + +PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN}-librecorder-engine ${PN}-libplayengine" + +# Add codec list that the beep plugin run-time depended +BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis" +RDEPENDS_${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux " + +# overlaysink rely on G2D, +# cannot be supported on i.MX6SLL & i.MX6UL & i.MX6ULL & i.MX7D +PACKAGECONFIG ?= "" +PACKAGECONFIG_imxgpu2d = "overlaysink" + + +# FIXME: Add all features +# feature from excluded mm packages +PACKAGECONFIG[ac3] += ",,imx-ac3codec,imx-ac3codec" +# feature from special mm packages +PACKAGECONFIG[aacp] += ",,imx-aacpcodec,imx-aacpcodec" +MSDEPENDS = "imx-msparser imx-mscodec" +PACKAGECONFIG[wma10dec] += ",,${MSDEPENDS},${MSDEPENDS}" +PACKAGECONFIG[wma8enc] += "--enable-wma8enc,--disable-wma8enc,${MSDEPENDS},${MSDEPENDS}" +OVDEPENDS = "virtual/libg2d" +PACKAGECONFIG[overlaysink] += "--enable-overlaysink,--disable-overlaysink, ${OVDEPENDS}" + +FILES_${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}" + +FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug" +FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc" +FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" +FILES_${PN}-gplay = "${bindir}/gplay-1.0" +FILES_${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}" +FILES_${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}" +FILES_${PN}-grecorder = "${bindir}/grecorder-1.0" +FILES_${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}" +FILES_${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}" + +COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" -- cgit v1.2.3-54-g00ecf