From: Gary Bisson <bisson.gary@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2] gst1-plugins-imx: add package
Date: Wed, 29 Oct 2014 19:32:24 -0700 [thread overview]
Message-ID: <1414636344-8152-1-git-send-email-bisson.gary@gmail.com> (raw)
Open-source GStreamer 1.0 plugins for i.MX platforms.
More info at https://github.com/Freescale/gstreamer-imx
Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
---
Modifications v1->v2:
- Use of github helper macro
- Modify package comment with Peter S. original patch
- Add comment for eglibc dependency (due to GPU libs)
- Remove comments on package dependencies
One thing I wasn't sure about, should all new package contain a .hash file? If
so I can submit a v3 right away.
This patch has been tested using an i.MX6Q SabreLite (nitrogen6x config) along
with the usual Tears of Steel movie in 1080p:
http://media.xiph.org/mango/tears_of_steel_1080p.webm
Below are the commands used to test the different sinks:
$ gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm
$ gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxipusink
$ gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxeglvivsink
The toolchain used was the Sourcery CodeBench 2014.05. The video above also
requires the following extra configuration in order to demux the content:
BR2_PACKAGE_GST1_PLUGINS_GOOD=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y
Thanks,
Gary
---
package/gstreamer1/Config.in | 1 +
package/gstreamer1/gst1-plugins-imx/Config.in | 28 +++++++++++
.../gst1-plugins-imx/gst1-plugins-imx.mk | 56 ++++++++++++++++++++++
3 files changed, 85 insertions(+)
create mode 100644 package/gstreamer1/gst1-plugins-imx/Config.in
create mode 100644 package/gstreamer1/gst1-plugins-imx/gst1-plugins-imx.mk
diff --git a/package/gstreamer1/Config.in b/package/gstreamer1/Config.in
index 5f08faf..9dbbed4 100644
--- a/package/gstreamer1/Config.in
+++ b/package/gstreamer1/Config.in
@@ -6,6 +6,7 @@ source "package/gstreamer1/gst1-plugins-base/Config.in"
source "package/gstreamer1/gst1-plugins-good/Config.in"
source "package/gstreamer1/gst1-plugins-bad/Config.in"
source "package/gstreamer1/gst1-plugins-ugly/Config.in"
+source "package/gstreamer1/gst1-plugins-imx/Config.in"
source "package/gstreamer1/gst1-libav/Config.in"
source "package/gstreamer1/gst1-validate/Config.in"
source "package/gstreamer1/gst-omx/Config.in"
diff --git a/package/gstreamer1/gst1-plugins-imx/Config.in b/package/gstreamer1/gst1-plugins-imx/Config.in
new file mode 100644
index 0000000..d499874
--- /dev/null
+++ b/package/gstreamer1/gst1-plugins-imx/Config.in
@@ -0,0 +1,28 @@
+comment "gst1-plugins-imx needs an imx-specific Linux kernel to be built"
+ depends on BR2_arm && !BR2_LINUX_KERNEL
+
+# Required by gpu-viv-bin-mx6q
+comment "gst1-plugins-imx needs an (e)glibc toolchain"
+ depends on BR2_arm
+ depends on !BR2_TOOLCHAIN_USES_GLIBC
+
+config BR2_PACKAGE_GST1_PLUGINS_IMX
+ bool "gst1-plugins-imx"
+ depends on BR2_LINUX_KERNEL
+ depends on BR2_arm # Only relevant for i.MX
+ depends on BR2_TOOLCHAIN_USES_GLIBC # gpu-viv-bin-mx6q
+ depends on BR2_PACKAGE_GPU_VIV_BIN_MX6Q
+ depends on BR2_PACKAGE_LIBFSLVPUWRAP
+ select BR2_PACKAGE_GST1_PLUGINS_BASE
+ help
+ This is a set of GStreamer 1.0 plugins for plugins for Freescale's
+ i.MX platform, with emphasis on video en/decoding using the i.MX
+ VPU engine.
+
+ Currently, this software has been tested only with the i.MX6 SoC
+ family and requires a kernel that includes the i.MX6 specific
+ headers to be built.
+
+ The software as a whole is currently in beta stage.
+
+ More info at https://github.com/Freescale/gstreamer-imx
diff --git a/package/gstreamer1/gst1-plugins-imx/gst1-plugins-imx.mk b/package/gstreamer1/gst1-plugins-imx/gst1-plugins-imx.mk
new file mode 100644
index 0000000..56b6fdf
--- /dev/null
+++ b/package/gstreamer1/gst1-plugins-imx/gst1-plugins-imx.mk
@@ -0,0 +1,56 @@
+################################################################################
+#
+# gst1-plugins-imx
+#
+################################################################################
+
+GST1_PLUGINS_IMX_VERSION = 0.9.9
+GST1_PLUGINS_IMX_SITE = $(call github,Freescale,gstreamer-imx,$(GST1_PLUGINS_IMX_VERSION))
+
+GST1_PLUGINS_IMX_LICENSE = LGPLv2+
+GST1_PLUGINS_IMX_LICENSE_FILES = LICENSE
+
+GST1_PLUGINS_IMX_INSTALL_STAGING = YES
+
+GST1_PLUGINS_IMX_DEPENDENCIES += host-pkgconf host-python \
+ gpu-viv-bin-mx6q gstreamer1 gst1-plugins-base libfslvpuwrap
+
+# needs access to imx-specific kernel headers
+GST1_PLUGINS_IMX_DEPENDENCIES += linux
+GST1_PLUGINS_IMX_CONF_OPTS += --prefix="/usr" \
+ --kernel-headers="$(LINUX_DIR)/include"
+
+ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
+GST1_PLUGINS_IMX_DEPENDENCIES += xlib_libX11
+GST1_PLUGINS_IMX_CONF_OPTS += --egl-platform=x11
+else
+ifeq ($(BR2_PACKAGE_WAYLAND),y)
+GST1_PLUGINS_IMX_DEPENDENCIES += wayland
+GST1_PLUGINS_IMX_CONF_OPTS += --egl-platform=wayland
+else
+GST1_PLUGINS_IMX_CONF_OPTS += --egl-platform=fb
+endif
+endif
+
+define GST1_PLUGINS_IMX_CONFIGURE_CMDS
+ (cd $(@D); \
+ $(TARGET_CONFIGURE_OPTS) \
+ $(HOST_DIR)/usr/bin/python2 ./waf configure \
+ $(GST1_PLUGINS_IMX_CONF_OPTS) \
+ )
+endef
+
+define GST1_PLUGINS_IMX_BUILD_CMDS
+ (cd $(@D); \
+ $(HOST_DIR)/usr/bin/python2 ./waf build -j $(PARALLEL_JOBS) \
+ )
+endef
+
+define GST1_PLUGINS_IMX_INSTALL_TARGET_CMDS
+ (cd $(@D); \
+ $(HOST_DIR)/usr/bin/python2 ./waf --destdir=$(TARGET_DIR) \
+ install \
+ )
+endef
+
+$(eval $(generic-package))
--
2.1.1
next reply other threads:[~2014-10-30 2:32 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-30 2:32 Gary Bisson [this message]
2014-11-02 22:13 ` [Buildroot] [PATCH v2] gst1-plugins-imx: add package Luca Ceresoli
2014-11-03 21:33 ` Arnout Vandecappelle
2014-11-03 21:51 ` Arnout Vandecappelle
2014-11-03 22:47 ` Gary Bisson
2014-11-08 22:01 ` Peter Korsgaard
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=1414636344-8152-1-git-send-email-bisson.gary@gmail.com \
--to=bisson.gary@gmail.com \
--cc=buildroot@busybox.net \
/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.