util/format: Use more descriptive names for YUV formats

This is the first step for more auto-generated YUV helpers. We keep
the short/fourcc names as aliases, and generate defines so we don't have
to patch the existing code, but ultimately, it'd be good to consistently
use the fully descriptive names so it's easier to reason about the
formats when reading the code.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35177>
This commit is contained in:
Boris Brezillon 2025-05-26 18:36:00 +02:00 committed by Marge Bot
parent fabd0d82db
commit 75ba8f403d
5 changed files with 262 additions and 156 deletions

View file

@ -685,39 +685,45 @@
# YUV formats
# http://www.fourcc.org/yuv.php#UYVY
- name: UYVY
- name: U8Y8V8Y8_422_UNORM
alias: UYVY
layout: subsampled
colorspace: YUV
block: {width: 2, height: 1, depth: 1}
channels: [UN8, UN8, UN8, UN8]
swizzles: [X, Y, Z, 1]
- name: VYUY
- name: V8Y8U8Y8_422_UNORM
alias: VYUY
layout: subsampled
colorspace: YUV
block: {width: 2, height: 1, depth: 1}
channels: [UN8, UN8, UN8, UN8]
swizzles: [X, Y, Z, 1]
# http://www.fourcc.org/yuv.php#YUYV (a.k.a http://www.fourcc.org/yuv.php#YUY2)
- name: YUYV
- name: Y8U8Y8V8_422_UNORM
alias: YUYV
layout: subsampled
colorspace: YUV
block: {width: 2, height: 1, depth: 1}
channels: [UN8, UN8, UN8, UN8]
swizzles: [X, Y, Z, 1]
- name: YVYU
- name: Y8V8Y8U8_422_UNORM
alias: YVYU
layout: subsampled
colorspace: YUV
block: {width: 2, height: 1, depth: 1}
channels: [UN8, UN8, UN8, UN8]
swizzles: [X, Y, Z, 1]
- name: AYUV
- name: A8Y8U8V8_444_UNORM
alias: AYUV
layout: other
colorspace: YUV
block: {width: 4, height: 4, depth: 1}
channels: [UN8]
swizzles: [X, Y, Z, W]
- name: XYUV
- name: X8Y8U8V8_444_UNORM
alias: XYUV
layout: other
colorspace: YUV
block: {width: 4, height: 4, depth: 1}
@ -1964,31 +1970,36 @@
swizzles: [X, Y, Z, 1]
- name: YV12
- name: Y8_V8_U8_420_UNORM
alias: YV12
layout: planar3
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
channels: []
swizzles: [X, Y, Z, W]
- name: YV16
- name: Y8_V8_U8_422_UNORM
alias: YV16
layout: planar3
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
channels: []
swizzles: [X, Y, Z, W]
- name: IYUV
- name: Y8_U8_V8_420_UNORM
alias: IYUV
layout: planar3
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
channels: []
swizzles: [X, Y, Z, W]
- name: NV12
- name: Y8_U8V8_420_UNORM
alias: NV12
layout: planar2
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
channels: []
swizzles: [X, Y, Z, W]
- name: NV21
- name: Y8_V8U8_420_UNORM
alias: NV21
layout: planar2
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
@ -2000,13 +2011,15 @@
block: {width: 1, height: 1, depth: 1}
channels: [UN8]
swizzles: [X, 0, 0, 1]
- name: NV15
- name: Y10_U10V10_420_UNORM
alias: NV15
layout: planar2
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
channels: []
swizzles: [X, Y, Z, W]
- name: NV20
- name: Y10_U10V10_422_UNORM
alias: NV20
layout: planar2
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
@ -2160,7 +2173,8 @@
block: {width: 1, height: 1, depth: 1}
channels: []
swizzles: [X, Y, Z, W]
- name: NV16
- name: Y8_U8V8_422_UNORM
alias: NV16
layout: planar2
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
@ -2242,25 +2256,29 @@
swizzles: [X, Y, Z, W]
- name: P010
- name: X6Y10_X6U10X6V10_420_UNORM
alias: P010
layout: planar2
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
channels: []
swizzles: [X, Y, Z, W]
- name: P012
- name: X4Y12_X4U12X4V12_420_UNORM
alias: P012
layout: planar2
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
channels: []
swizzles: [X, Y, Z, W]
- name: P016
- name: Y16_U16V16_420_UNORM
alias: P016
layout: planar2
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
channels: []
swizzles: [X, Y, Z, W]
- name: P030
- name: Y10Y10Y10X2_U10V10U10X2V10U10V10X2_420_UNORM
alias: P030
layout: planar2
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
@ -2268,19 +2286,22 @@
swizzles: [X, Y, Z, W]
- name: Y210
- name: X6Y10X6U10X6Y10X6V10_422_UNORM
alias: Y210
layout: subsampled
colorspace: YUV
block: {width: 2, height: 1, depth: 1}
channels: [X64]
swizzles: [X, Y, Z, 1]
- name: Y212
- name: X4Y12X4U12X4Y12X4V12_422_UNORM
alias: Y212
layout: subsampled
colorspace: YUV
block: {width: 2, height: 1, depth: 1}
channels: [X64]
swizzles: [X, Y, Z, 1]
- name: Y216
- name: Y16U16Y16V16_422_UNORM
alias: Y216
layout: subsampled
colorspace: YUV
block: {width: 2, height: 1, depth: 1}
@ -2288,19 +2309,22 @@
swizzles: [X, Y, Z, 1]
- name: Y410
- name: U10Y10V10A2_444_UNORM
alias: Y410
layout: other
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
channels: [UN10, UN10, UN10, UN2]
swizzles: [Y, Z, X, W]
- name: Y412
- name: X4U12X4Y12X4V12X4A12_444_UNORM
alias: Y412
layout: other
colorspace: YUV
block: {width: 1, height: 1, depth: 1}
channels: [UN16, UN16, UN16, UN16]
swizzles: [Y, Z, X, W]
- name: Y416
- name: U16Y16V16A16_444_UNORM
alias: Y416
layout: other
colorspace: YUV
block: {width: 1, height: 1, depth: 1}

View file

@ -277,6 +277,11 @@ class Format:
self.be_alias = f"PIPE_FORMAT_{consume_str(self, source, 'big_endian', 'alias')}"
consumed(self, source, 'big_endian')
# Allow shorter fourcc alias for fully descriptive YUV formats.
self.alias = None
if 'alias' in source:
self.alias = f"PIPE_FORMAT_{consume_str(self, source, 'alias')}"
consumed(self, source)
del(source)

View file

@ -80,26 +80,26 @@ def has_access(format):
# pack/unpack functions for softpipe/llvmpipe.
noaccess_formats = [
'r1_unorm',
'yv12',
'yv16',
'iyuv',
'nv12',
'nv16',
'nv21',
'nv15',
'nv20',
'p010',
'p012',
'p016',
'p030',
'y210',
'y212',
'y216',
'y410',
'y412',
'y416',
'xyuv',
'ayuv',
'y8_v8_u8_420_unorm',
'y8_v8_u8_422_unorm',
'y8_u8_v8_420_unorm',
'y8_u8v8_420_unorm',
'y8_u8v8_422_unorm',
'y8_v8u8_420_unorm',
'y10_u10v10_420_unorm',
'y10_u10v10_422_unorm',
'x6y10_x6u10x6v10_420_unorm',
'x4y12_x4u12x4v12_420_unorm',
'y16_u16v16_420_unorm',
'y10y10y10x2_u10v10u10x2v10u10v10x2_420_unorm',
'x6y10x6u10x6y10x6v10_422_unorm',
'x4y12x4u12x4y12x4v12_422_unorm',
'y16u16y16v16_422_unorm',
'u10y10v10a2_444_unorm',
'x4u12x4y12x4v12x4a12_444_unorm',
'u16y16v16a16_444_unorm',
'x8y8u8v8_444_unorm',
'a8y8u8v8_444_unorm',
'r8g8_r8b8_unorm',
'r8b8_r8g8_unorm',
'g8r8_b8r8_unorm',
@ -279,6 +279,11 @@ def write_format_enum(formats):
print('};', file=sys.stdout3)
def write_format_aliases(formats):
for f in formats:
if f.colorspace and f.alias != None:
print("#define %s %s" % (f.alias, f.name), file=sys.stdout3)
print(file=sys.stdout3)
print("#if UTIL_ARCH_LITTLE_ENDIAN", file=sys.stdout3)
for f in formats:
if f.le_alias:

View file

@ -483,9 +483,11 @@ util_format_g8r8_g8b8_unorm_fetch_rgba(void *restrict in_dst, const uint8_t *res
void
util_format_uyvy_unpack_rgba_float(void *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_u8y8v8y8_422_unorm_unpack_rgba_float(void *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -530,9 +532,11 @@ util_format_uyvy_unpack_rgba_float(void *restrict dst_row, unsigned dst_stride,
}
void
util_format_vyuy_unpack_rgba_float(void *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_v8y8u8y8_422_unorm_unpack_rgba_float(void *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -577,9 +581,11 @@ util_format_vyuy_unpack_rgba_float(void *restrict dst_row, unsigned dst_stride,
}
void
util_format_uyvy_unpack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_u8y8v8y8_422_unorm_unpack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -624,9 +630,11 @@ util_format_uyvy_unpack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stri
}
void
util_format_vyuy_unpack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_v8y8u8y8_422_unorm_unpack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -671,9 +679,11 @@ util_format_vyuy_unpack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stri
}
void
util_format_uyvy_pack_rgba_float(uint8_t *restrict dst_row, unsigned dst_stride,
const float *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_u8y8v8y8_422_unorm_pack_rgba_float(uint8_t *restrict dst_row,
unsigned dst_stride,
const float *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -723,9 +733,11 @@ util_format_uyvy_pack_rgba_float(uint8_t *restrict dst_row, unsigned dst_stride,
}
void
util_format_vyuy_pack_rgba_float(uint8_t *restrict dst_row, unsigned dst_stride,
const float *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_v8y8u8y8_422_unorm_pack_rgba_float(uint8_t *restrict dst_row,
unsigned dst_stride,
const float *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -776,9 +788,11 @@ util_format_vyuy_pack_rgba_float(uint8_t *restrict dst_row, unsigned dst_stride,
void
util_format_uyvy_pack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_u8y8v8y8_422_unorm_pack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -828,9 +842,11 @@ util_format_uyvy_pack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride
}
void
util_format_vyuy_pack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_v8y8u8y8_422_unorm_pack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -880,8 +896,9 @@ util_format_vyuy_pack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride
}
void
util_format_uyvy_fetch_rgba(void *restrict in_dst, const uint8_t *restrict src,
unsigned i, ASSERTED unsigned j)
util_format_u8y8v8y8_422_unorm_fetch_rgba(void *restrict in_dst,
const uint8_t *restrict src,
unsigned i, ASSERTED unsigned j)
{
float *dst = in_dst;
uint8_t y, u, v;
@ -900,8 +917,9 @@ util_format_uyvy_fetch_rgba(void *restrict in_dst, const uint8_t *restrict src,
void
util_format_vyuy_fetch_rgba(void *restrict in_dst, const uint8_t *restrict src,
unsigned i, ASSERTED unsigned j)
util_format_v8y8u8y8_422_unorm_fetch_rgba(void *restrict in_dst,
const uint8_t *restrict src,
unsigned i, ASSERTED unsigned j)
{
float *dst = in_dst;
uint8_t y, u, v;
@ -920,9 +938,11 @@ util_format_vyuy_fetch_rgba(void *restrict in_dst, const uint8_t *restrict src,
void
util_format_yuyv_unpack_rgba_float(void *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_y8u8y8v8_422_unorm_unpack_rgba_float(void *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -967,9 +987,11 @@ util_format_yuyv_unpack_rgba_float(void *restrict dst_row, unsigned dst_stride,
}
void
util_format_yvyu_unpack_rgba_float(void *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_y8v8y8u8_422_unorm_unpack_rgba_float(void *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -1015,9 +1037,11 @@ util_format_yvyu_unpack_rgba_float(void *restrict dst_row, unsigned dst_stride,
void
util_format_yuyv_unpack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_y8u8y8v8_422_unorm_unpack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -1062,9 +1086,11 @@ util_format_yuyv_unpack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stri
}
void
util_format_yvyu_unpack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_y8v8y8u8_422_unorm_unpack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -1110,9 +1136,11 @@ util_format_yvyu_unpack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stri
void
util_format_yuyv_pack_rgba_float(uint8_t *restrict dst_row, unsigned dst_stride,
const float *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_y8u8y8v8_422_unorm_pack_rgba_float(uint8_t *restrict dst_row,
unsigned dst_stride,
const float *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -1162,9 +1190,11 @@ util_format_yuyv_pack_rgba_float(uint8_t *restrict dst_row, unsigned dst_stride,
}
void
util_format_yvyu_pack_rgba_float(uint8_t *restrict dst_row, unsigned dst_stride,
const float *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_y8v8y8u8_422_unorm_pack_rgba_float(uint8_t *restrict dst_row,
unsigned dst_stride,
const float *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -1214,9 +1244,11 @@ util_format_yvyu_pack_rgba_float(uint8_t *restrict dst_row, unsigned dst_stride,
}
void
util_format_yuyv_pack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_y8u8y8v8_422_unorm_pack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -1266,9 +1298,11 @@ util_format_yuyv_pack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride
}
void
util_format_yvyu_pack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height)
util_format_y8v8y8u8_422_unorm_pack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height)
{
unsigned x, y;
@ -1319,8 +1353,9 @@ util_format_yvyu_pack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride
void
util_format_yuyv_fetch_rgba(void *restrict in_dst, const uint8_t *restrict src,
unsigned i, ASSERTED unsigned j)
util_format_y8u8y8v8_422_unorm_fetch_rgba(void *restrict in_dst,
const uint8_t *restrict src,
unsigned i, ASSERTED unsigned j)
{
float *dst = in_dst;
uint8_t y, u, v;
@ -1338,8 +1373,9 @@ util_format_yuyv_fetch_rgba(void *restrict in_dst, const uint8_t *restrict src,
}
void
util_format_yvyu_fetch_rgba(void *restrict in_dst, const uint8_t *restrict src,
unsigned i, ASSERTED unsigned j)
util_format_y8v8y8u8_422_unorm_fetch_rgba(void *restrict in_dst,
const uint8_t *restrict src,
unsigned i, ASSERTED unsigned j)
{
float *dst = in_dst;
uint8_t y, u, v;

View file

@ -123,100 +123,136 @@ util_format_yuv_to_rgb_8unorm(uint8_t y, uint8_t u, uint8_t v,
void
util_format_uyvy_unpack_rgba_float(void *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_u8y8v8y8_422_unorm_unpack_rgba_float(void *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_uyvy_unpack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_u8y8v8y8_422_unorm_unpack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_uyvy_pack_rgba_float(uint8_t *restrict dst_row, unsigned dst_stride,
const float *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_u8y8v8y8_422_unorm_pack_rgba_float(uint8_t *restrict dst_row,
unsigned dst_stride,
const float *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_uyvy_pack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_u8y8v8y8_422_unorm_pack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_uyvy_fetch_rgba(void *restrict dst, const uint8_t *restrict src,
unsigned i, unsigned j);
util_format_u8y8v8y8_422_unorm_fetch_rgba(void *restrict dst,
const uint8_t *restrict src,
unsigned i, unsigned j);
void
util_format_vyuy_unpack_rgba_float(void *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_v8y8u8y8_422_unorm_unpack_rgba_float(void *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_vyuy_unpack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_v8y8u8y8_422_unorm_unpack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_vyuy_pack_rgba_float(uint8_t *restrict dst_row, unsigned dst_stride,
const float *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_v8y8u8y8_422_unorm_pack_rgba_float(uint8_t *restrict dst_row,
unsigned dst_stride,
const float *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_vyuy_pack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_v8y8u8y8_422_unorm_pack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_vyuy_fetch_rgba(void *restrict dst, const uint8_t *restrict src,
unsigned i, unsigned j);
util_format_v8y8u8y8_422_unorm_fetch_rgba(void *restrict dst,
const uint8_t *restrict src,
unsigned i, unsigned j);
void
util_format_yuyv_unpack_rgba_float(void *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_y8u8y8v8_422_unorm_unpack_rgba_float(void *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_yuyv_unpack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_y8u8y8v8_422_unorm_unpack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_yuyv_pack_rgba_float(uint8_t *restrict dst_row, unsigned dst_stride,
const float *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_y8u8y8v8_422_unorm_pack_rgba_float(uint8_t *restrict dst_row,
unsigned dst_stride,
const float *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_yuyv_pack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_y8u8y8v8_422_unorm_pack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_yuyv_fetch_rgba(void *restrict dst, const uint8_t *restrict src,
unsigned i, unsigned j);
util_format_y8u8y8v8_422_unorm_fetch_rgba(void *restrict dst,
const uint8_t *restrict src,
unsigned i, unsigned j);
void
util_format_yvyu_unpack_rgba_float(void *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_y8v8y8u8_422_unorm_unpack_rgba_float(void *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_yvyu_unpack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_y8v8y8u8_422_unorm_unpack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_yvyu_pack_rgba_float(uint8_t *restrict dst_row, unsigned dst_stride,
const float *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_y8v8y8u8_422_unorm_pack_rgba_float(uint8_t *restrict dst_row,
unsigned dst_stride,
const float *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_yvyu_pack_rgba_8unorm(uint8_t *restrict dst_row, unsigned dst_stride,
const uint8_t *restrict src_row, unsigned src_stride,
unsigned width, unsigned height);
util_format_y8v8y8u8_422_unorm_pack_rgba_8unorm(uint8_t *restrict dst_row,
unsigned dst_stride,
const uint8_t *restrict src_row,
unsigned src_stride,
unsigned width, unsigned height);
void
util_format_yvyu_fetch_rgba(void *restrict dst, const uint8_t *restrict src,
unsigned i, unsigned j);
util_format_y8v8y8u8_422_unorm_fetch_rgba(void *restrict dst,
const uint8_t *restrict src,
unsigned i, unsigned j);
void
util_format_r8g8_b8g8_unorm_unpack_rgba_float(void *restrict dst_row, unsigned dst_stride,