From: Gary Bisson <gary.bisson@boundarydevices.com>
To: meta-freescale@yoctoproject.org
Subject: [meta-fsl-arm][PATCH] gstreamer1.0-plugins-imx: add i.MX7 support
Date: Sat, 2 Apr 2016 17:58:11 +0200 [thread overview]
Message-ID: <1459612691-11941-1-git-send-email-gary.bisson@boundarydevices.com> (raw)
Modify the dependencies to match the platform features. By default
the build will generate the following plugins for all the mx6/mx7
platforms:
- imxpxpvideosink
- imxpxpvideotransform
- imxipuvideotransform
- imxipuvideosink
- imxipucompositor
- imxv4l2videosrc
- imxuniaudiodec
- imxmp3audioenc
Then all the platforms with GPU support (6QDL, 6SL, 6SX) will also have:
- imxeglvivsink
- imxg2dvideosink
- imxg2dvideotransform
- imxg2dcompositor
Note that only the G2D plugins can work on 6SL.
Finally, platforms with VPU support (6QDL) will also have:
- imxvpudec
- imxvpuenc_h263
- imxvpuenc_h264
- imxvpuenc_mpeg4
- imxvpuenc_mjpeg
The pxp and v4l2 plugins have been tested on an i.MX7 Nitrogen7
platform from Boundary Devices.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
Hi all,
Tested on Boundary Device i.MX7 Nitrogen7 platform with the following
pipeline:
gst-launch-1.0 imxv4l2videosrc device=/dev/video1 ! imxpxpvideosink
(Nitrogen7 MACHINE configuration to be submitted soon)
Also made sure this didn't break the compatibilty for 6Q and 6SX
platforms.
If the libfslcodec upgrade to v4.0.9 gets in first, all the dependencies
will need to be updated to use imx-codec instead.
Regards,
Gary
---
.../gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb | 27 ++++++++++++++++++----
1 file changed, 22 insertions(+), 5 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.0.bb
index 391c141..d9e7a51 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
@@ -4,9 +4,25 @@ 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)}"
+DEPENDS_mx6q = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad \
+ virtual/kernel libfslcodec \
+ imx-gpu-viv virtual/egl virtual/libgles2 libimxvpuapi \
+ ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
+DEPENDS_mx6dl = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad \
+ virtual/kernel libfslcodec \
+ imx-gpu-viv virtual/egl virtual/libgles2 libimxvpuapi \
+ ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
+DEPENDS_mx6sx = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad \
+ virtual/kernel libfslcodec \
+ imx-gpu-viv virtual/egl virtual/libgles2 \
+ ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
+DEPENDS_mx6sl = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad \
+ virtual/kernel libfslcodec \
+ imx-gpu-viv virtual/egl virtual/libgles2 \
+ ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
+DEPENDS_mx7 = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad \
+ virtual/kernel libfslcodec \
+ ${@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
@@ -33,7 +49,8 @@ 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"
+EXTRA_OECONF_mx6 = "--egl-platform=${EGLVIVSINK_PLATFORM} --kernel-headers=${STAGING_KERNEL_DIR}/include"
+EXTRA_OECONF_mx7 = "--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"
@@ -42,7 +59,7 @@ 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)"
+COMPATIBLE_MACHINE = "(mx6|mx7)"
# disable the false alarm (the "it isn't a build dependency" QA warning)
INSANE_SKIP_gstreamer1.0-plugins-imx-imxaudio = "build-deps"
--
2.7.0
next reply other threads:[~2016-04-02 15:58 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-02 15:58 Gary Bisson [this message]
2016-04-04 11:04 ` [meta-fsl-arm][PATCH] gstreamer1.0-plugins-imx: add i.MX7 support Otavio Salvador
-- strict thread matches above, loose matches on Subject: below --
2016-04-04 13:04 Gary Bisson
2016-04-04 13:11 ` Carlos Rafael Giani
2016-04-04 13:25 ` Otavio Salvador
2016-04-04 13:34 ` Gary Bisson
2016-04-04 13:43 ` Otavio Salvador
2016-04-05 13:23 ` Carlos Rafael Giani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1459612691-11941-1-git-send-email-gary.bisson@boundarydevices.com \
--to=gary.bisson@boundarydevices.com \
--cc=meta-freescale@yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.