[vlc-commits] XCB/XVideo: allow mixed endian format if 8 or 4 bits per component
Rémi Denis-Courmont
git at videolan.org
Mon Oct 31 21:22:59 CET 2011
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Mon Oct 31 22:21:23 2011 +0200| [aa1d564909d15463bab3f737269633fb39820fab] | committer: Rémi Denis-Courmont
XCB/XVideo: allow mixed endian format if 8 or 4 bits per component
Mixed endianess is only an issue if the component values are not
aligned inside octets. This fixes Debian #604687.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=aa1d564909d15463bab3f737269633fb39820fab
---
modules/video_output/xcb/xvideo.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/modules/video_output/xcb/xvideo.c b/modules/video_output/xcb/xvideo.c
index 9d45bcf..fd7f5bd 100644
--- a/modules/video_output/xcb/xvideo.c
+++ b/modules/video_output/xcb/xvideo.c
@@ -134,9 +134,6 @@ static bool CheckXVideo (vout_display_t *vd, xcb_connection_t *conn)
static vlc_fourcc_t ParseFormat (vlc_object_t *obj,
const xcb_xv_image_format_info_t *restrict f)
{
- if (f->byte_order != ORDER && f->bpp != 8)
- return 0; /* Argh! */
-
switch (f->type)
{
case XCB_XV_IMAGE_FORMAT_INFO_TYPE_RGB:
@@ -154,10 +151,14 @@ static vlc_fourcc_t ParseFormat (vlc_object_t *obj,
return VLC_CODEC_RGB24;
break;
case 16:
+ if (f->byte_order != ORDER)
+ return 0; /* Mixed endian! */
if (f->bpp == 16 && f->depth == 16)
return VLC_CODEC_RGB16;
break;
case 15:
+ if (f->byte_order != ORDER)
+ return 0; /* Mixed endian! */
if (f->bpp == 16 && f->depth == 16)
return VLC_CODEC_RGBT;
if (f->bpp == 16 && f->depth == 15)
More information about the vlc-commits
mailing list