mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-10 12:30:11 +01:00
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:
parent
fabd0d82db
commit
75ba8f403d
5 changed files with 262 additions and 156 deletions
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue