summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Diaz <ddiaz@ti.com>2011-01-14 17:56:00 -0600
committerDaniel Diaz <ddiaz@ti.com>2011-02-22 17:15:07 -0600
commit1332d1749abae75448338e8ef72d51b7d5822bbb (patch)
tree2363973e5b3e4992d8463a81b939ef618fa2981a
parentAdd ebuild for gst-plugins-base. (diff)
downloadpandaboard-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>
-rw-r--r--media-plugins/gst-openmax/Manifest5
-rw-r--r--media-plugins/gst-openmax/files/0001-videoenc-use-shared-buffers-on-output-port.patch27
-rw-r--r--media-plugins/gst-openmax/files/0002-Replace-deprecated-vstab-event-with-crop-event.patch64
-rw-r--r--media-plugins/gst-openmax/files/0099-temp-32k-header-dec10.patch81
-rw-r--r--media-plugins/gst-openmax/files/0099-temp-32k-header-nov10.patch82
-rw-r--r--media-plugins/gst-openmax/gst-openmax-9999.ebuild38
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.'
+}