summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Rafael Giani <dv@pseudoterminal.org>2016-04-06 16:10:01 +0200
committerOtavio Salvador <otavio@ossystems.com.br>2016-04-19 15:06:34 -0300
commita619bde704545ae19e9842de3d3c358c38bdf098 (patch)
treeb44e6733ad8f8ba1cd5bd119b3e9c17ffbb7f8b5
parent1e48aee0f1e9c5ee6a22c7ca89d1b88bcca00dc0 (diff)
downloadmeta-freescale-a619bde704545ae19e9842de3d3c358c38bdf098.tar.gz
gstreamer1.0-plugins-imx: Update to version 0.12.1
The recipe now uses PACKAGECONFIG to allow for enabling/disabling plugins. Also, mx7 support has been added. Changes: * compositor: Rename ImxCompositor(Pad) to ImxVideoCompositor(Pad) This prevents conflicts if both the NXP plugins and the gstreamer-imx are installed in the same rootfs * Add switches to wscript configuration to enable/disable plugins Until now, all plugins were built (unless their dependencies were missing). On some i.MX machines, some features are missing. For example, the i.MX7 has no VPU. To ensure deterministic builds, it is useful to selectively disable plugins in the build. * ipu+pxp: : Fix deadlocks and incorrect logging in case of init error This was causing a freeze if for example one tries to use PxP elements on an i.MX6 Dual/Quad * imxv4l2videosrc fixes and enhancements: * fixes to interlacing support (incl. workarounds for analog TV input) * remove format restriction in get_caps function this removes the limitation on I420 formats * simplified determination of fps (necessary due to driver limitations) * eglvivsink: wayland: Do not commit before buffers are swapped This fixes eglSwapBuffer swaps with damaged frames * Documentation additions Adds GPU memory leak notess to the FAQ * vpu: encoder: Expose motion estimation range as property * vpu: decoder: Drop output frame if its buffer cannot be allocated Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> Reviewed-by: Gary Bisson <gary.bisson@boundarydevices.com> Tested-by: Gary Bisson <gary.bisson@boundarydevices.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb)37
1 files changed, 29 insertions, 8 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
index eaccb294..f968dbcd 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
@@ -2,11 +2,9 @@ DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
2LICENSE = "LGPLv2+" 2LICENSE = "LGPLv2+"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" 3LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
4SECTION = "multimedia" 4SECTION = "multimedia"
5# gstreamer1.0-plugins-bad is in DEPENDS because imxv4l2videosrc requires 5# gstreamer1.0-plugins-bad is in DEPENDS because the build script scans for the
6# the GstPhotography headers and libraries 6# GstPhotography headers and libraries
7DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad imx-gpu-viv \ 7DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad virtual/kernel"
8 libfslcodec libimxvpuapi virtual/kernel virtual/egl virtual/libgles2 \
9 ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
10# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers 8# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
11# for the uniaudio decoder, videoparsersbad for the VPU video decoder 9# for the uniaudio decoder, videoparsersbad for the VPU video decoder
12# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is 10# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
@@ -16,7 +14,7 @@ RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audiopar
16RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad" 14RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
17 15
18SRCBRANCH ?= "master" 16SRCBRANCH ?= "master"
19SRCREV = "f8ad953c458be6a89f474a948b6401664a6a1745" 17SRCREV = "11a7b366f211e54e0ec67c692287603a02640ff6"
20SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}" 18SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"
21 19
22S = "${WORKDIR}/git" 20S = "${WORKDIR}/git"
@@ -33,7 +31,30 @@ EGLVIVSINK_PLATFORM = "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', \
33 base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \ 31 base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
34 'fb', d),d)}" 32 'fb', d),d)}"
35 33
36EXTRA_OECONF = "--egl-platform=${EGLVIVSINK_PLATFORM} --kernel-headers=${STAGING_KERNEL_DIR}/include" 34EGL_PLATFORM_CONF = "--egl-platform=${EGLVIVSINK_PLATFORM}"
35EXTRA_OECONF = "--kernel-headers=${STAGING_KERNEL_DIR}/include"
36
37EGLVIVSINK_DEPENDS = " \
38 virtual/egl virtual/libgles2 \
39 ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', \
40 base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
41 '', d),d)}"
42
43PACKAGECONFIG ?= ""
44PACKAGECONFIG_mx6q = "uniaudiodec mp3encoder v4l2src g2d eglvivsink ipu vpu"
45PACKAGECONFIG_mx6dl = "uniaudiodec mp3encoder v4l2src pxp g2d eglvivsink ipu vpu"
46PACKAGECONFIG_mx6sx = "uniaudiodec mp3encoder v4l2src pxp g2d eglvivsink"
47PACKAGECONFIG_mx6sl = "uniaudiodec mp3encoder v4l2src pxp g2d"
48PACKAGECONFIG_mx7 = "uniaudiodec mp3encoder v4l2src pxp"
49
50PACKAGECONFIG[g2d] = ",--disable-g2d,imx-gpu-viv"
51PACKAGECONFIG[pxp] = ",--disable-pxp,"
52PACKAGECONFIG[ipu] = ",--disable-ipu,"
53PACKAGECONFIG[vpu] = ",--disable-vpu,libimxvpuapi"
54PACKAGECONFIG[eglvivsink] = "${EGL_PLATFORM_CONF},--disable-eglvivsink,${EGLVIVSINK_DEPENDS}"
55PACKAGECONFIG[v4l2src] = ",--disable-v4l2src,"
56PACKAGECONFIG[uniaudiodec] = ",--disable-uniaudiodec,libfslcodec"
57PACKAGECONFIG[mp3encoder] = ",--disable-mp3encoder,libfslcodec"
37 58
38# LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0) 59# LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0)
39LIBV = "1.0" 60LIBV = "1.0"
@@ -42,7 +63,7 @@ require recipes-multimedia/gstreamer/gst-plugins-package.inc
42# the following line is required to produce one package for each plugin 63# the following line is required to produce one package for each plugin
43PACKAGES_DYNAMIC = "^${PN}-.*" 64PACKAGES_DYNAMIC = "^${PN}-.*"
44 65
45COMPATIBLE_MACHINE = "(mx6)" 66COMPATIBLE_MACHINE = "(mx6|mx7)"
46 67
47# disable the false alarm (the "it isn't a build dependency" QA warning) 68# disable the false alarm (the "it isn't a build dependency" QA warning)
48INSANE_SKIP_gstreamer1.0-plugins-imx-imxaudio = "build-deps" 69INSANE_SKIP_gstreamer1.0-plugins-imx-imxaudio = "build-deps"