diff options
Diffstat (limited to 'patches/gst-plugins-bad-1.0.7/0001-remove-endianness-swapping.patch')
-rw-r--r-- | patches/gst-plugins-bad-1.0.7/0001-remove-endianness-swapping.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/patches/gst-plugins-bad-1.0.7/0001-remove-endianness-swapping.patch b/patches/gst-plugins-bad-1.0.7/0001-remove-endianness-swapping.patch new file mode 100644 index 000000000..d9a018dc1 --- /dev/null +++ b/patches/gst-plugins-bad-1.0.7/0001-remove-endianness-swapping.patch @@ -0,0 +1,42 @@ +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 file changed, 1 insertion(+), 13 deletions(-) + +diff --git a/sys/fbdev/gstfbdevsink.c b/sys/fbdev/gstfbdevsink.c +index 639641d..6d06801 100644 +--- a/sys/fbdev/gstfbdevsink.c ++++ b/sys/fbdev/gstfbdevsink.c +@@ -153,21 +153,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; |