mirror of https://github.com/mpv-player/mpv
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.
This commit is contained in:
parent
91471deecc
commit
fce77c05f5
|
@ -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},
|
||||
|
|
Loading…
Reference in New Issue