From bcc78aa48bca58fd2d1da97fefc6a357d93e50e4 Mon Sep 17 00:00:00 2001 From: Carlos Rafael Giani Date: Wed, 11 May 2022 07:55:17 +0200 Subject: libimxvpuapi2: Upgrade to version 2.2.1 * Add option to not compile examples * imx8m-hantro: Allow for reusing decoder after drain mode finishes * imx6-coda: Reset drain mode after EOS processed * imx6-coda: Reset drain mode flags when flushing * Use libimxdmabuffer 1.1.2 sync access functions to ensure cache coherence * Add imx_vpu_api_is_color_format_10bit() function * Documentation fixes Signed-off-by: Carlos Rafael Giani --- .../libimxvpuapi/libimxvpuapi2_2.2.0.bb | 26 ---------------------- .../libimxvpuapi/libimxvpuapi2_2.2.1.bb | 26 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 26 deletions(-) delete mode 100644 recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.2.0.bb create mode 100644 recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.2.1.bb diff --git a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.2.0.bb b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.2.0.bb deleted file mode 100644 index cefd0112..00000000 --- a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.2.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -DESCRIPTION = "frontend for the i.MX6 / i.MX8 VPU hardware video engines" -HOMEPAGE = "https://github.com/Freescale/libimxvpuapi" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324" -SECTION = "multimedia" -DEPENDS = "virtual/imxvpu libimxdmabuffer" - -PV .= "+git${SRCPV}" - -SRCBRANCH ?= "master" -SRCREV = "a650f13fb5de94e0c7c9e77f4d07ea275ea80dac" -SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https" - -S = "${WORKDIR}/git" - -inherit waf pkgconfig use-imx-headers - -IMX_PLATFORM:mx6-nxp-bsp = "imx6" -IMX_PLATFORM:mx8mq-nxp-bsp = "imx8m" -IMX_PLATFORM:mx8mm-nxp-bsp = "imx8mm" -IMX_PLATFORM:mx8mp-nxp-bsp = "imx8mm" - -EXTRA_OECONF = "--imx-platform=${IMX_PLATFORM} --libdir=${libdir} --imx-headers=${STAGING_INCDIR_IMX} --sysroot-path=${RECIPE_SYSROOT}" - -PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(imxvpu)" diff --git a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.2.1.bb b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.2.1.bb new file mode 100644 index 00000000..41b14de2 --- /dev/null +++ b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.2.1.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "frontend for the i.MX6 / i.MX8 VPU hardware video engines" +HOMEPAGE = "https://github.com/Freescale/libimxvpuapi" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324" +SECTION = "multimedia" +DEPENDS = "virtual/imxvpu libimxdmabuffer" + +PV .= "+git${SRCPV}" + +SRCBRANCH ?= "master" +SRCREV = "e81db32d10aee42c74ab50172487e04cbec6cbe0" +SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https" + +S = "${WORKDIR}/git" + +inherit waf pkgconfig use-imx-headers + +IMX_PLATFORM:mx6-nxp-bsp = "imx6" +IMX_PLATFORM:mx8mq-nxp-bsp = "imx8m" +IMX_PLATFORM:mx8mm-nxp-bsp = "imx8mm" +IMX_PLATFORM:mx8mp-nxp-bsp = "imx8mm" + +EXTRA_OECONF = "--imx-platform=${IMX_PLATFORM} --libdir=${libdir} --imx-headers=${STAGING_INCDIR_IMX} --sysroot-path=${RECIPE_SYSROOT}" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "(imxvpu)" -- cgit v1.2.3-54-g00ecf From fb06b946552e5cba9822825bbd386c80d59ac2b1 Mon Sep 17 00:00:00 2001 From: Carlos Rafael Giani Date: Wed, 11 May 2022 07:56:54 +0200 Subject: gstreamer1.0-plugins-imx: Upgrade to version 2.1.0 * meson: * New sysroot option in case the external sysroot property is unusable Normally, this option should not be needed. However, with some BSPs whose sysroot properties are broken, having this option is useful. * Reduce minimum required Meson version from 0.54.0 to 0.53.2 This is mainly introduced for Yocto Dunfell support. (Meson <0.54 requires the new sysroot property though.) * Cleanup deprecated code * imx2d: UYVY and YUYV formats are supported by G2D if it is emulated on top of the DPU (found in i.MX8 QuadMax and i.MX8 QuadXPlus SocS). * vpu: * Correctly handle case when a stream buffer is not needed * Disable frame reordering if it is not needed * imxvpudec_h264 needs au alignment to guarantee complete frames * Unlock decoder_context on fatal error while decoding * v4l2video: * v4l2videosrc: Skip allocation pools with NULL buffer pool Prevents assertions like: gst_buffer_pool_has_option: assertion 'GST_IS_BUFFER_POOL (pool)' failed See: https://github.com/Freescale/gstreamer-imx/issues/304 * v4l2videosrc: Skip allocation params with NULL allocator Prevents assertions like: gst_object_unref: assertion 'object != NULL' failed See: https://github.com/Freescale/gstreamer-imx/issues/304 * v4l2videosrc: Use correct ioctl for frame intervals * Minor logging fixes Signed-off-by: Carlos Rafael Giani --- .../gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb | 62 ---------------------- .../gstreamer/gstreamer1.0-plugins-imx_2.1.0.bb | 62 ++++++++++++++++++++++ 2 files changed, 62 insertions(+), 62 deletions(-) delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.1.0.bb diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb deleted file mode 100644 index 8c05f830..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright (C) 2018 O.S. Systems Software LTDA. -DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms" -LICENSE = "LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" -SECTION = "multimedia" -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base libimxdmabuffer" -# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers -# for the uniaudio decoder, videoparsersbad for the VPU video decoder -# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is -# built (it is not a compile-time dependency however, hence RDEPENDS and not DEPENDS) -RDEPENDS:gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good gstreamer1.0-plugins-bad" -RDEPENDS:gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers" -RDEPENDS:gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad" - -PV .= "+git${SRCPV}" - -SRCBRANCH ?= "master" -SRCREV = "11e3a555a280f97d55d5243e8259a255b3ed14d0" -SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH};protocol=https" - -S = "${WORKDIR}/git" - -inherit pkgconfig meson use-imx-headers - -# libg2d on i.MX8 SoCs with a DPU is emulated via the DPU. -# That particular libg2d .so depends on libdrm, however. -# Also, due to behavioral differences, an additional flag -# is needed to improve performance. -LIBG2D_DPU_OPTION = "-Dg2d-based-on-dpu=false" -LIBG2D_DEPENDENCIES = "virtual/libg2d" -LIBG2D_DPU_OPTION:imxdpu = "-Dg2d-based-on-dpu=true" -LIBG2D_DEPENDENCIES:imxdpu = "virtual/libg2d libdrm" - -EXTRA_OEMESON += "-Dimx-headers-path=${STAGING_INCDIR_IMX}" - -PACKAGECONFIG ?= "uniaudiodec" -PACKAGECONFIG:append:imxgpu2d = " g2d" -PACKAGECONFIG:append:imxvpu = " vpu" -PACKAGECONFIG:append:imxipu = " ipu" -PACKAGECONFIG:append:imxpxp = " pxp" -# The custom imxv4l2 elements are only available on the i.MX6. -# The 2D blitter sinks require an MXC framebuffer, which -# is not available anymore on the i.MX8 (since these SoCs -# now use KMS instead of the old Linux framebuffer). -PACKAGECONFIG:append:mx6-nxp-bsp = " imx2dvideosink v4l2" -PACKAGECONFIG:append:mx7-nxp-bsp = " imx2dvideosink" - -PACKAGECONFIG[g2d] = "-Dg2d=enabled ${LIBG2D_DPU_OPTION},-Dg2d=disabled,${LIBG2D_DEPENDENCIES}" -PACKAGECONFIG[pxp] = "-Dpxp=enabled,-Dpxp=disabled," -PACKAGECONFIG[ipu] = "-Dipu=enabled,-Dipu=disabled," -PACKAGECONFIG[vpu] = "-Dvpu=enabled,-Dvpu=disabled,libimxvpuapi2" -PACKAGECONFIG[imx2dvideosink] = "-Dimx2d-videosink=true,-Dimx2d-videosink=false," -PACKAGECONFIG[v4l2] = "-Dv4l2=true,-Dv4l2=false," -PACKAGECONFIG[uniaudiodec] = "-Duniaudiodec=enabled,-Duniaudiodec=disabled,imx-codec" -PACKAGECONFIG[mp3encoder] = "-Dmp3encoder=enabled,-Dmp3encoder=disabled,imx-codec" - -require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc - -# the following line is required to produce one package for each plugin -PACKAGES_DYNAMIC = "^${PN}-.*" - -COMPATIBLE_MACHINE = "(mx6dl-nxp-bsp|mx6q-nxp-bsp|mx6sl-nxp-bsp|mx6sx-nxp-bsp|mx6ul-nxp-bsp|mx6ull-nxp-bsp|mx7d-nxp-bsp|mx8-nxp-bsp)" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.1.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.1.0.bb new file mode 100644 index 00000000..fb18f1bb --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.1.0.bb @@ -0,0 +1,62 @@ +# Copyright (C) 2018 O.S. Systems Software LTDA. +DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms" +LICENSE = "LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" +SECTION = "multimedia" +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base libimxdmabuffer" +# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers +# for the uniaudio decoder, videoparsersbad for the VPU video decoder +# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is +# built (it is not a compile-time dependency however, hence RDEPENDS and not DEPENDS) +RDEPENDS:gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good gstreamer1.0-plugins-bad" +RDEPENDS:gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers" +RDEPENDS:gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad" + +PV .= "+git${SRCPV}" + +SRCBRANCH ?= "master" +SRCREV = "b1e5cca1a6df9d2c0dc505ae222775798108d340" +SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH};protocol=https" + +S = "${WORKDIR}/git" + +inherit pkgconfig meson use-imx-headers + +# libg2d on i.MX8 SoCs with a DPU is emulated via the DPU. +# That particular libg2d .so depends on libdrm, however. +# Also, due to behavioral differences, an additional flag +# is needed to improve performance. +LIBG2D_DPU_OPTION = "-Dg2d-based-on-dpu=false" +LIBG2D_DEPENDENCIES = "virtual/libg2d" +LIBG2D_DPU_OPTION:imxdpu = "-Dg2d-based-on-dpu=true" +LIBG2D_DEPENDENCIES:imxdpu = "virtual/libg2d libdrm" + +EXTRA_OEMESON += "-Dimx-headers-path=${STAGING_INCDIR_IMX}" + +PACKAGECONFIG ?= "uniaudiodec" +PACKAGECONFIG:append:imxgpu2d = " g2d" +PACKAGECONFIG:append:imxvpu = " vpu" +PACKAGECONFIG:append:imxipu = " ipu" +PACKAGECONFIG:append:imxpxp = " pxp" +# The custom imxv4l2 elements are only available on the i.MX6. +# The 2D blitter sinks require an MXC framebuffer, which +# is not available anymore on the i.MX8 (since these SoCs +# now use KMS instead of the old Linux framebuffer). +PACKAGECONFIG:append:mx6-nxp-bsp = " imx2dvideosink v4l2" +PACKAGECONFIG:append:mx7-nxp-bsp = " imx2dvideosink" + +PACKAGECONFIG[g2d] = "-Dg2d=enabled ${LIBG2D_DPU_OPTION},-Dg2d=disabled,${LIBG2D_DEPENDENCIES}" +PACKAGECONFIG[pxp] = "-Dpxp=enabled,-Dpxp=disabled," +PACKAGECONFIG[ipu] = "-Dipu=enabled,-Dipu=disabled," +PACKAGECONFIG[vpu] = "-Dvpu=enabled,-Dvpu=disabled,libimxvpuapi2" +PACKAGECONFIG[imx2dvideosink] = "-Dimx2d-videosink=true,-Dimx2d-videosink=false," +PACKAGECONFIG[v4l2] = "-Dv4l2=true,-Dv4l2=false," +PACKAGECONFIG[uniaudiodec] = "-Duniaudiodec=enabled,-Duniaudiodec=disabled,imx-codec" +PACKAGECONFIG[mp3encoder] = "-Dmp3encoder=enabled,-Dmp3encoder=disabled,imx-codec" + +require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc + +# the following line is required to produce one package for each plugin +PACKAGES_DYNAMIC = "^${PN}-.*" + +COMPATIBLE_MACHINE = "(mx6dl-nxp-bsp|mx6q-nxp-bsp|mx6sl-nxp-bsp|mx6sx-nxp-bsp|mx6ul-nxp-bsp|mx6ull-nxp-bsp|mx7d-nxp-bsp|mx8-nxp-bsp)" -- cgit v1.2.3-54-g00ecf