diff options
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.patch | 45 |
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 + |