[vlc-commits] XCB/XVideo: allow mixed endian format if 8 or 4 bits per component

Rémi Denis-Courmont git at videolan.org
Tue Nov 1 16:57:27 CET 2011


vlc/vlc-1.1 | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Mon Oct 31 22:21:23 2011 +0200| [fe2492499859ea31dd386163a1508ecef21de1fd] | 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.
(cherry picked from commit aa1d564909d15463bab3f737269633fb39820fab)

Conflicts:

	modules/video_output/xcb/xvideo.c

> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.1.git/?a=commit;h=fe2492499859ea31dd386163a1508ecef21de1fd
---

 modules/video_output/xcb/xvideo.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/modules/video_output/xcb/xvideo.c b/modules/video_output/xcb/xvideo.c
index 1f3813f..4ad8bae 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 (vout_display_t *vd,
                                  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:
@@ -156,6 +153,8 @@ static vlc_fourcc_t ParseFormat (vout_display_t *vd,
                     return VLC_CODEC_RGB24;
                 break;
               case 16:
+                if (f->byte_order != ORDER)
+                    return 0; /* Mixed endian! */
                 if (f->depth == 16)
                     return VLC_CODEC_RGB16;
                 if (f->depth == 15)



More information about the vlc-commits mailing list