Patchwork Add support for at91sam9m10 H/W video decoder

login
register
mail settings
Submitter Ulf Samuelsson
Date Jan. 31, 2011, 8:35 p.m.
Message ID <1296506118-4702-1-git-send-email-ulf.samuelsson@atmel.com>
Download mbox | patch
Permalink /patch/420/
State Superseded
Headers show

Comments

Ulf Samuelsson - Jan. 31, 2011, 8:35 p.m.
---
 .../at91sam9m10-vdec/gst-plugin-on2-8170_1.0.bb    |   41 ++++++++
 recipes/at91sam9m10-vdec/on2-8170-libs_1.0.bb      |   49 ++++++++++
 recipes/images/x11-at91sam9m10-image.bb            |  102 ++++++++++++++++++++
 3 files changed, 192 insertions(+), 0 deletions(-)
 create mode 100644 recipes/at91sam9m10-vdec/gst-plugin-on2-8170_1.0.bb
 create mode 100644 recipes/at91sam9m10-vdec/on2-8170-libs_1.0.bb
 create mode 100644 recipes/images/x11-at91sam9m10-image.bb
Denis Carikli - Feb. 18, 2011, 11:12 p.m.
On Mon, 2011-01-31 at 21:35 +0100, Ulf Samuelsson wrote:
> +LICENSE = ""
I'm not sure that's valid.
Not having a license means you can't even redistribute the package.
Is it the case?

Denis.

Patch

diff --git a/recipes/at91sam9m10-vdec/gst-plugin-on2-8170_1.0.bb b/recipes/at91sam9m10-vdec/gst-plugin-on2-8170_1.0.bb
new file mode 100644
index 0000000..8010bd4
--- /dev/null
+++ b/recipes/at91sam9m10-vdec/gst-plugin-on2-8170_1.0.bb
@@ -0,0 +1,41 @@ 
+# This is the support library for AT91SAM9M10 On2 8170 video decoder.
+DESCRIPTION = "Library for AT91SAM9M10 On2 8170 video decoder"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = ""
+
+COMPATIBLE_MACHINE = (at91sam9m10ekes|at91sam9m10g45ek)
+
+PR = "r1"
+
+DEPENDS = "glib-2.0 gstreamer on2-8170-libs"
+CFLAGS += "-I${STAGING_INCDIR}/glib-2.0 -I${STAGING_INCDIR}/gstreamer-0.10 -I${STAGING_INCDIR}/libxml2/"
+GST_MAJORMINOR=0.10
+PROVIDES += "gstx170"
+
+SRC_URI = "ftp://ftp.linux4sam.org/pub/demo/linux4sam_1.9/codec/gst-plugin-x170-${PV}.tar.gz"
+S = ${WORKDIR}/gst-plugin-x170-${PV}
+
+inherit autotools
+
+FILES_${PN} = " \
+	${libdir}/gstreamer-${GST_MAJORMINOR}/*.so \
+	"
+
+FILES_${PN}-dev = " \
+	${libdir}/gstreamer-${GST_MAJORMINOR}/*.so \
+	${libdir}/gstreamer-${GST_MAJORMINOR}/*.a \
+	${libdir}/gstreamer-${GST_MAJORMINOR}/*.la \
+	"
+
+do_stage() {
+	echo staging ...
+	oe_libinstall -s -a -C ${S}/src/.libs libgstx170   ${STAGING_LIBDIR}
+	install -m 0644  ${S}/src/gstx170.h  ${STAGING_INCDIR}/
+}
+
+do_install() {
+	echo install ...
+	install -d ${D}/${libdir}/gstreamer-${GST_MAJORMINOR}
+	oe_libinstall -s -C ${S}/src/.libs/ libgstx170   ${D}/${libdir}/gstreamer-${GST_MAJORMINOR}
+}
diff --git a/recipes/at91sam9m10-vdec/on2-8170-libs_1.0.bb b/recipes/at91sam9m10-vdec/on2-8170-libs_1.0.bb
new file mode 100644
index 0000000..7fa95aa
--- /dev/null
+++ b/recipes/at91sam9m10-vdec/on2-8170-libs_1.0.bb
@@ -0,0 +1,49 @@ 
+# This is the support library for Hantro X170 video decoder.
+DESCRIPTION = "Library for Hantro X170 video decoder"
+SECTION = "libs"
+PRIORITY = "optional"
+
+COMPATIBLE_MACHINE = (at91sam9m10ekes|at91sam9m10g45ek)
+
+PR = "r1"
+PROVIDES += "hantro-libs"
+SRC_URI ="ftp://ftp.linux4sam.org/pub/demo/linux4sam_1.9/codec/on2-8170-libs-1.0.tar.gz"
+
+inherit autotools
+S = ${WORKDIR}/on2-8170-libs-${PV}
+
+FILES_${PN} = " \
+	${libdir}/*.so \
+	"
+
+FILES_${PN}-dev = " \
+	${libdir}/*.so \
+	${libdir}/*.a  \
+	${libdir}/*.la \
+	${includedir}/*.h  \
+	"
+
+
+SRC_URI_append = ""
+
+do_stage() {
+	oe_libinstall -s -a -C ${S}   libdwlx170   ${STAGING_LIBDIR}
+	oe_libinstall -s -a -C ${S}   libdecx170h  ${STAGING_LIBDIR}
+	oe_libinstall -s -a -C ${S}   libx170j     ${STAGING_LIBDIR}
+	oe_libinstall -s -a -C ${S}   libdecx170m2 ${STAGING_LIBDIR}
+	oe_libinstall -s -a -C ${S}   libdecx170m  ${STAGING_LIBDIR}
+	oe_libinstall -s -a -C ${S}   libdecx170p  ${STAGING_LIBDIR}
+	oe_libinstall -s -a -C ${S}   libdecx170v  ${STAGING_LIBDIR}
+	
+	install -m 0644 ${S}/*.h ${STAGING_INCDIR}/
+}
+
+do_install() {
+	oe_libinstall -s  -C ${S}  libdwlx170   ${D}/${libdir}/
+	oe_libinstall -s  -C ${S}  libdecx170h  ${D}/${libdir}/
+	oe_libinstall -s  -C ${S}  libx170j     ${D}/${libdir}/
+	oe_libinstall -s  -C ${S}  libdecx170m2 ${D}/${libdir}/
+	oe_libinstall -s  -C ${S}  libdecx170m  ${D}/${libdir}/
+	oe_libinstall -s  -C ${S}  libdecx170p  ${D}/${libdir}/
+	oe_libinstall -s  -C ${S}  libdecx170v  ${D}/${libdir}/
+}
diff --git a/recipes/images/x11-at91sam9m10-image.bb b/recipes/images/x11-at91sam9m10-image.bb
new file mode 100644
index 0000000..416ae63
--- /dev/null
+++ b/recipes/images/x11-at91sam9m10-image.bb
@@ -0,0 +1,102 @@ 
+#Angstrom X11 at91sam9 image
+
+XSERVER ?= ""
+	
+ANGSTROM_EXTRA_INSTALL += " \
+	gpe-irc \
+	gpe-sketchbook \
+	gpe-filemanager \
+	gpe-tetris \
+	gpe-go \
+	gpe-calendar \
+	gpe-contacts \
+	gpe-edit \
+	gpe-gallery \
+	gpe-calculator \
+	gpe-clock \
+	gpe-terminal \
+	gpe-watch \
+	matchbox-panel-hacks \
+	gpe-scap \
+	gpe-windowlist \
+	gpe-mixer \
+	usbview \
+	mplayer \
+	thttpd \
+	madplay \
+	alsa-utils-aplay \
+	alsa-utils-amixer \
+	iperf \
+	dosfstools \
+	mtd-utils \
+#	nbench-byte \
+	gpe-mini-browser \
+	pointercal \
+	gstreamer \
+	gst-plugins-base \
+	gst-plugins-good \
+	gst-plugins-bad \
+	gst-plugins-ugly \
+	gst-plugin-avi \
+	gst-plugin-mpegstream \
+	gst-plugin-qtdemux \
+	gst-plugin-mpegvideoparse \
+	gst-plugin-asf \
+	gst-plugin-alsa \
+	gst-plugin-ossaudio \
+	gst-plugin-audioresample \
+	gst-plugin-audioconvert \
+	gst-plugin-ximagesink \
+	gst-plugin-fbdevsink \
+	gst-plugin-faad \
+	gst-plugin-mad \    
+	gst-plugin-playbin \
+	gst-plugin-decodebin \
+	gst-plugin-typefindfunctions \
+	gst-ffmpeg \
+	gst-plugin-on2-8170 \
+	on2-8170-libs \
+	owl-wifi \
+	"
+
+export IMAGE_BASENAME = "x11-at91sam9m10-image"
+
+DEPENDS = "task-base"
+IMAGE_INSTALL = "\
+    ${XSERVER} \
+    task-base-extended \
+    angstrom-x11-base-depends \
+    angstrom-gpe-task-base \
+    angstrom-gpe-task-settings \
+    ${ANGSTROM_EXTRA_INSTALL}"
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+at91sam9m10_rootfs_postprocess() {
+   curdir=$PWD
+   cd ${IMAGE_ROOTFS}
+
+   # add init script to cratee hantro modules /dev files
+   echo 'MAJOR=`cat /proc/devices |grep hx170|cut -f1 -d\ `' >> ${IMAGE_ROOTFS}//etc/init.d/hantro
+   echo 'mknod /dev/hx170 c $MAJOR 0' >> ${IMAGE_ROOTFS}/etc/init.d/hantro
+   echo 'MAJOR=`cat /proc/devices |grep memalloc|cut -f1 -d\ `' >> ${IMAGE_ROOTFS}//etc/init.d/hantro
+   echo 'mknod /dev/memalloc c $MAJOR 0' >> ${IMAGE_ROOTFS}/etc/init.d/hantro
+   chmod a+x  ${IMAGE_ROOTFS}/etc/init.d/hantro
+   cd ${IMAGE_ROOTFS}/etc/rc5.d
+   ln -s ../init.d/hantro S51hantro
+
+   # back on track
+   cd $curdir
+}
+
+#zap root password for release images
+ROOTFS_POSTPROCESS_COMMAND += '${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'
+ROOTFS_POSTPROCESS_COMMAND += "set_image_autologin; "
+
+#we dont need the kernel in the image
+ROOTFS_POSTPROCESS_COMMAND += "rm -f ${IMAGE_ROOTFS}/boot/*Image*; "
+
+#load sam9m10 vdec modules and create file descriptor at boot
+ROOTFS_POSTPROCESS_COMMAND += "at91sam9m10_rootfs_postprocess; "
+
+inherit image