From patchwork Mon Jan 31 20:35:18 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Add support for at91sam9m10 H/W video decoder Date: Mon, 31 Jan 2011 20:35:18 -0000 From: Ulf Samuelsson X-Patchwork-Id: 420 Message-Id: <1296506118-4702-1-git-send-email-ulf.samuelsson@atmel.com> To: openembedded-devel@lists.openembedded.org Cc: Ulf Samuelsson --- .../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 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