From 35b8b9bd9863de208ab60e33b55f10ee43e2619b Mon Sep 17 00:00:00 2001 From: Carlos Rafael Giani Date: Fri, 8 Jan 2016 09:43:25 +0100 Subject: gstreamer1.0-plugins-imx: Update to version 0.12.0 Changes: * vpu: - Completely rewritten plugin code; elements now based on libimxvpuapi instead of libfslvpuwrap - imxvpuenc_h264 inserts SPS/PPS data in front of I/IDR frames - imxvpuenc_mjpeg's quality factor actually has an effect, and is equivalent to the libjpeg's quality factor (it is used in exactly the same way to scale the quantization matrix' coefficients) - the encoder's output buffers no longer have to use DMA memory; they use regular system memory instead - new support in imxvpudec (referred to as "chroma interleaving") for NV12, NV16, NV24 as output formats as an alternative to the I420, Y42B, Y444 formats - removed all of the system frame number tracking code, since it is unnecessary; Instead, the libimxvpuapi's context fields are used to associate input/output frames with GstVideoCodecFrame system frame numbers - fix memory leaks related to missing buffer pool unref'ing * imxv4l2videosrc: - support for crop metadata - element uses the width, height, etc. of the format that the device actually uses during operation (instead of default values) - autofocus control support via GstPhotography - fix incorrect GLib warnings - fix segmentation fault when shutting down the element * eglvivsink: - remove extra g_free() calls, which lead to runtime errors - remove GLESv2 VIVANTE link dependencies - add Android platform - manually retrieve VIV direct texture functions with this and the link dependency elimination, this means that for platforms except the framebuffer one, no Vivante specific headers and libraries are needed anymore - fix blocking issue in the Wayland platform mainloop * improved and expanded documentation * pxp: NV16 *is* supported after all (it was actually a bug in GStreamer pre-1.5.91) NOTE: this does not break compatibility with GStreamer versions older than 1.5.91 * compositor: Update backported aggregator code to GStreamer 1.6 * blitter: - error handling improvements - add missing buffer pool unref'ing, which lead to memory leaks - add missing compositor dependency to blitter base * uniaudio: - only build the uniaudio plugin if at least one codec was found during configuration - disable plugin if the gstaudio library is not available - add AAC profile field to the sink caps with GStreamer >= 1.4.4 to ensure the uniaudio decoder is only used for AAC-LC data * ipu: increase fill frame width from 8 to 64 pixels to make IPU fill operations work with pre-3.14 Freescale kernels * g2d: use padding pixels when setting surface parameters, fixing G2D failures with frame sizes that aren't aligned * wscript: - improve Android support - fix installation paths for the common, blitter, compositor libraries Signed-off-by: Carlos Rafael Giani Signed-off-by: Otavio Salvador --- .../gstreamer/gstreamer1.0-plugins-imx_0.11.1.bb | 45 -------------------- .../gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb | 49 ++++++++++++++++++++++ 2 files changed, 49 insertions(+), 45 deletions(-) delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.11.1.bb create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.11.1.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.11.1.bb deleted file mode 100644 index b168ef7..0000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.11.1.bb +++ /dev/null @@ -1,45 +0,0 @@ -DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms" -LICENSE = "LGPLv2+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" -SECTION = "multimedia" -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base imx-gpu-viv libfslcodec libfslvpuwrap virtual/kernel virtual/egl \ - virtual/libgles2 ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}" -# 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 and -bad recipes are built -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" - -SRCBRANCH ?= "master" -SRCREV = "6cbb90f51b12588bb4cb146cb229bf3bad39afc4" -SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}" - -S = "${WORKDIR}/git" - -inherit waf - -do_compile[depends] += "virtual/kernel:do_shared_workdir" - -# configure the eglvivsink element to use the appropriate EGL platform code -# X11 if x11 is present in DISTRO_FEATURES -# Wayland if x11 is not present in DISTRO_FEATURES, but wayland is -# Framebuffer otherwise -EGLVIVSINK_PLATFORM = "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', \ - base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \ - 'fb', d),d)}" - -EXTRA_OECONF = "--egl-platform=${EGLVIVSINK_PLATFORM} --kernel-headers=${STAGING_KERNEL_DIR}/include" - -# LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0) -LIBV = "1.0" -require recipes-multimedia/gstreamer/gst-plugins-package.inc - -# the following line is required to produce one package for each plugin -PACKAGES_DYNAMIC = "^${PN}-.*" - -COMPATIBLE_MACHINE = "(mx6)" - -# disable the false alarm (the "it isn't a build dependency" QA warning) -INSANE_SKIP_gstreamer1.0-plugins-imx-imxaudio = "build-deps" -INSANE_SKIP_gstreamer1.0-plugins-imx-imxvpu = "build-deps" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb new file mode 100644 index 0000000..eaccb29 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb @@ -0,0 +1,49 @@ +DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" +SECTION = "multimedia" +# gstreamer1.0-plugins-bad is in DEPENDS because imxv4l2videosrc requires +# the GstPhotography headers and libraries +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad imx-gpu-viv \ + libfslcodec libimxvpuapi virtual/kernel virtual/egl virtual/libgles2 \ + ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}" +# 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 +# build (it is not a compile-time dependency however, hence RDEPENDS and not DEPENDS) +RDEPENDS_gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good" +RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers" +RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad" + +SRCBRANCH ?= "master" +SRCREV = "f8ad953c458be6a89f474a948b6401664a6a1745" +SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}" + +S = "${WORKDIR}/git" + +inherit waf + +do_compile[depends] += "virtual/kernel:do_shared_workdir" + +# configure the eglvivsink element to use the appropriate EGL platform code +# X11 if x11 is present in DISTRO_FEATURES +# Wayland if x11 is not present in DISTRO_FEATURES, but wayland is +# Framebuffer otherwise +EGLVIVSINK_PLATFORM = "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', \ + base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \ + 'fb', d),d)}" + +EXTRA_OECONF = "--egl-platform=${EGLVIVSINK_PLATFORM} --kernel-headers=${STAGING_KERNEL_DIR}/include" + +# LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0) +LIBV = "1.0" +require recipes-multimedia/gstreamer/gst-plugins-package.inc + +# the following line is required to produce one package for each plugin +PACKAGES_DYNAMIC = "^${PN}-.*" + +COMPATIBLE_MACHINE = "(mx6)" + +# disable the false alarm (the "it isn't a build dependency" QA warning) +INSANE_SKIP_gstreamer1.0-plugins-imx-imxaudio = "build-deps" +INSANE_SKIP_gstreamer1.0-plugins-imx-imxvpu = "build-deps" -- cgit v1.2.3-54-g00ecf