slomo gst-plugins-bad: gst-plugins-bad/ gst-plugins-bad/gst/bayer/
[email protected] Mon, 5 Jan 2009 04:34:32 -0800 (PST)
| Newsgroups | gmane.comp.video.gstreamer.cvs |
|---|---|
| Message-ID | <[email protected]> |
--===============3761226481386422027==
CVS Root: /cvs/gstreamer
Module: gst-plugins-bad
Changes by: slomo
Date: Mon Jan 05 2009 12:34:32 UTC
Log message:
Patch by: Sascha Hauer <s dot hauer at pengutronix dot de>
Luotao Fu <l dot fu at pengutronix dot de>
* gst/bayer/gstbayer2rgb.c: (get_pix_offset),
(gst_bayer2rgb_set_caps):
Fix color offset calculation for 24bpp. Fixes bug #566613.
Modified files:
. : ChangeLog
gst/bayer : gstbayer2rgb.c
Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.3855&r2=1.3856
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/bayer/gstbayer2rgb.c.diff?r1=1.6&r2=1.7
====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v
retrieving revision 1.3855
retrieving revision 1.3856
diff -u -d -r1.3855 -r1.3856
--- ChangeLog 5 Jan 2009 11:28:47 -0000 1.3855
+++ ChangeLog 5 Jan 2009 12:34:17 -0000 1.3856
@@ -1,5 +1,14 @@
2009-01-05 Sebastian Dröge <[email protected]>
+ Patch by: Sascha Hauer <s dot hauer at pengutronix dot de>
+ Luotao Fu <l dot fu at pengutronix dot de>
+
+ * gst/bayer/gstbayer2rgb.c: (get_pix_offset),
+ (gst_bayer2rgb_set_caps):
+ Fix color offset calculation for 24bpp. Fixes bug #566613.
+2009-01-05 Sebastian Dröge <[email protected]>
Patch by: vanista <vanista at gmail dot com>
* gst/mpegtsmux/mpegtsmux.c: (mpegtsmux_create_stream):
Index: gstbayer2rgb.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/bayer/gstbayer2rgb.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- gstbayer2rgb.c 12 Jun 2008 14:49:15 -0000 1.6
+++ gstbayer2rgb.c 5 Jan 2009 12:34:18 -0000 1.7
@@ -231,19 +231,21 @@
/* Routine to convert colormask value into relative byte offset */
static int
-get_pix_offset (int offset)
+get_pix_offset (int mask, int bpp)
{
- switch (offset) {
+ int bpp32 = (bpp / 8) - 3;
+ switch (mask) {
case 255:
- return 3;
+ return 2 + bpp32;
case 65280:
- return 2;
+ return 1 + bpp32;
case 16711680:
- return 1;
+ return 0 + bpp32;
case -16777216:
return 0;
default:
- GST_ERROR ("Invalid color mask 0x%08x", offset);
+ GST_ERROR ("Invalid color mask 0x%08x", mask);
return -1;
}
}
@@ -254,7 +256,7 @@
GstBayer2RGB *filter = GST_BAYER2RGB (base);
GstStructure *structure;
- int val;
+ int val, bpp;
GST_DEBUG ("in caps %" GST_PTR_FORMAT " out caps %" GST_PTR_FORMAT, incaps,
outcaps);
@@ -267,14 +269,14 @@
/* To cater for different RGB formats, we need to set params for later */
structure = gst_caps_get_structure (outcaps, 0);
- gst_structure_get_int (structure, "bpp", &val);
- filter->pixsize = val / 8;
+ gst_structure_get_int (structure, "bpp", &bpp);
+ filter->pixsize = bpp / 8;
gst_structure_get_int (structure, "red_mask", &val);
- filter->r_off = get_pix_offset (val);
+ filter->r_off = get_pix_offset (val, bpp);
gst_structure_get_int (structure, "green_mask", &val);
- filter->g_off = get_pix_offset (val);
+ filter->g_off = get_pix_offset (val, bpp);
gst_structure_get_int (structure, "blue_mask", &val);
- filter->b_off = get_pix_offset (val);
+ filter->b_off = get_pix_offset (val, bpp);
return TRUE;
@@ -516,6 +518,7 @@
break;
static void
do_corners (uint8_t * input, uint8_t * output, GstBayer2RGB * filter)
--===============3761226481386422027==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
------------------------------------------------------------------------------
--===============3761226481386422027==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
gstreamer-cvs-verbose mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gstreamer-cvs-verbose
--===============3761226481386422027==--