[Buildroot] [PATCH] Add HW decoding support for Hantro x170

Alexandre Belloni alexandre.belloni at free-electrons.com
Mon May 27 21:13:44 UTC 2013


This actually consist in a set of proprietary libs, on2-8170-libs and a
gstreamer plugin making use of those libraries.

on2-8170-libs is probably libc agnostic but this has not been tested
thoroughly.

Signed-off-by: Alexandre Belloni <alexandre.belloni at free-electrons.com>
---
 package/multimedia/Config.in                       |  2 ++
 package/multimedia/gst-plugin-x170/Config.in       | 10 ++++++++
 .../gst-plugin-x170-01-correct-CFLAGS.patch        | 28 ++++++++++++++++++++++
 .../multimedia/gst-plugin-x170/gst-plugin-x170.mk  | 14 +++++++++++
 package/multimedia/on2-8170-libs/Config.in         |  8 +++++++
 package/multimedia/on2-8170-libs/on2-8170-libs.mk  | 20 ++++++++++++++++
 6 files changed, 82 insertions(+)
 create mode 100644 package/multimedia/gst-plugin-x170/Config.in
 create mode 100644 package/multimedia/gst-plugin-x170/gst-plugin-x170-01-correct-CFLAGS.patch
 create mode 100644 package/multimedia/gst-plugin-x170/gst-plugin-x170.mk
 create mode 100644 package/multimedia/on2-8170-libs/Config.in
 create mode 100644 package/multimedia/on2-8170-libs/on2-8170-libs.mk

diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in
index 931e6d3..e13e9da 100644
--- a/package/multimedia/Config.in
+++ b/package/multimedia/Config.in
@@ -14,12 +14,14 @@ source "package/multimedia/gst-plugins-base/Config.in"
 source "package/multimedia/gst-plugins-good/Config.in"
 source "package/multimedia/gst-plugins-bad/Config.in"
 source "package/multimedia/gst-plugins-ugly/Config.in"
+source "package/multimedia/gst-plugin-x170/Config.in"
 source "package/multimedia/lame/Config.in"
 source "package/multimedia/madplay/Config.in"
 source "package/multimedia/mpd/Config.in"
 source "package/multimedia/mpg123/Config.in"
 source "package/multimedia/mplayer/Config.in"
 source "package/multimedia/musepack/Config.in"
+source "package/multimedia/on2-8170-libs/Config.in"
 source "package/opus-tools/Config.in"
 source "package/multimedia/pulseaudio/Config.in"
 source "package/multimedia/tidsp-binaries/Config.in"
diff --git a/package/multimedia/gst-plugin-x170/Config.in b/package/multimedia/gst-plugin-x170/Config.in
new file mode 100644
index 0000000..83ddd1b
--- /dev/null
+++ b/package/multimedia/gst-plugin-x170/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_GST_PLUGIN_X170
+	bool "gst-plugin-x170"
+	depends on BR2_PACKAGE_GSTREAMER && BR2_arm926t
+	select BR2_PACKAGE_ON2_8170_LIBS
+	help
+	  GStreamer plug-in to use the Hantro X170 video decoder present on
+	  ATMEL AT91SAM9M10 SoC.
+
+	  http://www.at91.com/linux4sam/bin/view/Linux4SAM/SAM9M10Gstreamer
+
diff --git a/package/multimedia/gst-plugin-x170/gst-plugin-x170-01-correct-CFLAGS.patch b/package/multimedia/gst-plugin-x170/gst-plugin-x170-01-correct-CFLAGS.patch
new file mode 100644
index 0000000..9c32e46
--- /dev/null
+++ b/package/multimedia/gst-plugin-x170/gst-plugin-x170-01-correct-CFLAGS.patch
@@ -0,0 +1,28 @@
+The configure script is correctly getting the CFLAGS needed to compile a plugin
+for gstreamer and storing them in GST_BASE_CFLAGS but the Makefiles are never
+making use of those.
+
+We actually have to use AM_CPPFLAGS as AM_CFLAGS is used everywhere but on the
+real compiling rule...
+
+Signed-off-by: Alexandre Belloni <alexandre.belloni at free-electrons.com>
+---
+ src/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 8cb51d1..6af5d91 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -5,6 +5,8 @@
+ ##############################################################################
+ plugin_LTLIBRARIES = libgstx170.la
+ 
++AM_CPPFLAGS = @GST_BASE_CFLAGS@
++
+ ##############################################################################
+ # for the next set of variables, rename the prefix if you renamed the .la,   #
+ #  e.g. libgstplugin_la_SOURCES => libmysomething_la_SOURCES                 #
+-- 
+1.8.1.2
+
diff --git a/package/multimedia/gst-plugin-x170/gst-plugin-x170.mk b/package/multimedia/gst-plugin-x170/gst-plugin-x170.mk
new file mode 100644
index 0000000..e1c42ef
--- /dev/null
+++ b/package/multimedia/gst-plugin-x170/gst-plugin-x170.mk
@@ -0,0 +1,14 @@
+#############################################################
+#
+# gst-plugins-x170
+#
+#############################################################
+GST_PLUGIN_X170_VERSION = 1.0
+GST_PLUGIN_X170_SITE = ftp://ftp.linux4sam.org/pub/demo/linux4sam_1.9/codec/
+
+# There is no generated configure script in the tarball.
+GST_PLUGIN_X170_AUTORECONF = YES
+GST_PLUGIN_X170_AUTORECONF_OPT = -Im4/
+GST_PLUGIN_X170_DEPENDENCIES = gstreamer libglib2 on2-8170-libs
+
+$(eval $(autotools-package))
diff --git a/package/multimedia/on2-8170-libs/Config.in b/package/multimedia/on2-8170-libs/Config.in
new file mode 100644
index 0000000..d5d1a58
--- /dev/null
+++ b/package/multimedia/on2-8170-libs/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_ON2_8170_LIBS
+	depends on BR2_arm926t
+	bool "on2-8170-libs"
+	help
+	  Libraries for Hantro X170 video decoder
+
+	  http://www.at91.com/linux4sam/bin/view/Linux4SAM/SAM9M10Gstreamer
+
diff --git a/package/multimedia/on2-8170-libs/on2-8170-libs.mk b/package/multimedia/on2-8170-libs/on2-8170-libs.mk
new file mode 100644
index 0000000..160b2d9
--- /dev/null
+++ b/package/multimedia/on2-8170-libs/on2-8170-libs.mk
@@ -0,0 +1,20 @@
+#############################################################
+#
+# on2-8170-libs
+#
+#############################################################
+ON2_8170_LIBS_VERSION = 1.0
+ON2_8170_LIBS_SITE = ftp://ftp.linux4sam.org/pub/demo/linux4sam_1.9/codec/
+
+ON2_8170_LIBS_INSTALL_STAGING = YES
+
+define ON2_8170_LIBS_INSTALL_STAGING_CMDS
+	cp -dpf $(@D)/*.a $(@D)/*.so $(STAGING_DIR)/usr/lib
+	cp -dpf $(@D)/*.h $(STAGING_DIR)/usr/include
+endef
+
+define ON2_8170_LIBS_INSTALL_TARGET_CMDS
+	cp -dpf $(@D)/*.so $(TARGET_DIR)/usr/lib
+endef
+
+$(eval $(generic-package))
-- 
1.8.1.2



More information about the buildroot mailing list