mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 15:38:09 +02:00
frontends/va: add ABGR format mappings
Add format mappings between VA FourCC and pipe_format for ABGR. Signed-off-by: Peyton Lee <peytolee@amd.com>
This commit is contained in:
parent
9dc8bb4403
commit
597fe16e87
3 changed files with 9 additions and 1 deletions
|
|
@ -58,6 +58,8 @@ static const VAImageFormat formats[] =
|
|||
0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000},
|
||||
{.fourcc = VA_FOURCC('R','G','B','A'), .byte_order = VA_LSB_FIRST, 32, 32,
|
||||
0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000},
|
||||
{.fourcc = VA_FOURCC('A','B','G','R'), .byte_order = VA_LSB_FIRST, 32, 32,
|
||||
0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000},
|
||||
{.fourcc = VA_FOURCC('A','R','G','B'), .byte_order = VA_LSB_FIRST, 32, 32,
|
||||
0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000},
|
||||
{.fourcc = VA_FOURCC('B','G','R','X'), .byte_order = VA_LSB_FIRST, 32, 24,
|
||||
|
|
@ -187,6 +189,7 @@ vlVaCreateImage(VADriverContextP ctx, VAImageFormat *format, int width, int heig
|
|||
|
||||
case VA_FOURCC('B','G','R','A'):
|
||||
case VA_FOURCC('R','G','B','A'):
|
||||
case VA_FOURCC('A','B','G','R'):
|
||||
case VA_FOURCC('A','R','G','B'):
|
||||
case VA_FOURCC('B','G','R','X'):
|
||||
case VA_FOURCC('R','G','B','X'):
|
||||
|
|
|
|||
|
|
@ -347,6 +347,7 @@ vlVaQuerySurfaceAttributes(VADriverContextP ctx, VAConfigID config_id,
|
|||
|
||||
/* VA_RT_FORMAT_RGB32 */
|
||||
vlVaAddSurfaceFormat(pscreen, config, PIPE_FORMAT_R8G8B8A8_UNORM, attribs, &i);
|
||||
vlVaAddSurfaceFormat(pscreen, config, PIPE_FORMAT_A8B8G8R8_UNORM, attribs, &i);
|
||||
vlVaAddSurfaceFormat(pscreen, config, PIPE_FORMAT_B8G8R8A8_UNORM, attribs, &i);
|
||||
vlVaAddSurfaceFormat(pscreen, config, PIPE_FORMAT_R8G8B8X8_UNORM, attribs, &i);
|
||||
vlVaAddSurfaceFormat(pscreen, config, PIPE_FORMAT_B8G8R8X8_UNORM, attribs, &i);
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
#define VL_VA_DRIVER(ctx) ((vlVaDriver *)ctx->pDriverData)
|
||||
#define VL_VA_PSCREEN(ctx) (VL_VA_DRIVER(ctx)->vscreen->pscreen)
|
||||
|
||||
#define VL_VA_MAX_IMAGE_FORMATS 22
|
||||
#define VL_VA_MAX_IMAGE_FORMATS 23
|
||||
#define VL_VA_ENC_GOP_COEFF 16
|
||||
|
||||
#define UINT_TO_PTR(x) ((void*)(uintptr_t)(x))
|
||||
|
|
@ -148,6 +148,8 @@ VaFourccToPipeFormat(unsigned format)
|
|||
return PIPE_FORMAT_A8R8G8B8_UNORM;
|
||||
case VA_FOURCC('R','G','B','A'):
|
||||
return PIPE_FORMAT_R8G8B8A8_UNORM;
|
||||
case VA_FOURCC('A','B','G','R'):
|
||||
return PIPE_FORMAT_A8B8G8R8_UNORM;
|
||||
case VA_FOURCC('B','G','R','X'):
|
||||
return PIPE_FORMAT_B8G8R8X8_UNORM;
|
||||
case VA_FOURCC('R','G','B','X'):
|
||||
|
|
@ -200,6 +202,8 @@ PipeFormatToVaFourcc(enum pipe_format p_format)
|
|||
return VA_FOURCC('R','G','B','A');
|
||||
case PIPE_FORMAT_A8R8G8B8_UNORM:
|
||||
return VA_FOURCC('A','R','G','B');
|
||||
case PIPE_FORMAT_A8B8G8R8_UNORM:
|
||||
return VA_FOURCC('A','B','G','R');
|
||||
case PIPE_FORMAT_B8G8R8X8_UNORM:
|
||||
return VA_FOURCC('B','G','R','X');
|
||||
case PIPE_FORMAT_R8G8B8X8_UNORM:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue