summaryrefslogtreecommitdiffstats
path: root/patches/gst-plugins-bad-0.10.17/0002--remove-endianness-swapping.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/gst-plugins-bad-0.10.17/0002--remove-endianness-swapping.patch')
-rw-r--r--patches/gst-plugins-bad-0.10.17/0002--remove-endianness-swapping.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/patches/gst-plugins-bad-0.10.17/0002--remove-endianness-swapping.patch b/patches/gst-plugins-bad-0.10.17/0002--remove-endianness-swapping.patch
new file mode 100644
index 000000000..154950eb0
--- /dev/null
+++ b/patches/gst-plugins-bad-0.10.17/0002--remove-endianness-swapping.patch
@@ -0,0 +1,45 @@
+From: Luotao Fu <lfu@pengutronix.de>
+Date: Thu, 11 Dec 2008 11:57:48 +0100
+Subject: [PATCH] remove endianness swapping
+
+ Swapping r- g- and bmask here is weird. It turns i.E. RGB888 to BGR888. For
+ formats like RGB666 it turns the mask into a mess. Seems that gstreamer
+ treat all True color as Big Endian. Still I doubt that it makes sense to
+ swap the masks. I'm however not quite sure about this, comments are highly
+ welcome.
+
+Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
+---
+ sys/fbdev/gstfbdevsink.c | 14 +-------------
+ 1 files changed, 1 insertions(+), 13 deletions(-)
+
+diff --git a/sys/fbdev/gstfbdevsink.c b/sys/fbdev/gstfbdevsink.c
+index c9a7e14..c01e5b6 100644
+--- sys/fbdev/gstfbdevsink.c
++++ sys/fbdev/gstfbdevsink.c
+@@ -158,21 +158,9 @@ gst_fbdevsink_getcaps (GstBaseSink * bsink)
+
+ switch (fbdevsink->varinfo.bits_per_pixel) {
+ case 32:
+- /* swap endian of masks */
+- rmask = swapendian (rmask);
+- gmask = swapendian (gmask);
+- bmask = swapendian (bmask);
++ case 24:
+ endianness = 4321;
+ break;
+- case 24:{
+- /* swap red and blue masks */
+- uint32_t t = rmask;
+-
+- rmask = bmask;
+- bmask = t;
+- endianness = 4321;
+- break;
+- }
+ case 15:
+ case 16:
+ endianness = 1234;
+--
+1.5.6.5
+