diff options
author | wm4 <wm4@nowhere> | 2014-11-05 01:09:42 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-11-05 01:52:20 +0100 |
commit | fce77c05f5585c623afc312635054eb23cc69c0b (patch) | |
tree | 903b84aa966b645a5b2bd47dd644452ab6e02bb6 /video/out/vo_wayland.c | |
parent | 91471deecc97382d7998bd9f3b2bbbb5473ecba3 (diff) | |
download | mpv-fce77c05f5585c623afc312635054eb23cc69c0b.tar.bz2 mpv-fce77c05f5585c623afc312635054eb23cc69c0b.tar.xz |
vo_wayland: don't use endian-specific defines
Instead, use the native-endian alias, and switch the wayland format
depending on the target platform's endian.
This drops support for swapped-endian formats, but I think that is ok.
Not only are the affected formats rather ancient and backwards, but
using swapped formats probably does not make any sense for performance
either.
Untested.
Diffstat (limited to 'video/out/vo_wayland.c')
-rw-r--r-- | video/out/vo_wayland.c | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/video/out/vo_wayland.c b/video/out/vo_wayland.c index 87e38e45b3..8c07a7d249 100644 --- a/video/out/vo_wayland.c +++ b/video/out/vo_wayland.c @@ -33,6 +33,7 @@ #include "sub/img_convert.h" #include "common/msg.h" #include "input/input.h" +#include "osdep/endian.h" #include "osdep/timer.h" #include "wayland_common.h" @@ -51,24 +52,27 @@ static const format_t const format_table[] = { {WL_SHM_FORMAT_XRGB8888, IMGFMT_BGR0}, {WL_SHM_FORMAT_RGB332, IMGFMT_RGB8}, // 3b 3g 2r {WL_SHM_FORMAT_BGR233, IMGFMT_BGR8}, // 3r 3g 3b, - {WL_SHM_FORMAT_XRGB4444, IMGFMT_RGB444_LE}, // 4b 4g 4r 4a - {WL_SHM_FORMAT_XBGR4444, IMGFMT_BGR444_LE}, // 4r 4g 4b 4a - {WL_SHM_FORMAT_RGBX4444, IMGFMT_BGR444_BE}, // 4a 4b 4g 4r - {WL_SHM_FORMAT_BGRX4444, IMGFMT_RGB444_BE}, // 4a 4r 4g 4b - {WL_SHM_FORMAT_ARGB4444, IMGFMT_RGB444_LE}, - {WL_SHM_FORMAT_ABGR4444, IMGFMT_BGR444_LE}, - {WL_SHM_FORMAT_RGBA4444, IMGFMT_BGR444_BE}, - {WL_SHM_FORMAT_BGRA4444, IMGFMT_RGB444_BE}, - {WL_SHM_FORMAT_XRGB1555, IMGFMT_RGB555_LE}, // 5b 5g 5r 1a - {WL_SHM_FORMAT_XBGR1555, IMGFMT_BGR555_LE}, // 5r 5g 5b 1a - {WL_SHM_FORMAT_RGBX5551, IMGFMT_BGR555_BE}, // 1a 5g 5b 5r - {WL_SHM_FORMAT_BGRX5551, IMGFMT_RGB555_BE}, // 1a 5r 5g 5b - {WL_SHM_FORMAT_ARGB1555, IMGFMT_RGB555_LE}, - {WL_SHM_FORMAT_ABGR1555, IMGFMT_BGR555_LE}, - {WL_SHM_FORMAT_RGBA5551, IMGFMT_BGR555_BE}, - {WL_SHM_FORMAT_BGRA5551, IMGFMT_RGB555_BE}, - {WL_SHM_FORMAT_RGB565, IMGFMT_RGB565_LE}, // 5b 6g 5r - {WL_SHM_FORMAT_BGR565, IMGFMT_BGR565_LE}, // 5r 6g 5b +#if BYTE_ORDER == LITTLE_ENDIAN + {WL_SHM_FORMAT_XRGB4444, IMGFMT_RGB444}, // 4b 4g 4r 4a + {WL_SHM_FORMAT_XBGR4444, IMGFMT_BGR444}, // 4r 4g 4b 4a + {WL_SHM_FORMAT_ARGB4444, IMGFMT_RGB444}, + {WL_SHM_FORMAT_ABGR4444, IMGFMT_BGR444}, + {WL_SHM_FORMAT_XRGB1555, IMGFMT_RGB555}, // 5b 5g 5r 1a + {WL_SHM_FORMAT_XBGR1555, IMGFMT_BGR555}, // 5r 5g 5b 1a + {WL_SHM_FORMAT_ARGB1555, IMGFMT_RGB555}, + {WL_SHM_FORMAT_ABGR1555, IMGFMT_BGR555}, + {WL_SHM_FORMAT_RGB565, IMGFMT_RGB565}, // 5b 6g 5r + {WL_SHM_FORMAT_BGR565, IMGFMT_BGR565}, // 5r 6g 5b +#else + {WL_SHM_FORMAT_RGBX4444, IMGFMT_BGR444}, // 4a 4b 4g 4r + {WL_SHM_FORMAT_BGRX4444, IMGFMT_RGB444}, // 4a 4r 4g 4b + {WL_SHM_FORMAT_RGBA4444, IMGFMT_BGR444}, + {WL_SHM_FORMAT_BGRA4444, IMGFMT_RGB444}, + {WL_SHM_FORMAT_RGBX5551, IMGFMT_BGR555}, // 1a 5g 5b 5r + {WL_SHM_FORMAT_BGRX5551, IMGFMT_RGB555}, // 1a 5r 5g 5b + {WL_SHM_FORMAT_RGBA5551, IMGFMT_BGR555}, + {WL_SHM_FORMAT_BGRA5551, IMGFMT_RGB555}, +#endif {WL_SHM_FORMAT_RGB888, IMGFMT_BGR24}, // 8b 8g 8r {WL_SHM_FORMAT_BGR888, IMGFMT_RGB24}, // 8r 8g 8b {WL_SHM_FORMAT_XBGR8888, IMGFMT_RGB0}, |