summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/gst-plugins-base/files/gst-0.10.32-0013-Add-support-for-RGB565-to-stridetransform.patch')
-rw-r--r--media-libs/gst-plugins-base/files/gst-0.10.32-0013-Add-support-for-RGB565-to-stridetransform.patch336
1 files changed, 0 insertions, 336 deletions
diff --git a/media-libs/gst-plugins-base/files/gst-0.10.32-0013-Add-support-for-RGB565-to-stridetransform.patch b/media-libs/gst-plugins-base/files/gst-0.10.32-0013-Add-support-for-RGB565-to-stridetransform.patch
deleted file mode 100644
index d07c1b9..0000000
--- a/media-libs/gst-plugins-base/files/gst-0.10.32-0013-Add-support-for-RGB565-to-stridetransform.patch
+++ /dev/null
@@ -1,336 +0,0 @@
-From 28a5ad7c5ccfa98ffa7bb1425dc38ab16535fc26 Mon Sep 17 00:00:00 2001
-From: Castaneda Sheissa, Roberto <rsheissa@ti.com>
-Date: Sun, 3 Jan 2010 13:40:30 -0600
-Subject: [PATCH 13/24] Add support for RGB565 to stridetransform
-
----
- gst/stride/convert.c | 30 ++++++++++
- gst/stride/gststridetransform.c | 120 ++++++++++++++++++++------------------
- 2 files changed, 93 insertions(+), 57 deletions(-)
-
-diff --git a/gst/stride/convert.c b/gst/stride/convert.c
-index 0f59e78..fdb02ae 100644
---- a/gst/stride/convert.c
-+++ b/gst/stride/convert.c
-@@ -322,6 +322,35 @@ stridify_i420_yuy2 (GstStrideTransform *self, guchar *strided, guchar *unstrided
- return GST_FLOW_OK;
- }
-
-+/** convert RGB565 to RGB565 strided **/
-+static GstFlowReturn
-+stridify_rgb565_rgb565 (GstStrideTransform *self, guchar *strided, guchar *unstrided)
-+{
-+ gint width = self->width;
-+ gint height = self->height;
-+ gint stride = self->out_rowstride;
-+
-+ g_return_val_if_fail (stride >= (width*2), GST_FLOW_ERROR);
-+
-+ stridemove (strided, unstrided, stride, width*2, height);
-+
-+ return GST_FLOW_OK;
-+}
-+
-+/** convert RGB565 strided to RGB565 **/
-+static GstFlowReturn
-+unstridify_rgb565_rgb565 (GstStrideTransform *self, guchar *strided, guchar *unstrided)
-+{
-+ gint width = self->width;
-+ gint height = self->height;
-+ gint stride = self->in_rowstride;
-+
-+ g_return_val_if_fail (stride >= (width*2), GST_FLOW_ERROR);
-+
-+ stridemove (unstrided, strided, width*2, stride, height);
-+ return GST_FLOW_OK;
-+}
-+
-
- /* last entry has GST_VIDEO_FORMAT_UNKNOWN for in/out formats */
- Conversion stride_conversions[] = {
-@@ -332,6 +361,7 @@ Conversion stride_conversions[] = {
- { { GST_VIDEO_FORMAT_UYVY, GST_VIDEO_FORMAT_UYVY }, stridify_422i_422i, unstridify_422i_422i },
- { { GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_NV12 }, stridify_i420_nv12, NULL },
- { { GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_YUY2 }, stridify_i420_yuy2, NULL },
-+ { { GST_VIDEO_FORMAT_RGB16, GST_VIDEO_FORMAT_RGB16 }, stridify_rgb565_rgb565, unstridify_rgb565_rgb565 },
- /* add new entries before here */
- { { GST_VIDEO_FORMAT_UNKNOWN } }
- };
-diff --git a/gst/stride/gststridetransform.c b/gst/stride/gststridetransform.c
-index 6ab0479..c35be73 100644
---- a/gst/stride/gststridetransform.c
-+++ b/gst/stride/gststridetransform.c
-@@ -66,46 +66,47 @@ GST_ELEMENT_DETAILS ("Stride transform",
-
-
- /* TODO: add rgb formats too! */
--#define SUPPORTED_CAPS \
-- GST_VIDEO_CAPS_YUV_STRIDED ("{ I420, YV12, YUY2, UYVY, NV12 }", "[ 0, max ]")
-+#define YUV_SUPPORTED_CAPS \
-+ GST_VIDEO_CAPS_YUV_STRIDED ("{I420, YV12, YUY2, UYVY, NV12 }", "[ 0, max ]")
-
-+#define RGB_SUPPORTED_CAPS \
-+ GST_VIDEO_CAPS_RGB_16_STRIDED ("[ 0, max ]")
-
--static GstStaticPadTemplate src_template =
--GST_STATIC_PAD_TEMPLATE ("src",
-+
-+static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
- GST_PAD_SRC,
- GST_PAD_ALWAYS,
-- GST_STATIC_CAPS (SUPPORTED_CAPS)
--);
-+ GST_STATIC_CAPS (YUV_SUPPORTED_CAPS ";" RGB_SUPPORTED_CAPS)
-+ );
-
--static GstStaticPadTemplate sink_template =
--GST_STATIC_PAD_TEMPLATE ("sink",
-+static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
- GST_PAD_SINK,
- GST_PAD_ALWAYS,
-- GST_STATIC_CAPS (SUPPORTED_CAPS)
--);
-+ GST_STATIC_CAPS (YUV_SUPPORTED_CAPS ";" RGB_SUPPORTED_CAPS)
-+ );
-
-
- GST_DEBUG_CATEGORY (stridetransform_debug);
- #define GST_CAT_DEFAULT stridetransform_debug
-
- /* type functions */
--static void gst_stride_transform_dispose (GObject *obj);
-+static void gst_stride_transform_dispose (GObject * obj);
-
- /* GstBaseTransform functions */
--static gboolean gst_stride_transform_get_unit_size (GstBaseTransform *base,
-- GstCaps *caps, guint *size);
--static gboolean gst_stride_transform_transform_size (GstBaseTransform *base,
-+static gboolean gst_stride_transform_get_unit_size (GstBaseTransform * base,
-+ GstCaps * caps, guint * size);
-+static gboolean gst_stride_transform_transform_size (GstBaseTransform * base,
- GstPadDirection direction,
-- GstCaps *caps, guint size,
-- GstCaps *othercaps, guint *othersize);
--static GstCaps *gst_stride_transform_transform_caps (GstBaseTransform *base,
-- GstPadDirection direction, GstCaps *caps);
--static gboolean gst_stride_transform_set_caps (GstBaseTransform *base,
-- GstCaps *incaps, GstCaps *outcaps);
--static GstFlowReturn gst_stride_transform_transform (GstBaseTransform *base,
-- GstBuffer *inbuf, GstBuffer *outbuf);
-+ GstCaps * caps, guint size, GstCaps * othercaps, guint * othersize);
-+static GstCaps *gst_stride_transform_transform_caps (GstBaseTransform * base,
-+ GstPadDirection direction, GstCaps * caps);
-+static gboolean gst_stride_transform_set_caps (GstBaseTransform * base,
-+ GstCaps * incaps, GstCaps * outcaps);
-+static GstFlowReturn gst_stride_transform_transform (GstBaseTransform * base,
-+ GstBuffer * inbuf, GstBuffer * outbuf);
-
--GST_BOILERPLATE (GstStrideTransform, gst_stride_transform, GstVideoFilter, GST_TYPE_VIDEO_FILTER);
-+GST_BOILERPLATE (GstStrideTransform, gst_stride_transform, GstVideoFilter,
-+ GST_TYPE_VIDEO_FILTER);
-
-
- static void
-@@ -113,7 +114,8 @@ gst_stride_transform_base_init (gpointer g_class)
- {
- GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class);
-
-- GST_DEBUG_CATEGORY_INIT (stridetransform_debug, "stride", 0, "stride transform element");
-+ GST_DEBUG_CATEGORY_INIT (stridetransform_debug, "stride", 0,
-+ "stride transform element");
-
- gst_element_class_set_details (gstelement_class, &stridetransform_details);
-
-@@ -124,7 +126,7 @@ gst_stride_transform_base_init (gpointer g_class)
- }
-
- static void
--gst_stride_transform_class_init (GstStrideTransformClass *klass)
-+gst_stride_transform_class_init (GstStrideTransformClass * klass)
- {
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- GstBaseTransformClass *basetransform_class = GST_BASE_TRANSFORM_CLASS (klass);
-@@ -146,14 +148,15 @@ gst_stride_transform_class_init (GstStrideTransformClass *klass)
- }
-
- static void
--gst_stride_transform_init (GstStrideTransform *self, GstStrideTransformClass *klass)
-+gst_stride_transform_init (GstStrideTransform * self,
-+ GstStrideTransformClass * klass)
- {
- GST_DEBUG_OBJECT (self, "not implemented");
- }
-
-
- static void
--gst_stride_transform_dispose (GObject *object)
-+gst_stride_transform_dispose (GObject * object)
- {
- GstStrideTransform *self = GST_STRIDE_TRANSFORM (object);
- GST_DEBUG_OBJECT (self, "not implemented");
-@@ -164,15 +167,15 @@ gst_stride_transform_dispose (GObject *object)
- * figure out the required buffer size based on @caps
- */
- static gboolean
--gst_stride_transform_get_unit_size (GstBaseTransform *base,
-- GstCaps *caps, guint *size)
-+gst_stride_transform_get_unit_size (GstBaseTransform * base,
-+ GstCaps * caps, guint * size)
- {
- GstStrideTransform *self = GST_STRIDE_TRANSFORM (base);
- GstVideoFormat format;
- gint width, height, rowstride;
-
-- g_return_val_if_fail (gst_video_format_parse_caps_strided (
-- caps, &format, &width, &height, &rowstride), FALSE);
-+ g_return_val_if_fail (gst_video_format_parse_caps_strided (caps, &format,
-+ &width, &height, &rowstride), FALSE);
-
- *size = gst_video_format_get_size_strided (format, width, height, rowstride);
-
-@@ -188,16 +191,14 @@ gst_stride_transform_get_unit_size (GstBaseTransform *base,
- * buffer size is a multiple of the unit size.. which doesn't hold true.
- */
- static gboolean
--gst_stride_transform_transform_size (GstBaseTransform *base,
-+gst_stride_transform_transform_size (GstBaseTransform * base,
- GstPadDirection direction,
-- GstCaps *caps, guint size,
-- GstCaps *othercaps, guint *othersize)
-+ GstCaps * caps, guint size, GstCaps * othercaps, guint * othersize)
- {
- GstStrideTransform *self = GST_STRIDE_TRANSFORM (base);
- guint idx = (direction == GST_PAD_SINK) ? 0 : 1;
-
-- if (self->cached_caps[idx] != othercaps)
-- {
-+ if (self->cached_caps[idx] != othercaps) {
- guint sz;
- if (!gst_stride_transform_get_unit_size (base, othercaps, &sz)) {
- return FALSE;
-@@ -220,13 +221,15 @@ gst_stride_transform_transform_size (GstBaseTransform *base,
- * helper to add all fields, other than rowstride to @caps, copied from @s.
- */
- static void
--add_all_fields (GstCaps *caps, const gchar *name, GstStructure *s, gboolean rowstride, GstPadDirection direction)
-+add_all_fields (GstCaps * caps, const gchar * name, GstStructure * s,
-+ gboolean rowstride, GstPadDirection direction)
- {
- gint idx;
- GstStructure *new_s = gst_structure_new (name, NULL);
-
- if (rowstride) {
-- gst_structure_set (new_s, "rowstride", GST_TYPE_INT_RANGE, 1, G_MAXINT, NULL);
-+ gst_structure_set (new_s, "rowstride", GST_TYPE_INT_RANGE, 1, G_MAXINT,
-+ NULL);
- }
-
- idx = gst_structure_n_fields (s) - 1;
-@@ -245,15 +248,16 @@ add_all_fields (GstCaps *caps, const gchar *name, GstStructure *s, gboolean rows
- gint from_format = (direction == GST_PAD_SRC) ? 1 : 0;
-
- if (gst_structure_get_fourcc (s, "format", &fourcc)) {
-- GValue formats = {0};
-- GValue fourccval = {0};
-+ GValue formats = { 0 };
-+ GValue fourccval = { 0 };
- gint i;
- GstVideoFormat format = gst_video_format_from_fourcc (fourcc);
-
- g_value_init (&formats, GST_TYPE_LIST);
- g_value_init (&fourccval, GST_TYPE_FOURCC);
-
-- for (i=0; stride_conversions[i].format[0]!=GST_VIDEO_FORMAT_UNKNOWN; i++) {
-+ for (i = 0; stride_conversions[i].format[0] != GST_VIDEO_FORMAT_UNKNOWN;
-+ i++) {
- if (stride_conversions[i].format[from_format] == format) {
- gst_value_set_fourcc (&fourccval, gst_video_format_to_fourcc
- (stride_conversions[i].format[to_format]));
-@@ -281,8 +285,8 @@ add_all_fields (GstCaps *caps, const gchar *name, GstStructure *s, gboolean rows
- * identical parameters
- */
- static GstCaps *
--gst_stride_transform_transform_caps (GstBaseTransform *base,
-- GstPadDirection direction, GstCaps *caps)
-+gst_stride_transform_transform_caps (GstBaseTransform * base,
-+ GstPadDirection direction, GstCaps * caps)
- {
- GstStrideTransform *self = GST_STRIDE_TRANSFORM (base);
- GstCaps *ret;
-@@ -321,8 +325,8 @@ gst_stride_transform_transform_caps (GstBaseTransform *base,
- * plus the requested rowstride of the @incaps and @outcaps
- */
- static gboolean
--gst_stride_transform_set_caps (GstBaseTransform *base,
-- GstCaps *incaps, GstCaps *outcaps)
-+gst_stride_transform_set_caps (GstBaseTransform * base,
-+ GstCaps * incaps, GstCaps * outcaps)
- {
- GstStrideTransform *self = GST_STRIDE_TRANSFORM (base);
- gint width, height;
-@@ -333,13 +337,13 @@ gst_stride_transform_set_caps (GstBaseTransform *base,
- LOG_CAPS (self, outcaps);
-
- g_return_val_if_fail (gst_video_format_parse_caps_strided (incaps,
-- &in_format, &self->width, &self->height, &self->in_rowstride), FALSE);
-+ &in_format, &self->width, &self->height, &self->in_rowstride), FALSE);
- g_return_val_if_fail (gst_video_format_parse_caps_strided (outcaps,
-- &out_format, &width, &height, &self->out_rowstride), FALSE);
-+ &out_format, &width, &height, &self->out_rowstride), FALSE);
-
- self->conversion = NULL;
-
-- for (i=0; stride_conversions[i].format[0]!=GST_VIDEO_FORMAT_UNKNOWN; i++) {
-+ for (i = 0; stride_conversions[i].format[0] != GST_VIDEO_FORMAT_UNKNOWN; i++) {
- if ((stride_conversions[i].format[0] == in_format) &&
- (stride_conversions[i].format[1] == out_format)) {
- GST_DEBUG_OBJECT (self, "found stride_conversion: %d", i);
-@@ -349,26 +353,27 @@ gst_stride_transform_set_caps (GstBaseTransform *base,
- }
-
- g_return_val_if_fail (self->conversion, FALSE);
-- g_return_val_if_fail (self->conversion->unstridify || !self->in_rowstride, FALSE);
-- g_return_val_if_fail (self->conversion->stridify || !self->out_rowstride, FALSE);
-- g_return_val_if_fail (self->width == width, FALSE);
-+ g_return_val_if_fail (self->conversion->unstridify
-+ || !self->in_rowstride, FALSE);
-+ g_return_val_if_fail (self->conversion->stridify
-+ || !self->out_rowstride, FALSE);
-+ g_return_val_if_fail (self->width == width, FALSE);
- g_return_val_if_fail (self->height == height, FALSE);
-
- return TRUE;
- }
-
- static GstFlowReturn
--gst_stride_transform_transform (GstBaseTransform *base,
-- GstBuffer *inbuf, GstBuffer *outbuf)
-+gst_stride_transform_transform (GstBaseTransform * base,
-+ GstBuffer * inbuf, GstBuffer * outbuf)
- {
- GstStrideTransform *self = GST_STRIDE_TRANSFORM (base);
-
- GST_DEBUG_OBJECT (self, "inbuf=%p (size=%d), outbuf=%p (size=%d)",
-- inbuf, GST_BUFFER_SIZE (inbuf),
-- outbuf, GST_BUFFER_SIZE (outbuf));
-+ inbuf, GST_BUFFER_SIZE (inbuf), outbuf, GST_BUFFER_SIZE (outbuf));
-
- if (self->in_rowstride && self->out_rowstride) {
-- GST_DEBUG_OBJECT (self, "not implemented"); // TODO
-+ GST_DEBUG_OBJECT (self, "not implemented"); // TODO
- return GST_FLOW_ERROR;
- } else if (self->in_rowstride) {
- return self->conversion->unstridify (self,
-@@ -378,7 +383,8 @@ gst_stride_transform_transform (GstBaseTransform *base,
- GST_BUFFER_DATA (outbuf), GST_BUFFER_DATA (inbuf));
- }
-
-- GST_DEBUG_OBJECT (self, "this shouldn't happen! in_rowstride=%d, out_rowstride=%d",
-+ GST_DEBUG_OBJECT (self,
-+ "this shouldn't happen! in_rowstride=%d, out_rowstride=%d",
- self->in_rowstride, self->out_rowstride);
-
- return GST_FLOW_ERROR;
---
-1.7.1
-