[FFmpeg-devel] [PATCH 1/4] kmsgrab: Fix 32-bit RGB DRM format definitions

Carl Eugen Hoyos ceffmpeg at gmail.com
Sat Sep 16 00:40:33 EEST 2017


2017-09-15 22:51 GMT+02:00 Mark Thompson <sw at jkqxz.net>:
> The 32-bit DRM formats are defined in terms of little-endian words, so
> 32-bit RGB formats like XRGB actually have the elements in the opposite
> order in memory to the order they are in the name.
>
> This does not affect YUYV and similar YUV 4:2:2 formats, which are in
> the expected order.
> ---
>  libavdevice/kmsgrab.c | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/libavdevice/kmsgrab.c b/libavdevice/kmsgrab.c
> index 67a83ef84a..bcb6865f60 100644
> --- a/libavdevice/kmsgrab.c
> +++ b/libavdevice/kmsgrab.c
> @@ -210,14 +210,14 @@ static const struct {
>  #endif
>      { AV_PIX_FMT_RGB24,    DRM_FORMAT_RGB888   },
>      { AV_PIX_FMT_BGR24,    DRM_FORMAT_BGR888   },
> -    { AV_PIX_FMT_0RGB,     DRM_FORMAT_XRGB8888 },
> -    { AV_PIX_FMT_0BGR,     DRM_FORMAT_XBGR8888 },
> -    { AV_PIX_FMT_RGB0,     DRM_FORMAT_RGBX8888 },
> -    { AV_PIX_FMT_BGR0,     DRM_FORMAT_BGRX8888 },
> -    { AV_PIX_FMT_ARGB,     DRM_FORMAT_ARGB8888 },
> -    { AV_PIX_FMT_ABGR,     DRM_FORMAT_ABGR8888 },
> -    { AV_PIX_FMT_RGBA,     DRM_FORMAT_RGBA8888 },
> -    { AV_PIX_FMT_BGRA,     DRM_FORMAT_BGRA8888 },
> +    { AV_PIX_FMT_0RGB,     DRM_FORMAT_BGRX8888 },
> +    { AV_PIX_FMT_0BGR,     DRM_FORMAT_RGBX8888 },
> +    { AV_PIX_FMT_RGB0,     DRM_FORMAT_XBGR8888 },
> +    { AV_PIX_FMT_BGR0,     DRM_FORMAT_XRGB8888 },
> +    { AV_PIX_FMT_ARGB,     DRM_FORMAT_BGRA8888 },
> +    { AV_PIX_FMT_ABGR,     DRM_FORMAT_RGBA8888 },
> +    { AV_PIX_FMT_RGBA,     DRM_FORMAT_ABGR8888 },
> +    { AV_PIX_FMT_BGRA,     DRM_FORMAT_ARGB8888 },

Is it possible to compile kmsgrab on big-endian hardware?

Thank you, Carl Eugen


More information about the ffmpeg-devel mailing list