diff options
author | 2011-01-14 17:56:00 -0600 | |
---|---|---|
committer | 2011-02-22 17:15:07 -0600 | |
commit | 1332d1749abae75448338e8ef72d51b7d5822bbb (patch) | |
tree | 2363973e5b3e4992d8463a81b939ef618fa2981a | |
parent | Add ebuild for gst-plugins-base. (diff) | |
download | pandaboard-1332d1749abae75448338e8ef72d51b7d5822bbb.tar.gz pandaboard-1332d1749abae75448338e8ef72d51b7d5822bbb.tar.bz2 pandaboard-1332d1749abae75448338e8ef72d51b7d5822bbb.zip |
Add ebuild for gst-openmax.
This includes TI patches not yet published officialy.
Signed-off-by: Daniel Diaz <ddiaz@ti.com>
6 files changed, 297 insertions, 0 deletions
diff --git a/media-plugins/gst-openmax/Manifest b/media-plugins/gst-openmax/Manifest new file mode 100644 index 0000000..267cb15 --- /dev/null +++ b/media-plugins/gst-openmax/Manifest @@ -0,0 +1,5 @@ +AUX 0001-videoenc-use-shared-buffers-on-output-port.patch 1030 RMD160 9bc17ddad4dc11c4441c48c90a2be9911bca8f8a SHA1 f3d45516e503c499c1e9b923cbe580abfe480328 SHA256 0c2b74ab2450ef6844e56e9a5a71f7b5243e305883c71a6da4867068f53039ff +AUX 0002-Replace-deprecated-vstab-event-with-crop-event.patch 2428 RMD160 291b42e0f784dc7d6e3a492606ead5da072274bc SHA1 5aef9bcb25dbd3337f4b7bf6800652188335e880 SHA256 6298e7fd9291e2909c156828cec712417c8e908bf431e08d8668ceb162899ead +AUX 0099-temp-32k-header-dec10.patch 1930 RMD160 743ce70a08f6927ee472acc719d138d58d9f23dd SHA1 c71328428a9bfeb63f53796ad305a4a08730fa5c SHA256 07b53f8b658281a231d134897ad9c0b94e6273304bf22b47ae658244144b2d1a +AUX 0099-temp-32k-header-nov10.patch 1954 RMD160 abe12ee817de3f04dd47c0eebcff90ff1d7605ac SHA1 39f6d0eeda27c40fe44b8a6a95d6b360d86fd4f0 SHA256 18a081eee5edc65a73eb9f0be4565586ea6a67581c5bc914a439e0ef92e33e9c +EBUILD gst-openmax-9999.ebuild 1003 RMD160 afd1226abe7fdd72c1f6c27933514573bc077f49 SHA1 e1446fa76e546b116115a96f57ae10658b01dccf SHA256 050c35b1cc8b92a9203263ce9a5b1ef7899c580c94737c512140a3abe3fa216c diff --git a/media-plugins/gst-openmax/files/0001-videoenc-use-shared-buffers-on-output-port.patch b/media-plugins/gst-openmax/files/0001-videoenc-use-shared-buffers-on-output-port.patch new file mode 100644 index 0000000..ff10376 --- /dev/null +++ b/media-plugins/gst-openmax/files/0001-videoenc-use-shared-buffers-on-output-port.patch @@ -0,0 +1,27 @@ +From: Alejandro Gonzalez <a-gonzalez@ti.com> +Date: Sat, 1 Jan 2000 00:03:26 +0000 (-0600) +Subject: videoenc: Use shared buffers on output port. +X-Git-Url: http://dev.omapzoom.org/?p=gstreamer%2Fgst-openmax.git;a=commitdiff_plain;h=0a0543a76ff2989d070693490b78625657a6c684 + +videoenc: Use shared buffers on output port. + +Acked-by: Kiran Nataraju <knataraju@ti.com> +Signed-off-by: Daniel Diaz <ddiaz@ti.com> +--- + +diff --git a/omx/gstomx_base_videoenc.c b/omx/gstomx_base_videoenc.c +index bdbd59b..c550e5e 100644 +--- a/omx/gstomx_base_videoenc.c ++++ b/omx/gstomx_base_videoenc.c +@@ -332,9 +332,9 @@ type_instance_init (GTypeInstance *instance, + omx_base->omx_setup = omx_setup; + + omx_base->in_port->omx_allocate = FALSE; +- omx_base->out_port->omx_allocate = TRUE; ++ omx_base->out_port->omx_allocate = FALSE; + omx_base->in_port->share_buffer = TRUE; +- omx_base->out_port->share_buffer = FALSE; ++ omx_base->out_port->share_buffer = TRUE; + + gst_pad_set_setcaps_function (omx_base->sinkpad, sink_setcaps); + diff --git a/media-plugins/gst-openmax/files/0002-Replace-deprecated-vstab-event-with-crop-event.patch b/media-plugins/gst-openmax/files/0002-Replace-deprecated-vstab-event-with-crop-event.patch new file mode 100644 index 0000000..cc6bea2 --- /dev/null +++ b/media-plugins/gst-openmax/files/0002-Replace-deprecated-vstab-event-with-crop-event.patch @@ -0,0 +1,64 @@ +From 74e364b3a4f6d64d14a56c0b527cd1530e0df917 Mon Sep 17 00:00:00 2001 +From: Rob Clark <rob@ti.com> +Date: Fri, 24 Dec 2010 21:01:06 -0600 +Subject: [PATCH] Replace deprecated vstab event with crop event. + +Signed-off-by: Daniel Diaz <ddiaz@ti.com> +--- + omx/gstomx_base_videodec.c | 5 +++-- + omx/gstomx_base_videoenc.c | 4 ++-- + omx/gstomx_camera.c | 5 +++-- + 3 files changed, 8 insertions(+), 6 deletions(-) + +diff --git a/omx/gstomx_base_videodec.c b/omx/gstomx_base_videodec.c +index dd35c8c..299a947 100644 +--- a/omx/gstomx_base_videodec.c ++++ b/omx/gstomx_base_videodec.c +@@ -77,8 +77,9 @@ push_buffer (GstOmxBaseFilter *omx_base, GstBuffer *buf) + if (n_offset) + { + gst_pad_push_event (omx_base->srcpad, +- gst_event_new_vstab (n_offset / self->rowstride, /* top */ +- n_offset % self->rowstride)); /* left */ ++ gst_event_new_crop (n_offset / self->rowstride, /* top */ ++ n_offset % self->rowstride, /* left */ ++ -1, -1)); /* width/height: can be invalid for now */ + } + return parent_class->push_buffer (omx_base, buf); + } +diff --git a/omx/gstomx_base_videoenc.c b/omx/gstomx_base_videoenc.c +index c550e5e..a83eb3d 100644 +--- a/omx/gstomx_base_videoenc.c ++++ b/omx/gstomx_base_videoenc.c +@@ -303,10 +303,10 @@ pad_event (GstPad *pad, GstEvent *event) + + switch (GST_EVENT_TYPE (event)) + { +- case GST_EVENT_VSTAB: ++ case GST_EVENT_CROP: + { + gint top, left; +- gst_event_parse_vstab (event, &top, &left); ++ gst_event_parse_crop (event, &top, &left, NULL, NULL); + + omx_base->in_port->n_offset = (self->rowstride * top) + left; + +diff --git a/omx/gstomx_camera.c b/omx/gstomx_camera.c +index ca03de4..dc3130e 100644 +--- a/omx/gstomx_camera.c ++++ b/omx/gstomx_camera.c +@@ -1509,8 +1509,9 @@ create (GstBaseSrc *gst_base, + + if (n_offset) + { +- vstab_evt = gst_event_new_vstab (n_offset / self->rowstride, /* top */ +- n_offset % self->rowstride); /* left */ ++ vstab_evt = gst_event_new_crop (n_offset / self->rowstride, /* top */ ++ n_offset % self->rowstride, /* left */ ++ -1, -1); /* width/height: we can just give invalid for now */ + gst_pad_push_event (GST_BASE_SRC (self)->srcpad, + gst_event_ref (vstab_evt)); + } +-- +1.7.1 + diff --git a/media-plugins/gst-openmax/files/0099-temp-32k-header-dec10.patch b/media-plugins/gst-openmax/files/0099-temp-32k-header-dec10.patch new file mode 100644 index 0000000..e85ad31 --- /dev/null +++ b/media-plugins/gst-openmax/files/0099-temp-32k-header-dec10.patch @@ -0,0 +1,81 @@ +From 45d23a18eb366220992e367422b958699be55623 Mon Sep 17 00:00:00 2001 +From: Olivier Naudan <o-naudan@ti.com> +Date: Thu, 16 Dec 2010 13:10:03 +0100 +Subject: [PATCH] Temporary patch to access OMAP 32K timer (not yet exported by the kernel) + +--- + omx/gstomx_camera.c | 2 +- + omx/timer-32k.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 49 insertions(+), 1 deletions(-) + create mode 100644 omx/timer-32k.h + +diff --git a/omx/gstomx_camera.c b/omx/gstomx_camera.c +index 9a33cfb..fc73422 100644 +--- a/omx/gstomx_camera.c ++++ b/omx/gstomx_camera.c +@@ -34,7 +34,7 @@ + #include <stdint.h> + #include <fcntl.h> + #include <sys/ioctl.h> +-#include <linux/timer-32k.h> ++#include "timer-32k.h" + #include <OMX_CoreExt.h> + #include <OMX_IndexExt.h> + +diff --git a/omx/timer-32k.h b/omx/timer-32k.h +new file mode 100644 +index 0000000..98fc2dc +--- /dev/null ++++ b/omx/timer-32k.h +@@ -0,0 +1,48 @@ ++/* ++ * OMAP2/3/4 timer32k driver interface ++ * ++ * Copyright (C) 2010 Texas Instruments, Inc ++ * ++ * This file is subject to the terms and conditions of the GNU General Public ++ * License. See the file "COPYING" in the main directory of this archive ++ * for more details. ++ */ ++ ++#ifndef __LINUX_TIMER_32_H__ ++#define __LINUX_TIMER_32_H__ ++ ++#include <linux/ioctl.h> ++#define OMAP_32K_READ _IOWR('t', 0, uint32_t) ++#define OMAP_32K_READRAW _IOWR('t', 1, uint32_t) ++ ++#ifndef __KERNEL__ ++ ++#include <stdint.h> ++#include <fcntl.h> ++#include <sys/ioctl.h> ++ ++static inline uint32_t __omap_32k_call(int nr) ++{ ++ static int fd; ++ if (!fd) ++ fd = open("/dev/timer32k", 0); ++ ++ if (fd) { ++ uint32_t t; ++ if (ioctl(fd, nr, &t) >= 0) ++ return t; ++ } ++ return 0; ++} ++static inline uint32_t omap_32k_read(void) ++{ ++ return __omap_32k_call(OMAP_32K_READ); ++} ++static inline uint32_t omap_32k_readraw(void) ++{ ++ return __omap_32k_call(OMAP_32K_READRAW); ++} ++#endif ++ ++#endif /* __LINUX_TIMER_32_H__ */ ++ +-- +1.7.1 + diff --git a/media-plugins/gst-openmax/files/0099-temp-32k-header-nov10.patch b/media-plugins/gst-openmax/files/0099-temp-32k-header-nov10.patch new file mode 100644 index 0000000..2851032 --- /dev/null +++ b/media-plugins/gst-openmax/files/0099-temp-32k-header-nov10.patch @@ -0,0 +1,82 @@ +From 1c2c1413e6777865c037ba3d849da69cf9342b0a Mon Sep 17 00:00:00 2001 +From: Daniel Diaz <ddiaz@ti.com> +Date: Thu, 20 Jan 2011 16:21:18 -0600 +Subject: [PATCH] Temporary patch to access OMAP 32K timer (not yet exported by the kernel) + +Signed-off-by: Daniel Diaz <ddiaz@ti.com> +--- + omx/gstomx_camera.c | 2 +- + omx/timer-32k.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 49 insertions(+), 1 deletions(-) + create mode 100644 omx/timer-32k.h + +diff --git a/omx/gstomx_camera.c b/omx/gstomx_camera.c +index 8e3983e..eb101fd 100644 +--- a/omx/gstomx_camera.c ++++ b/omx/gstomx_camera.c +@@ -34,7 +34,7 @@ + #include <stdint.h> + #include <fcntl.h> + #include <sys/ioctl.h> +-#include <linux/timer-32k.h> ++#include "timer-32k.h" + + /** + * SECTION:element-omx_camerasrc +diff --git a/omx/timer-32k.h b/omx/timer-32k.h +new file mode 100644 +index 0000000..98fc2dc +--- /dev/null ++++ b/omx/timer-32k.h +@@ -0,0 +1,48 @@ ++/* ++ * OMAP2/3/4 timer32k driver interface ++ * ++ * Copyright (C) 2010 Texas Instruments, Inc ++ * ++ * This file is subject to the terms and conditions of the GNU General Public ++ * License. See the file "COPYING" in the main directory of this archive ++ * for more details. ++ */ ++ ++#ifndef __LINUX_TIMER_32_H__ ++#define __LINUX_TIMER_32_H__ ++ ++#include <linux/ioctl.h> ++#define OMAP_32K_READ _IOWR('t', 0, uint32_t) ++#define OMAP_32K_READRAW _IOWR('t', 1, uint32_t) ++ ++#ifndef __KERNEL__ ++ ++#include <stdint.h> ++#include <fcntl.h> ++#include <sys/ioctl.h> ++ ++static inline uint32_t __omap_32k_call(int nr) ++{ ++ static int fd; ++ if (!fd) ++ fd = open("/dev/timer32k", 0); ++ ++ if (fd) { ++ uint32_t t; ++ if (ioctl(fd, nr, &t) >= 0) ++ return t; ++ } ++ return 0; ++} ++static inline uint32_t omap_32k_read(void) ++{ ++ return __omap_32k_call(OMAP_32K_READ); ++} ++static inline uint32_t omap_32k_readraw(void) ++{ ++ return __omap_32k_call(OMAP_32K_READRAW); ++} ++#endif ++ ++#endif /* __LINUX_TIMER_32_H__ */ ++ +-- +1.7.3.4 + diff --git a/media-plugins/gst-openmax/gst-openmax-9999.ebuild b/media-plugins/gst-openmax/gst-openmax-9999.ebuild new file mode 100644 index 0000000..8589fe5 --- /dev/null +++ b/media-plugins/gst-openmax/gst-openmax-9999.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit git autotools + +DESCRIPTION="GStreamer plug-in that allows communication with OpenMAX IL components" +HOMEPAGE="http://freedesktop.org/wiki/GstOpenMAX" +EGIT_REPO_URI="git://github.com/mrchapp/gst-openmax.git" +EGIT_BRANCH="gst-24.11-rc" +EGIT_COMMIT="3214d731aefae7d2b5f0b69f126dc993a972cfd4" + +LICENSE="LGPL" +SLOT="0" +KEYWORDS="~arm" +IUSE="" + +DEPEND=">=media-libs/gst-plugins-base-0.10.31 >=media-libs/gstreamer-0.10.31 >=media-libs/domx-24.11" +RDEPEND="${DEPEND}" + +src_unpack() { + git_src_unpack + cd ${S} + epatch "${FILESDIR}"/0001-videoenc-use-shared-buffers-on-output-port.patch + epatch "${FILESDIR}"/0002-Replace-deprecated-vstab-event-with-crop-event.patch + epatch "${FILESDIR}"/0099-temp-32k-header-nov10.patch +} + +src_prepare() { + git describe --tags --always > .version + eautoreconf +} + +src_install() { + emake DESTDIR=${D} install || die 'emake install failed.' +} |