summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-05-17 14:57:13 +0200
committerwm4 <wm4@nowhere>2020-05-18 01:54:59 +0200
commitcaee8748da5c25b928f699bfa9f1ac4a5f3ae0ce (patch)
tree492d46f6ab40eee4c5b3e17b3666d21843db4166
parent00ac63c37b18ef3e7fbe5c227eb10073b264a26a (diff)
downloadmpv-caee8748da5c25b928f699bfa9f1ac4a5f3ae0ce.tar.bz2
mpv-caee8748da5c25b928f699bfa9f1ac4a5f3ae0ce.tar.xz
video: clean up some imgfmt related stuff
Remove the vaguely defined plane_bits and component_bits fields from struct mp_imgfmt_desc. Add weird replacements for existing uses. Remove the bytes[] field, replace uses with bpp[]. Fix some potential alignment issues in existing code. As a compromise, split mp_image_pixel_ptr() into 2 functions, because I think it's a bad idea to implicitly round, but for some callers being slightly less strict is convenient. This shouldn't really change anything. In fact, it's a 100% useless change. I'm just cleaning up what I started almost 8 years ago (see commit 00653a3eb052). With this I've decided to keep mp_imgfmt_desc, just removing the weird parts, and keeping the saner parts.
-rw-r--r--DOCS/interface-changes.rst1
-rw-r--r--DOCS/man/input.rst5
-rw-r--r--player/command.c2
-rw-r--r--sub/draw_bmp.c8
-rw-r--r--test/img_format.c14
-rw-r--r--test/ref/img_formats.txt1302
-rw-r--r--test/repack.c6
-rw-r--r--test/scale_test.c16
-rw-r--r--video/image_writer.c14
-rw-r--r--video/img_format.c43
-rw-r--r--video/img_format.h18
-rw-r--r--video/mp_image.c55
-rw-r--r--video/mp_image.h1
-rw-r--r--video/repack.c16
-rw-r--r--video/sws_utils.c2
15 files changed, 747 insertions, 756 deletions
diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst
index b4e926c267..ad1e5b47d1 100644
--- a/DOCS/interface-changes.rst
+++ b/DOCS/interface-changes.rst
@@ -68,6 +68,7 @@ Interface changes
- reading loop-file property as native property or mpv_node will now return
"inf" instead of boolean true (also affects loop option)
- remove some --vo-direct3d-... options (it got dumbed down; use --vo=gpu)
+ - remove video-params/plane-depth property (was too vaguely defined)
--- mpv 0.32.0 ---
- change behavior when using legacy option syntax with options that start
with two dashes (``--`` instead of a ``-``). Now, using the recommended
diff --git a/DOCS/man/input.rst b/DOCS/man/input.rst
index 200b3d403f..bfb8573a86 100644
--- a/DOCS/man/input.rst
+++ b/DOCS/man/input.rst
@@ -2236,11 +2236,6 @@ Property list
different resolution, which is the reason this value can sometimes be
odd or confusing. Can be unavailable with some formats.
- ``video-params/plane-depth``
- Bit depth for each color component as integer. This is only exposed
- for planar or single-component formats, and is unavailable for other
- formats.
-
``video-params/w``, ``video-params/h``
Video size as integers, with no aspect correction applied.
diff --git a/player/command.c b/player/command.c
index 04e84c998f..45b721ef09 100644
--- a/player/command.c
+++ b/player/command.c
@@ -2131,8 +2131,6 @@ static int property_imgparams(struct mp_image_params p, int action, void *arg)
{"pixelformat", SUB_PROP_STR(mp_imgfmt_to_name(p.imgfmt))},
{"average-bpp", SUB_PROP_INT(bpp),
.unavailable = !bpp},
- {"plane-depth", SUB_PROP_INT(desc.plane_bits),
- .unavailable = !(desc.flags & MP_IMGFLAG_YUV_P)},
{"w", SUB_PROP_INT(p.w)},
{"h", SUB_PROP_INT(p.h)},
{"dw", SUB_PROP_INT(d_w)},
diff --git a/sub/draw_bmp.c b/sub/draw_bmp.c
index b208ec6ad5..f7f8982051 100644
--- a/sub/draw_bmp.c
+++ b/sub/draw_bmp.c
@@ -138,10 +138,10 @@ static void blend_slice(struct mp_draw_sub_cache *p)
int h = (1 << vid->fmt.chroma_ys) - (1 << ys) + 1;
int cw = mp_chroma_div_up(vid->w, xs);
for (int y = 0; y < h; y++) {
- p->blend_line(mp_image_pixel_ptr(vid, plane, 0, y),
- mp_image_pixel_ptr(ov, plane, 0, y),
- xs || ys ? mp_image_pixel_ptr(ca, 0, 0, y)
- : mp_image_pixel_ptr(ov, ov->num_planes - 1, 0, y),
+ p->blend_line(mp_image_pixel_ptr_ny(vid, plane, 0, y),
+ mp_image_pixel_ptr_ny(ov, plane, 0, y),
+ xs || ys ? mp_image_pixel_ptr_ny(ca, 0, 0, y)
+ : mp_image_pixel_ptr_ny(ov, ov->num_planes - 1, 0, y),
cw);
}
}
diff --git a/test/img_format.c b/test/img_format.c
index 2e4e899203..9cd8186ab6 100644
--- a/test/img_format.c
+++ b/test/img_format.c
@@ -82,7 +82,7 @@ static void run(struct test_ctx *ctx)
struct mp_imgfmt_desc d = mp_imgfmt_get_desc(mpfmt);
if (d.id) {
- fprintf(f, " Legacy desc: ");
+ fprintf(f, " Basic desc: ");
#define FLAG(t, c) if (d.flags & (t)) fprintf(f, "[%s]", c);
FLAG(MP_IMGFLAG_BYTE_ALIGNED, "ba")
FLAG(MP_IMGFLAG_ALPHA, "a")
@@ -95,13 +95,15 @@ static void run(struct test_ctx *ctx)
FLAG(MP_IMGFLAG_PAL, "pal")
FLAG(MP_IMGFLAG_HWACCEL, "hw")
fprintf(f, "\n");
- fprintf(f, " planes=%d, chroma=%d:%d align=%d:%d bits=%d cbits=%d\n",
- d.num_planes, d.chroma_xs, d.chroma_ys, d.align_x, d.align_y,
- d.plane_bits, d.component_bits);
+ fprintf(f, " planes=%d, chroma=%d:%d align=%d:%d\n",
+ d.num_planes, d.chroma_xs, d.chroma_ys, d.align_x, d.align_y);
fprintf(f, " {");
for (int n = 0; n < MP_MAX_PLANES; n++) {
- fprintf(f, "%d/%d/[%d:%d] ", d.bytes[n], d.bpp[n],
- d.xs[n], d.ys[n]);
+ if (n >= d.num_planes) {
+ assert(d.bpp[n] == 0 && d.xs[n] == 0 && d.ys[n] == 0);
+ continue;
+ }
+ fprintf(f, "%d/[%d:%d] ", d.bpp[n], d.xs[n], d.ys[n]);
}
fprintf(f, "}\n");
} else {
diff --git a/test/ref/img_formats.txt b/test/ref/img_formats.txt
index eeeb20b2cd..b1c733fa8f 100644
--- a/test/ref/img_formats.txt
+++ b/test/ref/img_formats.txt
@@ -1,7 +1,7 @@
0bgr: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=24 cbits=8
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {32/[0:0] }
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {0, 3, 2, 1}
AVD: name=0bgr chroma=0:0 flags=0x20 [rgb]
@@ -9,9 +9,9 @@
1: p=0 st=4 o=2 sh=0 d=8
2: p=0 st=4 o=1 sh=0 d=8
0rgb: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=24 cbits=8
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {32/[0:0] }
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {0, 1, 2, 3}
AVD: name=0rgb chroma=0:0 flags=0x20 [rgb]
@@ -19,9 +19,9 @@
1: p=0 st=4 o=2 sh=0 d=8
2: p=0 st=4 o=3 sh=0 d=8
abgr: fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=32 cbits=8
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {32/[0:0] }
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {4, 3, 2, 1}
AVD: name=abgr chroma=0:0 flags=0xa0 [rgb][alpha]
@@ -30,9 +30,9 @@ abgr: fcsp=rgb ctype=uint
2: p=0 st=4 o=1 sh=0 d=8
3: p=0 st=4 o=0 sh=0 d=8
argb: fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=32 cbits=8
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {32/[0:0] }
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {4, 1, 2, 3}
AVD: name=argb chroma=0:0 flags=0xa0 [rgb][alpha]
@@ -41,9 +41,9 @@ argb: fcsp=rgb ctype=uint
2: p=0 st=4 o=3 sh=0 d=8
3: p=0 st=4 o=0 sh=0 d=8
ayuv64: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuv][le]
- planes=1, chroma=0:0 align=1:1 bits=64 cbits=16
- {8/64/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][yuv][le]
+ planes=1, chroma=0:0 align=1:1
+ {64/[0:0] }
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
0: {4, 1, 2, 3}
AVD: name=ayuv64le chroma=0:0 flags=0x80 [alpha]
@@ -52,114 +52,114 @@ ayuv64: [GENERIC] ctype=uint
2: p=0 st=8 o=6 sh=0 d=16
3: p=0 st=8 o=0 sh=0 d=16
ayuv64be: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuv][be]
- planes=1, chroma=0:0 align=1:1 bits=64 cbits=16
- {8/64/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][yuv][be]
+ planes=1, chroma=0:0 align=1:1
+ {64/[0:0] }
AVD: name=ayuv64be chroma=0:0 flags=0x81 [be][alpha]
0: p=0 st=8 o=2 sh=0 d=16
1: p=0 st=8 o=4 sh=0 d=16
2: p=0 st=8 o=6 sh=0 d=16
3: p=0 st=8 o=0 sh=0 d=16
bayer_bggr16: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=0
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bayer_bggr16le chroma=0:0 flags=0x120 [rgb][bayer]
0: p=0 st=2 o=0 sh=0 d=4
1: p=0 st=2 o=0 sh=0 d=8
2: p=0 st=2 o=0 sh=0 d=4
bayer_bggr16be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=0
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bayer_bggr16be chroma=0:0 flags=0x121 [be][rgb][bayer]
0: p=0 st=2 o=0 sh=0 d=4
1: p=0 st=2 o=0 sh=0 d=8
2: p=0 st=2 o=0 sh=0 d=4
bayer_bggr8: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=8 cbits=0
- {1/8/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {8/[0:0] }
AVD: name=bayer_bggr8 chroma=0:0 flags=0x120 [rgb][bayer]
0: p=0 st=1 o=0 sh=0 d=2
1: p=0 st=1 o=0 sh=0 d=4
2: p=0 st=1 o=0 sh=0 d=2
bayer_gbrg16: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=0
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bayer_gbrg16le chroma=0:0 flags=0x120 [rgb][bayer]
0: p=0 st=2 o=0 sh=0 d=4
1: p=0 st=2 o=0 sh=0 d=8
2: p=0 st=2 o=0 sh=0 d=4
bayer_gbrg16be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=0
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bayer_gbrg16be chroma=0:0 flags=0x121 [be][rgb][bayer]
0: p=0 st=2 o=0 sh=0 d=4
1: p=0 st=2 o=0 sh=0 d=8
2: p=0 st=2 o=0 sh=0 d=4
bayer_gbrg8: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=8 cbits=0
- {1/8/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {8/[0:0] }
AVD: name=bayer_gbrg8 chroma=0:0 flags=0x120 [rgb][bayer]
0: p=0 st=1 o=0 sh=0 d=2
1: p=0 st=1 o=0 sh=0 d=4
2: p=0 st=1 o=0 sh=0 d=2
bayer_grbg16: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=0
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bayer_grbg16le chroma=0:0 flags=0x120 [rgb][bayer]
0: p=0 st=2 o=0 sh=0 d=4
1: p=0 st=2 o=0 sh=0 d=8
2: p=0 st=2 o=0 sh=0 d=4
bayer_grbg16be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=0
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bayer_grbg16be chroma=0:0 flags=0x121 [be][rgb][bayer]
0: p=0 st=2 o=0 sh=0 d=4
1: p=0 st=2 o=0 sh=0 d=8
2: p=0 st=2 o=0 sh=0 d=4
bayer_grbg8: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=8 cbits=0
- {1/8/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {8/[0:0] }
AVD: name=bayer_grbg8 chroma=0:0 flags=0x120 [rgb][bayer]
0: p=0 st=1 o=0 sh=0 d=2
1: p=0 st=1 o=0 sh=0 d=4
2: p=0 st=1 o=0 sh=0 d=2
bayer_rggb16: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=0
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bayer_rggb16le chroma=0:0 flags=0x120 [rgb][bayer]
0: p=0 st=2 o=0 sh=0 d=4
1: p=0 st=2 o=0 sh=0 d=8
2: p=0 st=2 o=0 sh=0 d=4
bayer_rggb16be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=0
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bayer_rggb16be chroma=0:0 flags=0x121 [be][rgb][bayer]
0: p=0 st=2 o=0 sh=0 d=4
1: p=0 st=2 o=0 sh=0 d=8
2: p=0 st=2 o=0 sh=0 d=4
bayer_rggb8: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=8 cbits=0
- {1/8/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {8/[0:0] }
AVD: name=bayer_rggb8 chroma=0:0 flags=0x120 [rgb][bayer]
0: p=0 st=1 o=0 sh=0 d=2
1: p=0 st=1 o=0 sh=0 d=4
2: p=0 st=1 o=0 sh=0 d=2
bgr0: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=24 cbits=8
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {32/[0:0] }
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {3, 2, 1, 0}
AVD: name=bgr0 chroma=0:0 flags=0x20 [rgb]
@@ -167,9 +167,9 @@ bgr0: fcsp=rgb ctype=uint
1: p=0 st=4 o=1 sh=0 d=8
2: p=0 st=4 o=0 sh=0 d=8
bgr24: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=24 cbits=8
- {3/24/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {24/[0:0] }
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {3, 2, 1}
AVD: name=bgr24 chroma=0:0 flags=0x20 [rgb]
@@ -177,33 +177,33 @@ bgr24: fcsp=rgb ctype=uint
1: p=0 st=3 o=1 sh=0 d=8
2: p=0 st=3 o=0 sh=0 d=8
bgr4: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [rgb][le][be]
- planes=1, chroma=0:0 align=2:1 bits=4 cbits=0
- {0/4/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [rgb][le][be]
+ planes=1, chroma=0:0 align=2:1
+ {4/[0:0] }
AVD: name=bgr4 chroma=0:0 flags=0x24 [bs][rgb]
0: p=0 st=4 o=3 sh=0 d=1
1: p=0 st=4 o=1 sh=0 d=2
2: p=0 st=4 o=0 sh=0 d=1
bgr444: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=1, chroma=0:0 align=1:1 bits=12 cbits=4
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bgr444le chroma=0:0 flags=0x20 [rgb]
0: p=0 st=2 o=0 sh=0 d=4
1: p=0 st=2 o=0 sh=4 d=4
2: p=0 st=2 o=1 sh=0 d=4
bgr444be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][be]
- planes=1, chroma=0:0 align=1:1 bits=12 cbits=4
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bgr444be chroma=0:0 flags=0x21 [be][rgb]
0: p=0 st=2 o=0 sh=0 d=4
1: p=0 st=2 o=0 sh=4 d=4
2: p=0 st=2 o=-1 sh=0 d=4
bgr48: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=1, chroma=0:0 align=1:1 bits=48 cbits=16
- {6/48/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=1, chroma=0:0 align=1:1
+ {48/[0:0] }
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
0: {3, 2, 1}
AVD: name=bgr48le chroma=0:0 flags=0x20 [rgb]
@@ -211,65 +211,65 @@ bgr48: [GENERIC] fcsp=rgb ctype=uint
1: p=0 st=6 o=2 sh=0 d=16
2: p=0 st=6 o=0 sh=0 d=16
bgr48be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][be]
- planes=1, chroma=0:0 align=1:1 bits=48 cbits=16
- {6/48/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=1, chroma=0:0 align=1:1
+ {48/[0:0] }
AVD: name=bgr48be chroma=0:0 flags=0x21 [be][rgb]
0: p=0 st=6 o=4 sh=0 d=16
1: p=0 st=6 o=2 sh=0 d=16
2: p=0 st=6 o=0 sh=0 d=16
bgr4_byte: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=4 cbits=0
- {1/8/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {8/[0:0] }
AVD: name=bgr4_byte chroma=0:0 flags=0x60 [rgb]
0: p=0 st=1 o=0 sh=0 d=1
1: p=0 st=1 o=0 sh=1 d=2
2: p=0 st=1 o=0 sh=3 d=1
bgr555: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=1, chroma=0:0 align=1:1 bits=15 cbits=5
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bgr555le chroma=0:0 flags=0x20 [rgb]
0: p=0 st=2 o=0 sh=0 d=5
1: p=0 st=2 o=0 sh=5 d=5
2: p=0 st=2 o=1 sh=2 d=5
bgr555be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][be]
- planes=1, chroma=0:0 align=1:1 bits=15 cbits=5
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bgr555be chroma=0:0 flags=0x21 [be][rgb]
0: p=0 st=2 o=0 sh=0 d=5
1: p=0 st=2 o=0 sh=5 d=5
2: p=0 st=2 o=-1 sh=2 d=5
bgr565: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=0
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bgr565le chroma=0:0 flags=0x20 [rgb]
0: p=0 st=2 o=0 sh=0 d=5
1: p=0 st=2 o=0 sh=5 d=6
2: p=0 st=2 o=1 sh=3 d=5
bgr565be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][be]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=0
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=bgr565be chroma=0:0 flags=0x21 [be][rgb]
0: p=0 st=2 o=0 sh=0 d=5
1: p=0 st=2 o=0 sh=5 d=6
2: p=0 st=2 o=-1 sh=3 d=5
bgr8: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=8 cbits=0
- {1/8/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {8/[0:0] }
AVD: name=bgr8 chroma=0:0 flags=0x60 [rgb]
0: p=0 st=1 o=0 sh=0 d=3
1: p=0 st=1 o=0 sh=3 d=3
2: p=0 st=1 o=0 sh=6 d=2
bgra: fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=32 cbits=8
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {32/[0:0] }
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {3, 2, 1, 4}
AVD: name=bgra chroma=0:0 flags=0xa0 [rgb][alpha]
@@ -278,9 +278,9 @@ bgra: fcsp=rgb ctype=uint
2: p=0 st=4 o=0 sh=0 d=8
3: p=0 st=4 o=3 sh=0 d=8
bgra64: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][le]
- planes=1, chroma=0:0 align=1:1 bits=64 cbits=16
- {8/64/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][rgb][le]
+ planes=1, chroma=0:0 align=1:1
+ {64/[0:0] }
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
0: {3, 2, 1, 4}
AVD: name=bgra64le chroma=0:0 flags=0xa0 [rgb][alpha]
@@ -289,43 +289,43 @@ bgra64: [GENERIC] fcsp=rgb ctype=uint
2: p=0 st=8 o=0 sh=0 d=16
3: p=0 st=8 o=6 sh=0 d=16
bgra64be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][be]
- planes=1, chroma=0:0 align=1:1 bits=64 cbits=16
- {8/64/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][rgb][be]
+ planes=1, chroma=0:0 align=1:1
+ {64/[0:0] }
AVD: name=bgra64be chroma=0:0 flags=0xa1 [be][rgb][alpha]
0: p=0 st=8 o=4 sh=0 d=16
1: p=0 st=8 o=2 sh=0 d=16
2: p=0 st=8 o=0 sh=0 d=16
3: p=0 st=8 o=6 sh=0 d=16
cuda: ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=0:0 align=1:1 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=0:0 align=1:1
+ {}
AVD: name=cuda chroma=0:0 flags=0x8 [hw]
d3d11: ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=0:0 align=1:1 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=0:0 align=1:1
+ {}
AVD: name=d3d11 chroma=0:0 flags=0x8 [hw]
d3d11va_vld: [GENERIC] ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=1:1 align=2:2 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=1:1 align=2:2
+ {}
AVD: name=d3d11va_vld chroma=1:1 flags=0x8 [hw]
drm_prime: ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=0:0 align=1:1 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=0:0 align=1:1
+ {}
AVD: name=drm_prime chroma=0:0 flags=0x8 [hw]
dxva2_vld: ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=1:1 align=2:2 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=1:1 align=2:2
+ {}
AVD: name=dxva2_vld chroma=1:1 flags=0x8 [hw]
gbrap: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][le][be]
- planes=4, chroma=0:0 align=1:1 bits=8 cbits=8
- {1/8/[0:0] 1/8/[0:0] 1/8/[0:0] 1/8/[0:0] }
+ Basic desc: [ba][a][rgb][le][be]
+ planes=4, chroma=0:0 align=1:1
+ {8/[0:0] 8/[0:0] 8/[0:0] 8/[0:0] }
Regular: planes=4 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {2}
1: {3}
@@ -337,9 +337,9 @@ gbrap: [GENERIC] fcsp=rgb ctype=uint
2: p=1 st=1 o=0 sh=0 d=8
3: p=3 st=1 o=0 sh=0 d=8
gbrap10: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][le]
- planes=4, chroma=0:0 align=1:1 bits=10 cbits=10
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][rgb][le]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=-6 chroma=1x1 ctype=uint
0: {2}
1: {3}
@@ -351,18 +351,18 @@ gbrap10: [GENERIC] fcsp=rgb ctype=uint
2: p=1 st=2 o=0 sh=0 d=10
3: p=3 st=2 o=0 sh=0 d=10
gbrap10be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][be]
- planes=4, chroma=0:0 align=1:1 bits=10 cbits=10
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][rgb][be]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=gbrap10be chroma=0:0 flags=0xb1 [be][planar][rgb][alpha]
0: p=2 st=2 o=0 sh=0 d=10
1: p=0 st=2 o=0 sh=0 d=10
2: p=1 st=2 o=0 sh=0 d=10
3: p=3 st=2 o=0 sh=0 d=10
gbrap12: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][le]
- planes=4, chroma=0:0 align=1:1 bits=12 cbits=12
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][rgb][le]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=-4 chroma=1x1 ctype=uint
0: {2}
1: {3}
@@ -374,18 +374,18 @@ gbrap12: [GENERIC] fcsp=rgb ctype=uint
2: p=1 st=2 o=0 sh=0 d=12
3: p=3 st=2 o=0 sh=0 d=12
gbrap12be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][be]
- planes=4, chroma=0:0 align=1:1 bits=12 cbits=12
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][rgb][be]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=gbrap12be chroma=0:0 flags=0xb1 [be][planar][rgb][alpha]
0: p=2 st=2 o=0 sh=0 d=12
1: p=0 st=2 o=0 sh=0 d=12
2: p=1 st=2 o=0 sh=0 d=12
3: p=3 st=2 o=0 sh=0 d=12
gbrap16: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][le]
- planes=4, chroma=0:0 align=1:1 bits=16 cbits=16
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][rgb][le]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
0: {2}
1: {3}
@@ -397,18 +397,18 @@ gbrap16: [GENERIC] fcsp=rgb ctype=uint
2: p=1 st=2 o=0 sh=0 d=16
3: p=3 st=2 o=0 sh=0 d=16
gbrap16be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][be]
- planes=4, chroma=0:0 align=1:1 bits=16 cbits=16
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][rgb][be]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=gbrap16be chroma=0:0 flags=0xb1 [be][planar][rgb][alpha]
0: p=2 st=2 o=0 sh=0 d=16
1: p=0 st=2 o=0 sh=0 d=16
2: p=1 st=2 o=0 sh=0 d=16
3: p=3 st=2 o=0 sh=0 d=16
gbrapf32: [GENERIC] fcsp=rgb ctype=float
- Legacy desc: [ba][a][rgb][le]
- planes=4, chroma=0:0 align=1:1 bits=32 cbits=32
- {4/32/[0:0] 4/32/[0:0] 4/32/[0:0] 4/32/[0:0] }
+ Basic desc: [ba][a][rgb][le]
+ planes=4, chroma=0:0 align=1:1
+ {32/[0:0] 32/[0:0] 32/[0:0] 32/[0:0] }
Regular: planes=4 compbytes=4 bitpad=0 chroma=1x1 ctype=float
0: {2}
1: {3}
@@ -420,18 +420,18 @@ gbrapf32: [GENERIC] fcsp=rgb ctype=float
2: p=1 st=4 o=0 sh=0 d=32
3: p=3 st=4 o=0 sh=0 d=32
gbrapf32be: [GENERIC] fcsp=rgb ctype=float
- Legacy desc: [ba][a][rgb][be]
- planes=4, chroma=0:0 align=1:1 bits=32 cbits=32
- {4/32/[0:0] 4/32/[0:0] 4/32/[0:0] 4/32/[0:0] }
+ Basic desc: [ba][a][rgb][be]
+ planes=4, chroma=0:0 align=1:1
+ {32/[0:0] 32/[0:0] 32/[0:0] 32/[0:0] }
AVD: name=gbrapf32be chroma=0:0 flags=0x2b1 [be][planar][rgb][alpha][float]
0: p=2 st=4 o=0 sh=0 d=32
1: p=0 st=4 o=0 sh=0 d=32
2: p=1 st=4 o=0 sh=0 d=32
3: p=3 st=4 o=0 sh=0 d=32
gbrp: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=3, chroma=0:0 align=1:1 bits=8 cbits=8
- {1/8/[0:0] 1/8/[0:0] 1/8/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=3, chroma=0:0 align=1:1
+ {8/[0:0] 8/[0:0] 8/[0:0] }
Regular: planes=3 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {2}
1: {3}
@@ -441,17 +441,17 @@ gbrp: [GENERIC] fcsp=rgb ctype=uint
1: p=0 st=1 o=0 sh=0 d=8
2: p=1 st=1 o=0 sh=0 d=8
gbrp1: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=3, chroma=0:0 align=1:1 bits=1 cbits=1
- {1/8/[0:0] 1/8/[0:0] 1/8/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=3, chroma=0:0 align=1:1
+ {8/[0:0] 8/[0:0] 8/[0:0] }
Regular: planes=3 compbytes=1 bitpad=-7 chroma=1x1 ctype=uint
0: {2}
1: {3}
2: {1}
gbrp10: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=3, chroma=0:0 align=1:1 bits=10 cbits=10
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=3 compbytes=2 bitpad=-6 chroma=1x1 ctype=uint
0: {2}
1: {3}
@@ -461,17 +461,17 @@ gbrp10: [GENERIC] fcsp=rgb ctype=uint
1: p=0 st=2 o=0 sh=0 d=10
2: p=1 st=2 o=0 sh=0 d=10
gbrp10be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][be]
- planes=3, chroma=0:0 align=1:1 bits=10 cbits=10
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=gbrp10be chroma=0:0 flags=0x31 [be][planar][rgb]
0: p=2 st=2 o=0 sh=0 d=10
1: p=0 st=2 o=0 sh=0 d=10
2: p=1 st=2 o=0 sh=0 d=10
gbrp12: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=3, chroma=0:0 align=1:1 bits=12 cbits=12
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=3 compbytes=2 bitpad=-4 chroma=1x1 ctype=uint
0: {2}
1: {3}
@@ -481,17 +481,17 @@ gbrp12: [GENERIC] fcsp=rgb ctype=uint
1: p=0 st=2 o=0 sh=0 d=12
2: p=1 st=2 o=0 sh=0 d=12
gbrp12be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][be]
- planes=3, chroma=0:0 align=1:1 bits=12 cbits=12
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=gbrp12be chroma=0:0 flags=0x31 [be][planar][rgb]
0: p=2 st=2 o=0 sh=0 d=12
1: p=0 st=2 o=0 sh=0 d=12
2: p=1 st=2 o=0 sh=0 d=12
gbrp14: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=3, chroma=0:0 align=1:1 bits=14 cbits=14
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=3 compbytes=2 bitpad=-2 chroma=1x1 ctype=uint
0: {2}
1: {3}
@@ -501,17 +501,17 @@ gbrp14: [GENERIC] fcsp=rgb ctype=uint
1: p=0 st=2 o=0 sh=0 d=14
2: p=1 st=2 o=0 sh=0 d=14
gbrp14be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][be]
- planes=3, chroma=0:0 align=1:1 bits=14 cbits=14
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=gbrp14be chroma=0:0 flags=0x31 [be][planar][rgb]
0: p=2 st=2 o=0 sh=0 d=14
1: p=0 st=2 o=0 sh=0 d=14
2: p=1 st=2 o=0 sh=0 d=14
gbrp16: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=3, chroma=0:0 align=1:1 bits=16 cbits=16
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=3 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
0: {2}
1: {3}
@@ -521,57 +521,57 @@ gbrp16: [GENERIC] fcsp=rgb ctype=uint
1: p=0 st=2 o=0 sh=0 d=16
2: p=1 st=2 o=0 sh=0 d=16
gbrp16be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][be]
- planes=3, chroma=0:0 align=1:1 bits=16 cbits=16
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=gbrp16be chroma=0:0 flags=0x31 [be][planar][rgb]
0: p=2 st=2 o=0 sh=0 d=16
1: p=0 st=2 o=0 sh=0 d=16
2: p=1 st=2 o=0 sh=0 d=16
gbrp2: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=3, chroma=0:0 align=1:1 bits=2 cbits=2
- {1/8/[0:0] 1/8/[0:0] 1/8/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=3, chroma=0:0 align=1:1
+ {8/[0:0] 8/[0:0] 8/[0:0] }
Regular: planes=3 compbytes=1 bitpad=-6 chroma=1x1 ctype=uint
0: {2}
1: {3}
2: {1}
gbrp3: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=3, chroma=0:0 align=1:1 bits=3 cbits=3
- {1/8/[0:0] 1/8/[0:0] 1/8/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=3, chroma=0:0 align=1:1
+ {8/[0:0] 8/[0:0] 8/[0:0] }
Regular: planes=3 compbytes=1 bitpad=-5 chroma=1x1 ctype=uint
0: {2}
1: {3}
2: {1}
gbrp4: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=3, chroma=0:0 align=1:1 bits=4 cbits=4
- {1/8/[0:0] 1/8/[0:0] 1/8/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=3, chroma=0:0 align=1:1
+ {8/[0:0] 8/[0:0] 8/[0:0] }
Regular: planes=3 compbytes=1 bitpad=-4 chroma=1x1 ctype=uint
0: {2}
1: {3}
2: {1}
gbrp5: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=3, chroma=0:0 align=1:1 bits=5 cbits=5
- {1/8/[0:0] 1/8/[0:0] 1/8/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=3, chroma=0:0 align=1:1
+ {8/[0:0] 8/[0:0] 8/[0:0] }
Regular: planes=3 compbytes=1 bitpad=-3 chroma=1x1 ctype=uint
0: {2}
1: {3}
2: {1}
gbrp6: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=3, chroma=0:0 align=1:1 bits=6 cbits=6
- {1/8/[0:0] 1/8/[0:0] 1/8/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=3, chroma=0:0 align=1:1
+ {8/[0:0] 8/[0:0] 8/[0:0] }
Regular: planes=3 compbytes=1 bitpad=-2 chroma=1x1 ctype=uint
0: {2}
1: {3}
2: {1}
gbrp9: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=3, chroma=0:0 align=1:1 bits=9 cbits=9
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=3 compbytes=2 bitpad=-7 chroma=1x1 ctype=uint
0: {2}
1: {3}
@@ -581,17 +581,17 @@ gbrp9: [GENERIC] fcsp=rgb ctype=uint
1: p=0 st=2 o=0 sh=0 d=9
2: p=1 st=2 o=0 sh=0 d=9
gbrp9be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][be]
- planes=3, chroma=0:0 align=1:1 bits=9 cbits=9
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=gbrp9be chroma=0:0 flags=0x31 [be][planar][rgb]
0: p=2 st=2 o=0 sh=0 d=9
1: p=0 st=2 o=0 sh=0 d=9
2: p=1 st=2 o=0 sh=0 d=9
gbrpf32: [GENERIC] fcsp=rgb ctype=float
- Legacy desc: [ba][rgb][le]
- planes=3, chroma=0:0 align=1:1 bits=32 cbits=32
- {4/32/[0:0] 4/32/[0:0] 4/32/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=3, chroma=0:0 align=1:1
+ {32/[0:0] 32/[0:0] 32/[0:0] }
Regular: planes=3 compbytes=4 bitpad=0 chroma=1x1 ctype=float
0: {2}
1: {3}
@@ -601,138 +601,138 @@ gbrpf32: [GENERIC] fcsp=rgb ctype=float
1: p=0 st=4 o=0 sh=0 d=32
2: p=1 st=4 o=0 sh=0 d=32
gbrpf32be: [GENERIC] fcsp=rgb ctype=float
- Legacy desc: [ba][rgb][be]
- planes=3, chroma=0:0 align=1:1 bits=32 cbits=32
- {4/32/[0:0] 4/32/[0:0] 4/32/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=3, chroma=0:0 align=1:1
+ {32/[0:0] 32/[0:0] 32/[0:0] }
AVD: name=gbrpf32be chroma=0:0 flags=0x231 [be][planar][rgb][float]
0: p=2 st=4 o=0 sh=0 d=32
1: p=0 st=4 o=0 sh=0 d=32
2: p=1 st=4 o=0 sh=0 d=32
gray: ctype=uint
- Legacy desc: [ba][yuvp][yuv][le][be]
- planes=1, chroma=0:0 align=1:1 bits=8 cbits=8
- {1/8/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {8/[0:0] }
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {1}
AVD: name=gray chroma=0:0 flags=0x40
0: p=0 st=1 o=0 sh=0 d=8
gray10: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=1, chroma=0:0 align=1:1 bits=10 cbits=10
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
Regular: planes=1 compbytes=2 bitpad=-6 chroma=1x1 ctype=uint
0: {1}
AVD: name=gray10le chroma=0:0 flags=0x0
0: p=0 st=2 o=0 sh=0 d=10
gray10be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=1, chroma=0:0 align=1:1 bits=10 cbits=10
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=gray10be chroma=0:0 flags=0x1 [be]
0: p=0 st=2 o=0 sh=0 d=10
gray12: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=1, chroma=0:0 align=1:1 bits=12 cbits=12
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
Regular: planes=1 compbytes=2 bitpad=-4 chroma=1x1 ctype=uint
0: {1}
AVD: name=gray12le chroma=0:0 flags=0x0
0: p=0 st=2 o=0 sh=0 d=12
gray12be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=1, chroma=0:0 align=1:1 bits=12 cbits=12
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=gray12be chroma=0:0 flags=0x1 [be]
0: p=0 st=2 o=0 sh=0 d=12
gray14: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=1, chroma=0:0 align=1:1 bits=14 cbits=14
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
Regular: planes=1 compbytes=2 bitpad=-2 chroma=1x1 ctype=uint
0: {1}
AVD: name=gray14le chroma=0:0 flags=0x0
0: p=0 st=2 o=0 sh=0 d=14
gray14be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=1, chroma=0:0 align=1:1 bits=14 cbits=14
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=gray14be chroma=0:0 flags=0x1 [be]
0: p=0 st=2 o=0 sh=0 d=14
gray16: ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=16
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
0: {1}
AVD: name=gray16le chroma=0:0 flags=0x0
0: p=0 st=2 o=0 sh=0 d=16
gray16be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=16
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=gray16be chroma=0:0 flags=0x1 [be]
0: p=0 st=2 o=0 sh=0 d=16
gray9: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=1, chroma=0:0 align=1:1 bits=9 cbits=9
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
Regular: planes=1 compbytes=2 bitpad=-7 chroma=1x1 ctype=uint
0: {1}
AVD: name=gray9le chroma=0:0 flags=0x0
0: p=0 st=2 o=0 sh=0 d=9
gray9be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=1, chroma=0:0 align=1:1 bits=9 cbits=9
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=gray9be chroma=0:0 flags=0x1 [be]
0: p=0 st=2 o=0 sh=0 d=9
grayaf32: ctype=float
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=2, chroma=0:0 align=1:1 bits=32 cbits=32
- {4/32/[0:0] 4/32/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=2, chroma=0:0 align=1:1
+ {32/[0:0] 32/[0:0] }
Regular: planes=2 compbytes=4 bitpad=0 chroma=1x1 ctype=float
0: {1}
1: {4}
grayf32: [GENERIC] ctype=float
- Legacy desc: [ba][yuv][le]
- planes=1, chroma=0:0 align=1:1 bits=32 cbits=32
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuv][le]
+ planes=1, chroma=0:0 align=1:1
+ {32/[0:0] }
Regular: planes=1 compbytes=4 bitpad=0 chroma=1x1 ctype=float
0: {1}
AVD: name=grayf32le chroma=0:0 flags=0x200 [float]
0: p=0 st=4 o=0 sh=0 d=32
grayf32be: [GENERIC] ctype=float
- Legacy desc: [ba][yuv][be]
- planes=1, chroma=0:0 align=1:1 bits=32 cbits=32
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuv][be]
+ planes=1, chroma=0:0 align=1:1
+ {32/[0:0] }
AVD: name=grayf32be chroma=0:0 flags=0x201 [be][float]
0: p=0 st=4 o=0 sh=0 d=32
mediacodec: ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=0:0 align=1:1 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=0:0 align=1:1
+ {}
AVD: name=mediacodec chroma=0:0 flags=0x8 [hw]
mmal: ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=0:0 align=1:1 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=0:0 align=1:1
+ {}
AVD: name=mmal chroma=0:0 flags=0x8 [hw]
monob: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [rgb][le][be]
- planes=1, chroma=0:0 align=8:1 bits=1 cbits=1
- {0/1/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [rgb][le][be]
+ planes=1, chroma=0:0 align=8:1
+ {1/[0:0] }
AVD: name=monob chroma=0:0 flags=0x4 [bs]
0: p=0 st=1 o=0 sh=7 d=1
monow: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [rgb][le][be]
- planes=1, chroma=0:0 align=8:1 bits=1 cbits=1
- {0/1/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [rgb][le][be]
+ planes=1, chroma=0:0 align=8:1
+ {1/[0:0] }
AVD: name=monow chroma=0:0 flags=0x4 [bs]
0: p=0 st=1 o=0 sh=0 d=1
nv12: ctype=uint
- Legacy desc: [ba][nv][yuv][le][be]
- planes=2, chroma=1:1 align=2:2 bits=8 cbits=8
- {1/8/[0:0] 2/16/[1:1] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][nv][yuv][le][be]
+ planes=2, chroma=1:1 align=2:2
+ {8/[0:0] 16/[1:1] }
Regular: planes=2 compbytes=1 bitpad=0 chroma=2x2 ctype=uint
0: {1}
1: {2, 3}
@@ -741,9 +741,9 @@ nv12: ctype=uint
1: p=1 st=2 o=0 sh=0 d=8
2: p=1 st=2 o=1 sh=0 d=8
nv16: [GENERIC] ctype=uint
- Legacy desc: [ba][nv][yuv][le][be]
- planes=2, chroma=1:0 align=2:1 bits=8 cbits=8
- {1/8/[0:0] 2/16/[1:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][nv][yuv][le][be]
+ planes=2, chroma=1:0 align=2:1
+ {8/[0:0] 16/[1:0] }
Regular: planes=2 compbytes=1 bitpad=0 chroma=2x1 ctype=uint
0: {1}
1: {2, 3}
@@ -752,9 +752,9 @@ nv16: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=8
2: p=1 st=2 o=1 sh=0 d=8
nv20: [GENERIC] ctype=uint
- Legacy desc: [ba][nv][yuv][le]
- planes=2, chroma=1:0 align=2:1 bits=10 cbits=10
- {2/16/[0:0] 4/32/[1:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][nv][yuv][le]
+ planes=2, chroma=1:0 align=2:1
+ {16/[0:0] 32/[1:0] }
Regular: planes=2 compbytes=2 bitpad=-6 chroma=2x1 ctype=uint
0: {1}
1: {2, 3}
@@ -763,17 +763,17 @@ nv20: [GENERIC] ctype=uint
1: p=1 st=4 o=0 sh=0 d=10
2: p=1 st=4 o=2 sh=0 d=10
nv20be: [GENERIC] ctype=uint
- Legacy desc: [ba][nv][yuv][be]
- planes=2, chroma=1:0 align=2:1 bits=10 cbits=10
- {2/16/[0:0] 4/32/[1:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][nv][yuv][be]
+ planes=2, chroma=1:0 align=2:1
+ {16/[0:0] 32/[1:0] }
AVD: name=nv20be chroma=1:0 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=10
1: p=1 st=4 o=0 sh=0 d=10
2: p=1 st=4 o=2 sh=0 d=10
nv21: [GENERIC] ctype=uint
- Legacy desc: [ba][nv][yuv][le][be]
- planes=2, chroma=1:1 align=2:2 bits=8 cbits=8
- {1/8/[0:0] 2/16/[1:1] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][nv][yuv][le][be]
+ planes=2, chroma=1:1 align=2:2
+ {8/[0:0] 16/[1:1] }
Regular: planes=2 compbytes=1 bitpad=0 chroma=2x2 ctype=uint
0: {1}
1: {3, 2}
@@ -782,9 +782,9 @@ nv21: [GENERIC] ctype=uint
1: p=1 st=2 o=1 sh=0 d=8
2: p=1 st=2 o=0 sh=0 d=8
nv24: [GENERIC] ctype=uint
- Legacy desc: [ba][nv][yuv][le][be]
- planes=2, chroma=0:0 align=1:1 bits=8 cbits=8
- {1/8/[0:0] 2/16/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][nv][yuv][le][be]
+ planes=2, chroma=0:0 align=1:1
+ {8/[0:0] 16/[0:0] }
Regular: planes=2 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {1}
1: {2, 3}
@@ -793,9 +793,9 @@ nv24: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=8
2: p=1 st=2 o=1 sh=0 d=8
nv42: [GENERIC] ctype=uint
- Legacy desc: [ba][nv][yuv][le][be]
- planes=2, chroma=0:0 align=1:1 bits=8 cbits=8
- {1/8/[0:0] 2/16/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][nv][yuv][le][be]
+ planes=2, chroma=0:0 align=1:1
+ {8/[0:0] 16/[0:0] }
Regular: planes=2 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {1}
1: {3, 2}
@@ -804,14 +804,14 @@ nv42: [GENERIC] ctype=uint
1: p=1 st=2 o=1 sh=0 d=8
2: p=1 st=2 o=0 sh=0 d=8
opencl: [GENERIC] ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=0:0 align=1:1 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=0:0 align=1:1
+ {}
AVD: name=opencl chroma=0:0 flags=0x8 [hw]
p010: ctype=uint
- Legacy desc: [ba][nv][yuv][le]
- planes=2, chroma=1:1 align=2:2 bits=10 cbits=16
- {2/16/[0:0] 4/32/[1:1] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][nv][yuv][le]
+ planes=2, chroma=1:1 align=2:2
+ {16/[0:0] 32/[1:1] }
Regular: planes=2 compbytes=2 bitpad=6 chroma=2x2 ctype=uint
0: {1}
1: {2, 3}
@@ -820,17 +820,17 @@ p010: ctype=uint
1: p=1 st=4 o=0 sh=6 d=10
2: p=1 st=4 o=2 sh=6 d=10
p010be: [GENERIC] ctype=uint
- Legacy desc: [ba][nv][yuv][be]
- planes=2, chroma=1:1 align=2:2 bits=10 cbits=16
- {2/16/[0:0] 4/32/[1:1] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][nv][yuv][be]
+ planes=2, chroma=1:1 align=2:2
+ {16/[0:0] 32/[1:1] }
AVD: name=p010be chroma=1:1 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=6 d=10
1: p=1 st=4 o=0 sh=6 d=10
2: p=1 st=4 o=2 sh=6 d=10
p016: [GENERIC] ctype=uint
- Legacy desc: [ba][nv][yuv][le]
- planes=2, chroma=1:1 align=2:2 bits=16 cbits=16
- {2/16/[0:0] 4/32/[1:1] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][nv][yuv][le]
+ planes=2, chroma=1:1 align=2:2
+ {16/[0:0] 32/[1:1] }
Regular: planes=2 compbytes=2 bitpad=0 chroma=2x2 ctype=uint
0: {1}
1: {2, 3}
@@ -839,28 +839,28 @@ p016: [GENERIC] ctype=uint
1: p=1 st=4 o=0 sh=0 d=16
2: p=1 st=4 o=2 sh=0 d=16
p016be: [GENERIC] ctype=uint
- Legacy desc: [ba][nv][yuv][be]
- planes=2, chroma=1:1 align=2:2 bits=16 cbits=16
- {2/16/[0:0] 4/32/[1:1] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][nv][yuv][be]
+ planes=2, chroma=1:1 align=2:2
+ {16/[0:0] 32/[1:1] }
AVD: name=p016be chroma=1:1 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=16
1: p=1 st=4 o=0 sh=0 d=16
2: p=1 st=4 o=2 sh=0 d=16
pal8: fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][le][be][pal]
- planes=1, chroma=0:0 align=1:1 bits=8 cbits=8
- {1/8/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][rgb][le][be][pal]
+ planes=1, chroma=0:0 align=1:1
+ {8/[0:0] }
AVD: name=pal8 chroma=0:0 flags=0x82 [pal][alpha]
0: p=0 st=1 o=0 sh=0 d=8
qsv: [GENERIC] ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=0:0 align=1:1 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=0:0 align=1:1
+ {}
AVD: name=qsv chroma=0:0 flags=0x8 [hw]
rgb0: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=24 cbits=8
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {32/[0:0] }
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {1, 2, 3, 0}
AVD: name=rgb0 chroma=0:0 flags=0x20 [rgb]
@@ -868,9 +868,9 @@ rgb0: fcsp=rgb ctype=uint
1: p=0 st=4 o=1 sh=0 d=8
2: p=0 st=4 o=2 sh=0 d=8
rgb24: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=24 cbits=8
- {3/24/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {24/[0:0] }
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {1, 2, 3}
AVD: name=rgb24 chroma=0:0 flags=0x20 [rgb]
@@ -878,37 +878,37 @@ rgb24: fcsp=rgb ctype=uint
1: p=0 st=3 o=1 sh=0 d=8
2: p=0 st=3 o=2 sh=0 d=8
rgb30: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=1, chroma=0:0 align=1:1 bits=30 cbits=10
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=1, chroma=0:0 align=1:1
+ {32/[0:0] }
rgb4: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [rgb][le][be]
- planes=1, chroma=0:0 align=2:1 bits=4 cbits=0
- {0/4/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [rgb][le][be]
+ planes=1, chroma=0:0 align=2:1
+ {4/[0:0] }
AVD: name=rgb4 chroma=0:0 flags=0x24 [bs][rgb]
0: p=0 st=4 o=0 sh=0 d=1
1: p=0 st=4 o=1 sh=0 d=2
2: p=0 st=4 o=3 sh=0 d=1
rgb444: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=1, chroma=0:0 align=1:1 bits=12 cbits=4
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=rgb444le chroma=0:0 flags=0x20 [rgb]
0: p=0 st=2 o=1 sh=0 d=4
1: p=0 st=2 o=0 sh=4 d=4
2: p=0 st=2 o=0 sh=0 d=4
rgb444be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][be]
- planes=1, chroma=0:0 align=1:1 bits=12 cbits=4
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=rgb444be chroma=0:0 flags=0x21 [be][rgb]
0: p=0 st=2 o=-1 sh=0 d=4
1: p=0 st=2 o=0 sh=4 d=4
2: p=0 st=2 o=0 sh=0 d=4
rgb48: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=1, chroma=0:0 align=1:1 bits=48 cbits=16
- {6/48/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=1, chroma=0:0 align=1:1
+ {48/[0:0] }
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
0: {1, 2, 3}
AVD: name=rgb48le chroma=0:0 flags=0x20 [rgb]
@@ -916,65 +916,65 @@ rgb48: [GENERIC] fcsp=rgb ctype=uint
1: p=0 st=6 o=2 sh=0 d=16
2: p=0 st=6 o=4 sh=0 d=16
rgb48be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][be]
- planes=1, chroma=0:0 align=1:1 bits=48 cbits=16
- {6/48/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=1, chroma=0:0 align=1:1
+ {48/[0:0] }
AVD: name=rgb48be chroma=0:0 flags=0x21 [be][rgb]
0: p=0 st=6 o=0 sh=0 d=16
1: p=0 st=6 o=2 sh=0 d=16
2: p=0 st=6 o=4 sh=0 d=16
rgb4_byte: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=4 cbits=0
- {1/8/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {8/[0:0] }
AVD: name=rgb4_byte chroma=0:0 flags=0x60 [rgb]
0: p=0 st=1 o=0 sh=3 d=1
1: p=0 st=1 o=0 sh=1 d=2
2: p=0 st=1 o=0 sh=0 d=1
rgb555: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=1, chroma=0:0 align=1:1 bits=15 cbits=5
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=rgb555le chroma=0:0 flags=0x20 [rgb]
0: p=0 st=2 o=1 sh=2 d=5
1: p=0 st=2 o=0 sh=5 d=5
2: p=0 st=2 o=0 sh=0 d=5
rgb555be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][be]
- planes=1, chroma=0:0 align=1:1 bits=15 cbits=5
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=rgb555be chroma=0:0 flags=0x21 [be][rgb]
0: p=0 st=2 o=-1 sh=2 d=5
1: p=0 st=2 o=0 sh=5 d=5
2: p=0 st=2 o=0 sh=0 d=5
rgb565: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=0
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=rgb565le chroma=0:0 flags=0x20 [rgb]
0: p=0 st=2 o=1 sh=3 d=5
1: p=0 st=2 o=0 sh=5 d=6
2: p=0 st=2 o=0 sh=0 d=5
rgb565be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][be]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=0
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
AVD: name=rgb565be chroma=0:0 flags=0x21 [be][rgb]
0: p=0 st=2 o=-1 sh=3 d=5
1: p=0 st=2 o=0 sh=5 d=6
2: p=0 st=2 o=0 sh=0 d=5
rgb8: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=8 cbits=0
- {1/8/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {8/[0:0] }
AVD: name=rgb8 chroma=0:0 flags=0x60 [rgb]
0: p=0 st=1 o=0 sh=6 d=2
1: p=0 st=1 o=0 sh=3 d=3
2: p=0 st=1 o=0 sh=0 d=3
rgba: fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][le][be]
- planes=1, chroma=0:0 align=1:1 bits=32 cbits=8
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][rgb][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {32/[0:0] }
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {1, 2, 3, 4}
AVD: name=rgba chroma=0:0 flags=0xa0 [rgb][alpha]
@@ -983,9 +983,9 @@ rgba: fcsp=rgb ctype=uint
2: p=0 st=4 o=2 sh=0 d=8
3: p=0 st=4 o=3 sh=0 d=8
rgba64: fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][le]
- planes=1, chroma=0:0 align=1:1 bits=64 cbits=16
- {8/64/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][rgb][le]
+ planes=1, chroma=0:0 align=1:1
+ {64/[0:0] }
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
0: {1, 2, 3, 4}
AVD: name=rgba64le chroma=0:0 flags=0xa0 [rgb][alpha]
@@ -994,18 +994,18 @@ rgba64: fcsp=rgb ctype=uint
2: p=0 st=8 o=4 sh=0 d=16
3: p=0 st=8 o=6 sh=0 d=16
rgba64be: [GENERIC] fcsp=rgb ctype=uint
- Legacy desc: [ba][a][rgb][be]
- planes=1, chroma=0:0 align=1:1 bits=64 cbits=16
- {8/64/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][rgb][be]
+ planes=1, chroma=0:0 align=1:1
+ {64/[0:0] }
AVD: name=rgba64be chroma=0:0 flags=0xa1 [be][rgb][alpha]
0: p=0 st=8 o=0 sh=0 d=16
1: p=0 st=8 o=2 sh=0 d=16
2: p=0 st=8 o=4 sh=0 d=16
3: p=0 st=8 o=6 sh=0 d=16
uyvy422: ctype=uint
- Legacy desc: [ba][yuv][le][be]
- planes=1, chroma=1:0 align=2:1 bits=24 cbits=8
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuv][le][be]
+ planes=1, chroma=1:0 align=2:1
+ {16/[0:0] }
AVD: name=uyvy422 chroma=1:0 flags=0x0
0: p=0 st=2 o=1 sh=0 d=8
1: p=0 st=4 o=0 sh=0 d=8
@@ -1018,48 +1018,48 @@ uyyvyy411: [GENERIC] ctype=uint
1: p=0 st=6 o=0 sh=0 d=8
2: p=0 st=6 o=3 sh=0 d=8
vaapi: ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=1:1 align=2:2 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=1:1 align=2:2
+ {}
AVD: name=vaapi_vld chroma=1:1 flags=0x8 [hw]
vaapi_idct: [GENERIC] ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=1:1 align=2:2 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=1:1 align=2:2
+ {}
AVD: name=vaapi_idct chroma=1:1 flags=0x8 [hw]
vaapi_moco: [GENERIC] ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=1:1 align=2:2 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=1:1 align=2:2
+ {}
AVD: name=vaapi_moco chroma=1:1 flags=0x8 [hw]
vdpau: ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=1:1 align=2:2 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=1:1 align=2:2
+ {}
AVD: name=vdpau chroma=1:1 flags=0x8 [hw]
vdpau_output: ctype=unknown
- Legacy desc: [rgb][le][be][hw]
- planes=0, chroma=0:0 align=0:0 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [rgb][le][be][hw]
+ planes=0, chroma=0:0 align=0:0
+ {}
videotoolbox: ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=0:0 align=1:1 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=0:0 align=1:1
+ {}
AVD: name=videotoolbox_vld chroma=0:0 flags=0x8 [hw]
vulkan: [GENERIC] ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=0:0 align=1:1 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=0:0 align=1:1
+ {}
AVD: name=vulkan chroma=0:0 flags=0x8 [hw]
xvmc: [GENERIC] ctype=unknown
- Legacy desc: [le][be][hw]
- planes=0, chroma=0:0 align=1:1 bits=0 cbits=0
- {0/0/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [le][be][hw]
+ planes=0, chroma=0:0 align=1:1
+ {}
AVD: name=xvmc chroma=0:0 flags=0x8 [hw]
xyz12: [GENERIC] fcsp=xyz ctype=uint
- Legacy desc: [ba][le]
- planes=1, chroma=0:0 align=1:1 bits=36 cbits=12
- {6/48/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][le]
+ planes=1, chroma=0:0 align=1:1
+ {48/[0:0] }
Regular: planes=1 compbytes=2 bitpad=4 chroma=1x1 ctype=uint
0: {1, 2, 3}
AVD: name=xyz12le chroma=0:0 flags=0x0
@@ -1067,78 +1067,78 @@ xyz12: [GENERIC] fcsp=xyz ctype=uint
1: p=0 st=6 o=2 sh=4 d=12
2: p=0 st=6 o=4 sh=4 d=12
xyz12be: [GENERIC] fcsp=xyz ctype=uint
- Legacy desc: [ba][be]
- planes=1, chroma=0:0 align=1:1 bits=36 cbits=12
- {6/48/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][be]
+ planes=1, chroma=0:0 align=1:1
+ {48/[0:0] }
AVD: name=xyz12be chroma=0:0 flags=0x1 [be]
0: p=0 st=6 o=0 sh=4 d=12
1: p=0 st=6 o=2 sh=4 d=12
2: p=0 st=6 o=4 sh=4 d=12
y1: fcsp=rgb ctype=uint
- Legacy desc: [ba][rgb][le]
- planes=1, chroma=0:0 align=1:1 bits=1 cbits=1
- {1/8/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][rgb][le]
+ planes=1, chroma=0:0 align=1:1
+ {8/[0:0] }
Regular: planes=1 compbytes=1 bitpad=-7 chroma=1x1 ctype=uint
0: {1}
y210: [GENERIC] ctype=uint
- Legacy desc: [ba][yuv][le]
- planes=1, chroma=1:0 align=2:1 bits=30 cbits=10
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuv][le]
+ planes=1, chroma=1:0 align=2:1
+ {32/[0:0] }
AVD: name=y210le chroma=1:0 flags=0x0
0: p=0 st=4 o=0 sh=6 d=10
1: p=0 st=8 o=2 sh=6 d=10
2: p=0 st=8 o=6 sh=6 d=10
y210be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuv][be]
- planes=1, chroma=1:0 align=2:1 bits=30 cbits=10
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuv][be]
+ planes=1, chroma=1:0 align=2:1
+ {32/[0:0] }
AVD: name=y210be chroma=1:0 flags=0x1 [be]
0: p=0 st=4 o=0 sh=6 d=10
1: p=0 st=8 o=2 sh=6 d=10
2: p=0 st=8 o=6 sh=6 d=10
ya16: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuv][le]
- planes=1, chroma=0:0 align=1:1 bits=32 cbits=16
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][yuv][le]
+ planes=1, chroma=0:0 align=1:1
+ {32/[0:0] }
Regular: planes=1 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
0: {1, 4}
AVD: name=ya16le chroma=0:0 flags=0x80 [alpha]
0: p=0 st=4 o=0 sh=0 d=16
1: p=0 st=4 o=2 sh=0 d=16
ya16be: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuv][be]
- planes=1, chroma=0:0 align=1:1 bits=32 cbits=16
- {4/32/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][yuv][be]
+ planes=1, chroma=0:0 align=1:1
+ {32/[0:0] }
AVD: name=ya16be chroma=0:0 flags=0x81 [be][alpha]
0: p=0 st=4 o=0 sh=0 d=16
1: p=0 st=4 o=2 sh=0 d=16
ya8: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuv][le][be]
- planes=1, chroma=0:0 align=1:1 bits=16 cbits=8
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][yuv][le][be]
+ planes=1, chroma=0:0 align=1:1
+ {16/[0:0] }
Regular: planes=1 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {1, 4}
AVD: name=ya8 chroma=0:0 flags=0x80 [alpha]
0: p=0 st=2 o=0 sh=0 d=8
1: p=0 st=2 o=1 sh=0 d=8
yap16: ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=2, chroma=0:0 align=1:1 bits=16 cbits=16
- {2/16/[0:0] 2/16/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=2, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] }
Regular: planes=2 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
0: {1}
1: {4}
yap8: ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=2, chroma=0:0 align=1:1 bits=8 cbits=8
- {1/8/[0:0] 1/8/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=2, chroma=0:0 align=1:1
+ {8/[0:0] 8/[0:0] }
Regular: planes=2 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {1}
1: {4}
yuv410p: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le][be]
- planes=3, chroma=2:2 align=4:4 bits=8 cbits=8
- {1/8/[0:0] 1/8/[2:2] 1/8/[2:2] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le][be]
+ planes=3, chroma=2:2 align=4:4
+ {8/[0:0] 8/[2:2] 8/[2:2] }
Regular: planes=3 compbytes=1 bitpad=0 chroma=4x4 ctype=uint
0: {1}
1: {2}
@@ -1148,17 +1148,17 @@ yuv410p: [GENERIC] ctype=uint
1: p=1 st=1 o=0 sh=0 d=8
2: p=2 st=1 o=0 sh=0 d=8
yuv410pf: ctype=float
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=2:2 align=4:4 bits=32 cbits=32
- {4/32/[0:0] 4/32/[2:2] 4/32/[2:2] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=2:2 align=4:4
+ {32/[0:0] 32/[2:2] 32/[2:2] }
Regular: planes=3 compbytes=4 bitpad=0 chroma=4x4 ctype=float
0: {1}
1: {2}
2: {3}
yuv411p: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le][be]
- planes=3, chroma=2:0 align=4:1 bits=8 cbits=8
- {1/8/[0:0] 1/8/[2:0] 1/8/[2:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le][be]
+ planes=3, chroma=2:0 align=4:1
+ {8/[0:0] 8/[2:0] 8/[2:0] }
Regular: planes=3 compbytes=1 bitpad=0 chroma=4x1 ctype=uint
0: {1}
1: {2}
@@ -1168,17 +1168,17 @@ yuv411p: [GENERIC] ctype=uint
1: p=1 st=1 o=0 sh=0 d=8
2: p=2 st=1 o=0 sh=0 d=8
yuv411pf: ctype=float
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=2:0 align=4:1 bits=32 cbits=32
- {4/32/[0:0] 4/32/[2:0] 4/32/[2:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=2:0 align=4:1
+ {32/[0:0] 32/[2:0] 32/[2:0] }
Regular: planes=3 compbytes=4 bitpad=0 chroma=4x1 ctype=float
0: {1}
1: {2}
2: {3}
yuv420p: ctype=uint
- Legacy desc: [ba][yuvp][yuv][le][be]
- planes=3, chroma=1:1 align=2:2 bits=8 cbits=8
- {1/8/[0:0] 1/8/[1:1] 1/8/[1:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le][be]
+ planes=3, chroma=1:1 align=2:2
+ {8/[0:0] 8/[1:1] 8/[1:1] }
Regular: planes=3 compbytes=1 bitpad=0 chroma=2x2 ctype=uint
0: {1}
1: {2}
@@ -1189,9 +1189,9 @@ yuv420p: ctype=uint
2: p=2 st=1 o=0 sh=0 d=8
Ambiguous alias: yuvj420p
yuv420p10: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=1:1 align=2:2 bits=10 cbits=10
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] }
Regular: planes=3 compbytes=2 bitpad=-6 chroma=2x2 ctype=uint
0: {1}
1: {2}
@@ -1201,17 +1201,17 @@ yuv420p10: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=10
2: p=2 st=2 o=0 sh=0 d=10
yuv420p10be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=1:1 align=2:2 bits=10 cbits=10
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] }
AVD: name=yuv420p10be chroma=1:1 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=10
1: p=1 st=2 o=0 sh=0 d=10
2: p=2 st=2 o=0 sh=0 d=10
yuv420p12: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=1:1 align=2:2 bits=12 cbits=12
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] }
Regular: planes=3 compbytes=2 bitpad=-4 chroma=2x2 ctype=uint
0: {1}
1: {2}
@@ -1221,17 +1221,17 @@ yuv420p12: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=12
2: p=2 st=2 o=0 sh=0 d=12
yuv420p12be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=1:1 align=2:2 bits=12 cbits=12
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] }
AVD: name=yuv420p12be chroma=1:1 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=12
1: p=1 st=2 o=0 sh=0 d=12
2: p=2 st=2 o=0 sh=0 d=12
yuv420p14: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=1:1 align=2:2 bits=14 cbits=14
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] }
Regular: planes=3 compbytes=2 bitpad=-2 chroma=2x2 ctype=uint
0: {1}
1: {2}
@@ -1241,17 +1241,17 @@ yuv420p14: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=14
2: p=2 st=2 o=0 sh=0 d=14
yuv420p14be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=1:1 align=2:2 bits=14 cbits=14
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] }
AVD: name=yuv420p14be chroma=1:1 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=14
1: p=1 st=2 o=0 sh=0 d=14
2: p=2 st=2 o=0 sh=0 d=14
yuv420p16: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=1:1 align=2:2 bits=16 cbits=16
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] }
Regular: planes=3 compbytes=2 bitpad=0 chroma=2x2 ctype=uint
0: {1}
1: {2}
@@ -1261,17 +1261,17 @@ yuv420p16: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=16
2: p=2 st=2 o=0 sh=0 d=16
yuv420p16be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=1:1 align=2:2 bits=16 cbits=16
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] }
AVD: name=yuv420p16be chroma=1:1 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=16
1: p=1 st=2 o=0 sh=0 d=16
2: p=2 st=2 o=0 sh=0 d=16
yuv420p9: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=1:1 align=2:2 bits=9 cbits=9
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] }
Regular: planes=3 compbytes=2 bitpad=-7 chroma=2x2 ctype=uint
0: {1}
1: {2}
@@ -1281,25 +1281,25 @@ yuv420p9: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=9
2: p=2 st=2 o=0 sh=0 d=9
yuv420p9be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=1:1 align=2:2 bits=9 cbits=9
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] }
AVD: name=yuv420p9be chroma=1:1 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=9
1: p=1 st=2 o=0 sh=0 d=9
2: p=2 st=2 o=0 sh=0 d=9
yuv420pf: ctype=float
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=1:1 align=2:2 bits=32 cbits=32
- {4/32/[0:0] 4/32/[1:1] 4/32/[1:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=1:1 align=2:2
+ {32/[0:0] 32/[1:1] 32/[1:1] }
Regular: planes=3 compbytes=4 bitpad=0 chroma=2x2 ctype=float
0: {1}
1: {2}
2: {3}
yuv422p: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le][be]
- planes=3, chroma=1:0 align=2:1 bits=8 cbits=8
- {1/8/[0:0] 1/8/[1:0] 1/8/[1:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le][be]
+ planes=3, chroma=1:0 align=2:1
+ {8/[0:0] 8/[1:0] 8/[1:0] }
Regular: planes=3 compbytes=1 bitpad=0 chroma=2x1 ctype=uint
0: {1}
1: {2}
@@ -1309,9 +1309,9 @@ yuv422p: [GENERIC] ctype=uint
1: p=1 st=1 o=0 sh=0 d=8
2: p=2 st=1 o=0 sh=0 d=8
yuv422p10: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=1:0 align=2:1 bits=10 cbits=10
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] }
Regular: planes=3 compbytes=2 bitpad=-6 chroma=2x1 ctype=uint
0: {1}
1: {2}
@@ -1321,17 +1321,17 @@ yuv422p10: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=10
2: p=2 st=2 o=0 sh=0 d=10
yuv422p10be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=1:0 align=2:1 bits=10 cbits=10
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] }
AVD: name=yuv422p10be chroma=1:0 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=10
1: p=1 st=2 o=0 sh=0 d=10
2: p=2 st=2 o=0 sh=0 d=10
yuv422p12: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=1:0 align=2:1 bits=12 cbits=12
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] }
Regular: planes=3 compbytes=2 bitpad=-4 chroma=2x1 ctype=uint
0: {1}
1: {2}
@@ -1341,17 +1341,17 @@ yuv422p12: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=12
2: p=2 st=2 o=0 sh=0 d=12
yuv422p12be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=1:0 align=2:1 bits=12 cbits=12
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] }
AVD: name=yuv422p12be chroma=1:0 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=12
1: p=1 st=2 o=0 sh=0 d=12
2: p=2 st=2 o=0 sh=0 d=12
yuv422p14: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=1:0 align=2:1 bits=14 cbits=14
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] }
Regular: planes=3 compbytes=2 bitpad=-2 chroma=2x1 ctype=uint
0: {1}
1: {2}
@@ -1361,17 +1361,17 @@ yuv422p14: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=14
2: p=2 st=2 o=0 sh=0 d=14
yuv422p14be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=1:0 align=2:1 bits=14 cbits=14
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] }
AVD: name=yuv422p14be chroma=1:0 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=14
1: p=1 st=2 o=0 sh=0 d=14
2: p=2 st=2 o=0 sh=0 d=14
yuv422p16: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=1:0 align=2:1 bits=16 cbits=16
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] }
Regular: planes=3 compbytes=2 bitpad=0 chroma=2x1 ctype=uint
0: {1}
1: {2}
@@ -1381,17 +1381,17 @@ yuv422p16: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=16
2: p=2 st=2 o=0 sh=0 d=16
yuv422p16be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=1:0 align=2:1 bits=16 cbits=16
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] }
AVD: name=yuv422p16be chroma=1:0 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=16
1: p=1 st=2 o=0 sh=0 d=16
2: p=2 st=2 o=0 sh=0 d=16
yuv422p9: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=1:0 align=2:1 bits=9 cbits=9
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] }
Regular: planes=3 compbytes=2 bitpad=-7 chroma=2x1 ctype=uint
0: {1}
1: {2}
@@ -1401,25 +1401,25 @@ yuv422p9: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=9
2: p=2 st=2 o=0 sh=0 d=9
yuv422p9be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=1:0 align=2:1 bits=9 cbits=9
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] }
AVD: name=yuv422p9be chroma=1:0 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=9
1: p=1 st=2 o=0 sh=0 d=9
2: p=2 st=2 o=0 sh=0 d=9
yuv422pf: ctype=float
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=1:0 align=2:1 bits=32 cbits=32
- {4/32/[0:0] 4/32/[1:0] 4/32/[1:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=1:0 align=2:1
+ {32/[0:0] 32/[1:0] 32/[1:0] }
Regular: planes=3 compbytes=4 bitpad=0 chroma=2x1 ctype=float
0: {1}
1: {2}
2: {3}
yuv440p: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le][be]
- planes=3, chroma=0:1 align=1:2 bits=8 cbits=8
- {1/8/[0:0] 1/8/[0:1] 1/8/[0:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le][be]
+ planes=3, chroma=0:1 align=1:2
+ {8/[0:0] 8/[0:1] 8/[0:1] }
Regular: planes=3 compbytes=1 bitpad=0 chroma=1x2 ctype=uint
0: {1}
1: {2}
@@ -1429,9 +1429,9 @@ yuv440p: [GENERIC] ctype=uint
1: p=1 st=1 o=0 sh=0 d=8
2: p=2 st=1 o=0 sh=0 d=8
yuv440p10: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=0:1 align=1:2 bits=10 cbits=10
- {2/16/[0:0] 2/16/[0:1] 2/16/[0:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=0:1 align=1:2
+ {16/[0:0] 16/[0:1] 16/[0:1] }
Regular: planes=3 compbytes=2 bitpad=-6 chroma=1x2 ctype=uint
0: {1}
1: {2}
@@ -1441,17 +1441,17 @@ yuv440p10: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=10
2: p=2 st=2 o=0 sh=0 d=10
yuv440p10be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=0:1 align=1:2 bits=10 cbits=10
- {2/16/[0:0] 2/16/[0:1] 2/16/[0:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=0:1 align=1:2
+ {16/[0:0] 16/[0:1] 16/[0:1] }
AVD: name=yuv440p10be chroma=0:1 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=10
1: p=1 st=2 o=0 sh=0 d=10
2: p=2 st=2 o=0 sh=0 d=10
yuv440p12: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=0:1 align=1:2 bits=12 cbits=12
- {2/16/[0:0] 2/16/[0:1] 2/16/[0:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=0:1 align=1:2
+ {16/[0:0] 16/[0:1] 16/[0:1] }
Regular: planes=3 compbytes=2 bitpad=-4 chroma=1x2 ctype=uint
0: {1}
1: {2}
@@ -1461,25 +1461,25 @@ yuv440p12: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=12
2: p=2 st=2 o=0 sh=0 d=12
yuv440p12be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=0:1 align=1:2 bits=12 cbits=12
- {2/16/[0:0] 2/16/[0:1] 2/16/[0:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=0:1 align=1:2
+ {16/[0:0] 16/[0:1] 16/[0:1] }
AVD: name=yuv440p12be chroma=0:1 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=12
1: p=1 st=2 o=0 sh=0 d=12
2: p=2 st=2 o=0 sh=0 d=12
yuv440pf: ctype=float
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=0:1 align=1:2 bits=32 cbits=32
- {4/32/[0:0] 4/32/[0:1] 4/32/[0:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=0:1 align=1:2
+ {32/[0:0] 32/[0:1] 32/[0:1] }
Regular: planes=3 compbytes=4 bitpad=0 chroma=1x2 ctype=float
0: {1}
1: {2}
2: {3}
yuv444p: ctype=uint
- Legacy desc: [ba][yuvp][yuv][le][be]
- planes=3, chroma=0:0 align=1:1 bits=8 cbits=8
- {1/8/[0:0] 1/8/[0:0] 1/8/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le][be]
+ planes=3, chroma=0:0 align=1:1
+ {8/[0:0] 8/[0:0] 8/[0:0] }
Regular: planes=3 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {1}
1: {2}
@@ -1490,9 +1490,9 @@ yuv444p: ctype=uint
2: p=2 st=1 o=0 sh=0 d=8
Ambiguous alias: yuvj444p
yuv444p10: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=0:0 align=1:1 bits=10 cbits=10
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=3 compbytes=2 bitpad=-6 chroma=1x1 ctype=uint
0: {1}
1: {2}
@@ -1502,17 +1502,17 @@ yuv444p10: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=10
2: p=2 st=2 o=0 sh=0 d=10
yuv444p10be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=0:0 align=1:1 bits=10 cbits=10
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=yuv444p10be chroma=0:0 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=10
1: p=1 st=2 o=0 sh=0 d=10
2: p=2 st=2 o=0 sh=0 d=10
yuv444p12: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=0:0 align=1:1 bits=12 cbits=12
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=3 compbytes=2 bitpad=-4 chroma=1x1 ctype=uint
0: {1}
1: {2}
@@ -1522,17 +1522,17 @@ yuv444p12: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=12
2: p=2 st=2 o=0 sh=0 d=12
yuv444p12be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=0:0 align=1:1 bits=12 cbits=12
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=yuv444p12be chroma=0:0 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=12
1: p=1 st=2 o=0 sh=0 d=12
2: p=2 st=2 o=0 sh=0 d=12
yuv444p14: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=0:0 align=1:1 bits=14 cbits=14
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=3 compbytes=2 bitpad=-2 chroma=1x1 ctype=uint
0: {1}
1: {2}
@@ -1542,17 +1542,17 @@ yuv444p14: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=14
2: p=2 st=2 o=0 sh=0 d=14
yuv444p14be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=0:0 align=1:1 bits=14 cbits=14
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=yuv444p14be chroma=0:0 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=14
1: p=1 st=2 o=0 sh=0 d=14
2: p=2 st=2 o=0 sh=0 d=14
yuv444p16: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=0:0 align=1:1 bits=16 cbits=16
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=3 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
0: {1}
1: {2}
@@ -1562,17 +1562,17 @@ yuv444p16: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=16
2: p=2 st=2 o=0 sh=0 d=16
yuv444p16be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=0:0 align=1:1 bits=16 cbits=16
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=yuv444p16be chroma=0:0 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=16
1: p=1 st=2 o=0 sh=0 d=16
2: p=2 st=2 o=0 sh=0 d=16
yuv444p9: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=0:0 align=1:1 bits=9 cbits=9
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=3 compbytes=2 bitpad=-7 chroma=1x1 ctype=uint
0: {1}
1: {2}
@@ -1582,43 +1582,43 @@ yuv444p9: [GENERIC] ctype=uint
1: p=1 st=2 o=0 sh=0 d=9
2: p=2 st=2 o=0 sh=0 d=9
yuv444p9be: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][be]
- planes=3, chroma=0:0 align=1:1 bits=9 cbits=9
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][be]
+ planes=3, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=yuv444p9be chroma=0:0 flags=0x11 [be][planar]
0: p=0 st=2 o=0 sh=0 d=9
1: p=1 st=2 o=0 sh=0 d=9
2: p=2 st=2 o=0 sh=0 d=9
yuv444pf: ctype=float
- Legacy desc: [ba][yuvp][yuv][le]
- planes=3, chroma=0:0 align=1:1 bits=32 cbits=32
- {4/32/[0:0] 4/32/[0:0] 4/32/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le]
+ planes=3, chroma=0:0 align=1:1
+ {32/[0:0] 32/[0:0] 32/[0:0] }
Regular: planes=3 compbytes=4 bitpad=0 chroma=1x1 ctype=float
0: {1}
1: {2}
2: {3}
yuva410pf: ctype=float
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=2:2 align=4:4 bits=32 cbits=32
- {4/32/[0:0] 4/32/[2:2] 4/32/[2:2] 4/32/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=2:2 align=4:4
+ {32/[0:0] 32/[2:2] 32/[2:2] 32/[0:0] }
Regular: planes=4 compbytes=4 bitpad=0 chroma=4x4 ctype=float
0: {1}
1: {2}
2: {3}
3: {4}
yuva411pf: ctype=float
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=2:0 align=4:1 bits=32 cbits=32
- {4/32/[0:0] 4/32/[2:0] 4/32/[2:0] 4/32/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=2:0 align=4:1
+ {32/[0:0] 32/[2:0] 32/[2:0] 32/[0:0] }
Regular: planes=4 compbytes=4 bitpad=0 chroma=4x1 ctype=float
0: {1}
1: {2}
2: {3}
3: {4}
yuva420p: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le][be]
- planes=4, chroma=1:1 align=2:2 bits=8 cbits=8
- {1/8/[0:0] 1/8/[1:1] 1/8/[1:1] 1/8/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le][be]
+ planes=4, chroma=1:1 align=2:2
+ {8/[0:0] 8/[1:1] 8/[1:1] 8/[0:0] }
Regular: planes=4 compbytes=1 bitpad=0 chroma=2x2 ctype=uint
0: {1}
1: {2}
@@ -1630,9 +1630,9 @@ yuva420p: [GENERIC] ctype=uint
2: p=2 st=1 o=0 sh=0 d=8
3: p=3 st=1 o=0 sh=0 d=8
yuva420p10: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=1:1 align=2:2 bits=10 cbits=10
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=-6 chroma=2x2 ctype=uint
0: {1}
1: {2}
@@ -1644,18 +1644,18 @@ yuva420p10: [GENERIC] ctype=uint
2: p=2 st=2 o=0 sh=0 d=10
3: p=3 st=2 o=0 sh=0 d=10
yuva420p10be: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][be]
- planes=4, chroma=1:1 align=2:2 bits=10 cbits=10
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][be]
+ planes=4, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] 16/[0:0] }
AVD: name=yuva420p10be chroma=1:1 flags=0x91 [be][planar][alpha]
0: p=0 st=2 o=0 sh=0 d=10
1: p=1 st=2 o=0 sh=0 d=10
2: p=2 st=2 o=0 sh=0 d=10
3: p=3 st=2 o=0 sh=0 d=10
yuva420p16: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=1:1 align=2:2 bits=16 cbits=16
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=0 chroma=2x2 ctype=uint
0: {1}
1: {2}
@@ -1667,18 +1667,18 @@ yuva420p16: [GENERIC] ctype=uint
2: p=2 st=2 o=0 sh=0 d=16
3: p=3 st=2 o=0 sh=0 d=16
yuva420p16be: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][be]
- planes=4, chroma=1:1 align=2:2 bits=16 cbits=16
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][be]
+ planes=4, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] 16/[0:0] }
AVD: name=yuva420p16be chroma=1:1 flags=0x91 [be][planar][alpha]
0: p=0 st=2 o=0 sh=0 d=16
1: p=1 st=2 o=0 sh=0 d=16
2: p=2 st=2 o=0 sh=0 d=16
3: p=3 st=2 o=0 sh=0 d=16
yuva420p9: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=1:1 align=2:2 bits=9 cbits=9
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=-7 chroma=2x2 ctype=uint
0: {1}
1: {2}
@@ -1690,27 +1690,27 @@ yuva420p9: [GENERIC] ctype=uint
2: p=2 st=2 o=0 sh=0 d=9
3: p=3 st=2 o=0 sh=0 d=9
yuva420p9be: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][be]
- planes=4, chroma=1:1 align=2:2 bits=9 cbits=9
- {2/16/[0:0] 2/16/[1:1] 2/16/[1:1] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][be]
+ planes=4, chroma=1:1 align=2:2
+ {16/[0:0] 16/[1:1] 16/[1:1] 16/[0:0] }
AVD: name=yuva420p9be chroma=1:1 flags=0x91 [be][planar][alpha]
0: p=0 st=2 o=0 sh=0 d=9
1: p=1 st=2 o=0 sh=0 d=9
2: p=2 st=2 o=0 sh=0 d=9
3: p=3 st=2 o=0 sh=0 d=9
yuva420pf: ctype=float
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=1:1 align=2:2 bits=32 cbits=32
- {4/32/[0:0] 4/32/[1:1] 4/32/[1:1] 4/32/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=1:1 align=2:2
+ {32/[0:0] 32/[1:1] 32/[1:1] 32/[0:0] }
Regular: planes=4 compbytes=4 bitpad=0 chroma=2x2 ctype=float
0: {1}
1: {2}
2: {3}
3: {4}
yuva422p: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le][be]
- planes=4, chroma=1:0 align=2:1 bits=8 cbits=8
- {1/8/[0:0] 1/8/[1:0] 1/8/[1:0] 1/8/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le][be]
+ planes=4, chroma=1:0 align=2:1
+ {8/[0:0] 8/[1:0] 8/[1:0] 8/[0:0] }
Regular: planes=4 compbytes=1 bitpad=0 chroma=2x1 ctype=uint
0: {1}
1: {2}
@@ -1722,9 +1722,9 @@ yuva422p: [GENERIC] ctype=uint
2: p=2 st=1 o=0 sh=0 d=8
3: p=3 st=1 o=0 sh=0 d=8
yuva422p10: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=1:0 align=2:1 bits=10 cbits=10
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=-6 chroma=2x1 ctype=uint
0: {1}
1: {2}
@@ -1736,18 +1736,18 @@ yuva422p10: [GENERIC] ctype=uint
2: p=2 st=2 o=0 sh=0 d=10
3: p=3 st=2 o=0 sh=0 d=10
yuva422p10be: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][be]
- planes=4, chroma=1:0 align=2:1 bits=10 cbits=10
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][be]
+ planes=4, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
AVD: name=yuva422p10be chroma=1:0 flags=0x91 [be][planar][alpha]
0: p=0 st=2 o=0 sh=0 d=10
1: p=1 st=2 o=0 sh=0 d=10
2: p=2 st=2 o=0 sh=0 d=10
3: p=3 st=2 o=0 sh=0 d=10
yuva422p12: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=1:0 align=2:1 bits=12 cbits=12
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=-4 chroma=2x1 ctype=uint
0: {1}
1: {2}
@@ -1759,18 +1759,18 @@ yuva422p12: [GENERIC] ctype=uint
2: p=2 st=2 o=0 sh=0 d=12
3: p=3 st=2 o=0 sh=0 d=12
yuva422p12be: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][be]
- planes=4, chroma=1:0 align=2:1 bits=12 cbits=12
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][be]
+ planes=4, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
AVD: name=yuva422p12be chroma=1:0 flags=0x91 [be][planar][alpha]
0: p=0 st=2 o=0 sh=0 d=12
1: p=1 st=2 o=0 sh=0 d=12
2: p=2 st=2 o=0 sh=0 d=12
3: p=3 st=2 o=0 sh=0 d=12
yuva422p16: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=1:0 align=2:1 bits=16 cbits=16
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=0 chroma=2x1 ctype=uint
0: {1}
1: {2}
@@ -1782,18 +1782,18 @@ yuva422p16: [GENERIC] ctype=uint
2: p=2 st=2 o=0 sh=0 d=16
3: p=3 st=2 o=0 sh=0 d=16
yuva422p16be: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][be]
- planes=4, chroma=1:0 align=2:1 bits=16 cbits=16
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][be]
+ planes=4, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
AVD: name=yuva422p16be chroma=1:0 flags=0x91 [be][planar][alpha]
0: p=0 st=2 o=0 sh=0 d=16
1: p=1 st=2 o=0 sh=0 d=16
2: p=2 st=2 o=0 sh=0 d=16
3: p=3 st=2 o=0 sh=0 d=16
yuva422p9: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=1:0 align=2:1 bits=9 cbits=9
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=-7 chroma=2x1 ctype=uint
0: {1}
1: {2}
@@ -1805,36 +1805,36 @@ yuva422p9: [GENERIC] ctype=uint
2: p=2 st=2 o=0 sh=0 d=9
3: p=3 st=2 o=0 sh=0 d=9
yuva422p9be: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][be]
- planes=4, chroma=1:0 align=2:1 bits=9 cbits=9
- {2/16/[0:0] 2/16/[1:0] 2/16/[1:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][be]
+ planes=4, chroma=1:0 align=2:1
+ {16/[0:0] 16/[1:0] 16/[1:0] 16/[0:0] }
AVD: name=yuva422p9be chroma=1:0 flags=0x91 [be][planar][alpha]
0: p=0 st=2 o=0 sh=0 d=9
1: p=1 st=2 o=0 sh=0 d=9
2: p=2 st=2 o=0 sh=0 d=9
3: p=3 st=2 o=0 sh=0 d=9
yuva422pf: ctype=float
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=1:0 align=2:1 bits=32 cbits=32
- {4/32/[0:0] 4/32/[1:0] 4/32/[1:0] 4/32/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=1:0 align=2:1
+ {32/[0:0] 32/[1:0] 32/[1:0] 32/[0:0] }
Regular: planes=4 compbytes=4 bitpad=0 chroma=2x1 ctype=float
0: {1}
1: {2}
2: {3}
3: {4}
yuva440pf: ctype=float
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=0:1 align=1:2 bits=32 cbits=32
- {4/32/[0:0] 4/32/[0:1] 4/32/[0:1] 4/32/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=0:1 align=1:2
+ {32/[0:0] 32/[0:1] 32/[0:1] 32/[0:0] }
Regular: planes=4 compbytes=4 bitpad=0 chroma=1x2 ctype=float
0: {1}
1: {2}
2: {3}
3: {4}
yuva444p: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le][be]
- planes=4, chroma=0:0 align=1:1 bits=8 cbits=8
- {1/8/[0:0] 1/8/[0:0] 1/8/[0:0] 1/8/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le][be]
+ planes=4, chroma=0:0 align=1:1
+ {8/[0:0] 8/[0:0] 8/[0:0] 8/[0:0] }
Regular: planes=4 compbytes=1 bitpad=0 chroma=1x1 ctype=uint
0: {1}
1: {2}
@@ -1846,9 +1846,9 @@ yuva444p: [GENERIC] ctype=uint
2: p=2 st=1 o=0 sh=0 d=8
3: p=3 st=1 o=0 sh=0 d=8
yuva444p10: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=0:0 align=1:1 bits=10 cbits=10
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=-6 chroma=1x1 ctype=uint
0: {1}
1: {2}
@@ -1860,18 +1860,18 @@ yuva444p10: [GENERIC] ctype=uint
2: p=2 st=2 o=0 sh=0 d=10
3: p=3 st=2 o=0 sh=0 d=10
yuva444p10be: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][be]
- planes=4, chroma=0:0 align=1:1 bits=10 cbits=10
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][be]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=yuva444p10be chroma=0:0 flags=0x91 [be][planar][alpha]
0: p=0 st=2 o=0 sh=0 d=10
1: p=1 st=2 o=0 sh=0 d=10
2: p=2 st=2 o=0 sh=0 d=10
3: p=3 st=2 o=0 sh=0 d=10
yuva444p12: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=0:0 align=1:1 bits=12 cbits=12
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=-4 chroma=1x1 ctype=uint
0: {1}
1: {2}
@@ -1883,18 +1883,18 @@ yuva444p12: [GENERIC] ctype=uint
2: p=2 st=2 o=0 sh=0 d=12
3: p=3 st=2 o=0 sh=0 d=12
yuva444p12be: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][be]
- planes=4, chroma=0:0 align=1:1 bits=12 cbits=12
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][be]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=yuva444p12be chroma=0:0 flags=0x91 [be][planar][alpha]
0: p=0 st=2 o=0 sh=0 d=12
1: p=1 st=2 o=0 sh=0 d=12
2: p=2 st=2 o=0 sh=0 d=12
3: p=3 st=2 o=0 sh=0 d=12
yuva444p16: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=0:0 align=1:1 bits=16 cbits=16
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=0 chroma=1x1 ctype=uint
0: {1}
1: {2}
@@ -1906,18 +1906,18 @@ yuva444p16: [GENERIC] ctype=uint
2: p=2 st=2 o=0 sh=0 d=16
3: p=3 st=2 o=0 sh=0 d=16
yuva444p16be: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][be]
- planes=4, chroma=0:0 align=1:1 bits=16 cbits=16
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][be]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=yuva444p16be chroma=0:0 flags=0x91 [be][planar][alpha]
0: p=0 st=2 o=0 sh=0 d=16
1: p=1 st=2 o=0 sh=0 d=16
2: p=2 st=2 o=0 sh=0 d=16
3: p=3 st=2 o=0 sh=0 d=16
yuva444p9: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=0:0 align=1:1 bits=9 cbits=9
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
Regular: planes=4 compbytes=2 bitpad=-7 chroma=1x1 ctype=uint
0: {1}
1: {2}
@@ -1929,27 +1929,27 @@ yuva444p9: [GENERIC] ctype=uint
2: p=2 st=2 o=0 sh=0 d=9
3: p=3 st=2 o=0 sh=0 d=9
yuva444p9be: [GENERIC] ctype=uint
- Legacy desc: [ba][a][yuvp][yuv][be]
- planes=4, chroma=0:0 align=1:1 bits=9 cbits=9
- {2/16/[0:0] 2/16/[0:0] 2/16/[0:0] 2/16/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][be]
+ planes=4, chroma=0:0 align=1:1
+ {16/[0:0] 16/[0:0] 16/[0:0] 16/[0:0] }
AVD: name=yuva444p9be chroma=0:0 flags=0x91 [be][planar][alpha]
0: p=0 st=2 o=0 sh=0 d=9
1: p=1 st=2 o=0 sh=0 d=9
2: p=2 st=2 o=0 sh=0 d=9
3: p=3 st=2 o=0 sh=0 d=9
yuva444pf: ctype=float
- Legacy desc: [ba][a][yuvp][yuv][le]
- planes=4, chroma=0:0 align=1:1 bits=32 cbits=32
- {4/32/[0:0] 4/32/[0:0] 4/32/[0:0] 4/32/[0:0] }
+ Basic desc: [ba][a][yuvp][yuv][le]
+ planes=4, chroma=0:0 align=1:1
+ {32/[0:0] 32/[0:0] 32/[0:0] 32/[0:0] }
Regular: planes=4 compbytes=4 bitpad=0 chroma=1x1 ctype=float
0: {1}
1: {2}
2: {3}
3: {4}
yuvj411p: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le][be]
- planes=3, chroma=2:0 align=4:1 bits=8 cbits=8
- {1/8/[0:0] 1/8/[2:0] 1/8/[2:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le][be]
+ planes=3, chroma=2:0 align=4:1
+ {8/[0:0] 8/[2:0] 8/[2:0] }
Regular: planes=3 compbytes=1 bitpad=0 chroma=4x1 ctype=uint
0: {1}
1: {2}
@@ -1959,9 +1959,9 @@ yuvj411p: [GENERIC] ctype=uint
1: p=1 st=1 o=0 sh=0 d=8
2: p=2 st=1 o=0 sh=0 d=8
yuvj422p: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le][be]
- planes=3, chroma=1:0 align=2:1 bits=8 cbits=8
- {1/8/[0:0] 1/8/[1:0] 1/8/[1:0] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le][be]
+ planes=3, chroma=1:0 align=2:1
+ {8/[0:0] 8/[1:0] 8/[1:0] }
Regular: planes=3 compbytes=1 bitpad=0 chroma=2x1 ctype=uint
0: {1}
1: {2}
@@ -1971,9 +1971,9 @@ yuvj422p: [GENERIC] ctype=uint
1: p=1 st=1 o=0 sh=0 d=8
2: p=2 st=1 o=0 sh=0 d=8
yuvj440p: [GENERIC] ctype=uint
- Legacy desc: [ba][yuvp][yuv][le][be]
- planes=3, chroma=0:1 align=1:2 bits=8 cbits=8
- {1/8/[0:0] 1/8/[0:1] 1/8/[0:1] 0/0/[0:0] }
+ Basic desc: [ba][yuvp][yuv][le][be]
+ planes=3, chroma=0:1 align=1:2
+ {8/[0:0] 8/[0:1] 8/[0:1] }
Regular: planes=3 compbytes=1 bitpad=0 chroma=1x2 ctype=uint
0: {1}
1: {2}
@@ -1983,17 +1983,17 @@ yuvj440p: [GENERIC] ctype=uint
1: p=1 st=1 o=0 sh=0 d=8
2: p=2 st=1 o=0 sh=0 d=8
yuyv422: [GENERIC] ctype=uint
- Legacy desc: [ba][yuv][le][be]
- planes=1, chroma=1:0 align=2:1 bits=24 cbits=8
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuv][le][be]
+ planes=1, chroma=1:0 align=2:1
+ {16/[0:0] }
AVD: name=yuyv422 chroma=1:0 flags=0x0
0: p=0 st=2 o=0 sh=0 d=8
1: p=0 st=4 o=1 sh=0 d=8
2: p=0 st=4 o=3 sh=0 d=8
yvyu422: [GENERIC] ctype=uint
- Legacy desc: [ba][yuv][le][be]
- planes=1, chroma=1:0 align=2:1 bits=24 cbits=8
- {2/16/[0:0] 0/0/[0:0] 0/0/[0:0] 0/0/[0:0] }
+ Basic desc: [ba][yuv][le][be]
+ planes=1, chroma=1:0 align=2:1
+ {16/[0:0] }
AVD: name=yvyu422 chroma=1:0 flags=0x0
0: p=0 st=2 o=0 sh=0 d=8
1: p=0 st=4 o=3 sh=0 d=8
diff --git a/test/repack.c b/test/repack.c
index 4506233be1..00ff0cdc8b 100644
--- a/test/repack.c
+++ b/test/repack.c
@@ -283,8 +283,7 @@ static int try_repack(struct test_ctx *ctx, FILE *f, int imgfmt, int flags,
for (int p = 0; p < srci->num_planes; p++) {
uint8_t *ptr = mp_image_pixel_ptr(srci, p, sx, sy);
for (int y = 0; y < e->h >> srci->fmt.ys[p]; y++) {
- int w = e->w >> srci->fmt.xs[p];
- int wb = (w * srci->fmt.bpp[p] + 7) / 8;
+ int wb = mp_image_plane_bytes(srci, p, 0, e->w);
const void *cptr = (uint8_t *)srcd[p] + wb * y;
memcpy(ptr + srci->stride[p] * y, cptr, wb);
}
@@ -295,8 +294,7 @@ static int try_repack(struct test_ctx *ctx, FILE *f, int imgfmt, int flags,
for (int p = 0; p < dsti->num_planes; p++) {
uint8_t *ptr = mp_image_pixel_ptr(dsti, p, dx, dy);
for (int y = 0; y < e->h >> dsti->fmt.ys[p]; y++) {
- int w = e->w >> dsti->fmt.xs[p];
- int wb = (w * dsti->fmt.bpp[p] + 7) / 8;
+ int wb = mp_image_plane_bytes(dsti, p, 0, e->w);
const void *cptr = (uint8_t *)dstd[p] + wb * y;
assert_memcmp(ptr + dsti->stride[p] * y, cptr, wb);
}
diff --git a/test/scale_test.c b/test/scale_test.c
index 912ecbcc22..ccd83c7658 100644
--- a/test/scale_test.c
+++ b/test/scale_test.c
@@ -77,13 +77,13 @@ static void assert_imgs_equal(struct scale_test *stest, FILE *f,
assert(ref->h == new->h);
assert(ref->fmt.flags & MP_IMGFLAG_BYTE_ALIGNED);
- assert(ref->fmt.bytes[0]);
+ assert(ref->fmt.bpp[0]);
for (int p = 0; p < ref->num_planes; p++) {
for (int y = 0; y < ref->h; y++) {
void *line_r = ref->planes[p] + ref->stride[p] * (ptrdiff_t)y;
void *line_o = new->planes[p] + new->stride[p] * (ptrdiff_t)y;
- size_t size = ref->fmt.bytes[p] * (size_t)new->w;
+ size_t size = mp_image_plane_bytes(ref, p, 0, new->w);
bool ok = memcmp(line_r, line_o, size) == 0;
if (!ok) {
@@ -123,14 +123,18 @@ void repack_test_run(struct scale_test *stest)
for (int a = 0; a < num_imgfmts; a++) {
int mpfmt = imgfmts[a];
struct mp_imgfmt_desc fmtdesc = mp_imgfmt_get_desc(mpfmt);
- if (!fmtdesc.id || !(fmtdesc.flags & MP_IMGFLAG_RGB) ||
- !fmtdesc.component_bits || (fmtdesc.component_bits % 8) ||
- fmtdesc.num_planes > 1)
+ struct mp_regular_imgfmt rdesc;
+ if (!mp_get_regular_imgfmt(&rdesc, mpfmt)) {
+ int ofmt = mp_find_other_endian(mpfmt);
+ if (!mp_get_regular_imgfmt(&rdesc, ofmt))
+ continue;
+ }
+ if (rdesc.num_planes > 1 || rdesc.forced_csp != MP_CSP_RGB)
continue;
struct mp_image *test_img = NULL;
bool alpha = fmtdesc.flags & MP_IMGFLAG_ALPHA;
- bool hidepth = fmtdesc.component_bits > 8;
+ bool hidepth = rdesc.component_size > 1;
if (alpha) {
test_img = hidepth ? stest->img_repack_rgba16 : stest->img_repack_rgba8;
} else {
diff --git a/video/image_writer.c b/video/image_writer.c
index 8c3cf98d19..fb297f9c0f 100644
--- a/video/image_writer.c
+++ b/video/image_writer.c
@@ -259,9 +259,17 @@ static int get_encoder_format(struct AVCodec *codec, int srcfmt, bool highdepth)
int fmt = pixfmt2imgfmt(pix_fmts[n]);
if (!fmt)
continue;
- // Ignore formats larger than 8 bit per pixel.
- if (!highdepth && IMGFMT_RGB_DEPTH(fmt) > 32)
- continue;
+ if (!highdepth) {
+ // Ignore formats larger than 8 bit per pixel. (Or which are unknown.)
+ struct mp_regular_imgfmt rdesc;
+ if (!mp_get_regular_imgfmt(&rdesc, fmt)) {
+ int ofmt = mp_find_other_endian(fmt);
+ if (!mp_get_regular_imgfmt(&rdesc, ofmt))
+ continue;
+ }
+ if (rdesc.component_size > 1)
+ continue;
+ }
current = current ? mp_imgfmt_select_best(current, fmt, srcfmt) : fmt;
}
return current;
diff --git a/video/img_format.c b/video/img_format.c
index 90cce39126..8a2cabbf01 100644
--- a/video/img_format.c
+++ b/video/img_format.c
@@ -75,10 +75,7 @@ static const struct mp_imgfmt_entry mp_imgfmt_list[] = {
.num_planes = 1,
.align_x = 1,
.align_y = 1,
- .bytes = {4},
.bpp = {32},
- .plane_bits = 30,
- .component_bits = 10,
},
.forced_csp = MP_CSP_RGB,
.ctype = MP_COMPONENT_TYPE_UINT,
@@ -213,14 +210,11 @@ static struct mp_imgfmt_desc to_legacy_desc(int fmt, struct mp_regular_imgfmt re
.num_planes = reg.num_planes,
.chroma_xs = reg.chroma_xs,
.chroma_ys = reg.chroma_ys,
- .component_bits = reg.component_size * 8 - abs(reg.component_pad),
};
desc.align_x = 1 << reg.chroma_xs;
desc.align_y = 1 << reg.chroma_ys;
- desc.plane_bits = desc.component_bits;
for (int p = 0; p < reg.num_planes; p++) {
- desc.bytes[p] = reg.component_size;
- desc.bpp[p] = desc.bytes[p] * 8;
+ desc.bpp[p] = reg.component_size * 8;
desc.xs[p] = p == 1 || p == 2 ? desc.chroma_xs : 0;
desc.ys[p] = p == 1 || p == 2 ? desc.chroma_ys : 0;
for (int c = 0; c < reg.planes[p].num_components; c++) {
@@ -258,6 +252,7 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt)
int el_size = (pd->flags & AV_PIX_FMT_FLAG_BITSTREAM) ? 1 : 8;
bool need_endian = false; // single component is spread over >1 bytes
int shift = -1; // shift for all components, or -1 if not uniform
+ int comp_bits = 0;
for (int c = 0; c < pd->nb_components; c++) {
AVComponentDescriptor d = pd->comp[c];
// multiple components per plane -> Y is definitive, ignore chroma
@@ -266,9 +261,9 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt)
planedepth[d.plane] += d.depth;
need_endian |= (d.depth + d.shift) > 8;
if (c == 0)
- desc.component_bits = d.depth;
- if (d.depth != desc.component_bits)
- desc.component_bits = 0;
+ comp_bits = d.depth;
+ if (d.depth != comp_bits)
+ comp_bits = 0;
if (c == 0)
shift = d.shift;
if (shift != d.shift)
@@ -280,8 +275,6 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt)
desc.num_planes++;
}
- desc.plane_bits = planedepth[0];
-
// Check whether any components overlap other components (per plane).
// We're cheating/simplifying here: we assume that this happens if a shift
// is set - which is wrong in general (could be needed for padding, instead
@@ -292,7 +285,7 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt)
for (int c = 0; c < pd->nb_components; c++) {
AVComponentDescriptor d = pd->comp[c];
component_byte_overlap |= d.shift > 0 && planedepth[d.plane] > 8 &&
- desc.component_bits < 8;
+ comp_bits < 8;
}
// If every component sits in its own byte, or all components are within
@@ -327,8 +320,6 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt)
!(pd->flags & AV_PIX_FMT_FLAG_BITSTREAM))
{
desc.flags |= MP_IMGFLAG_BYTE_ALIGNED;
- for (int p = 0; p < desc.num_planes; p++)
- desc.bytes[p] = desc.bpp[p] / 8;
}
if (pd->flags & AV_PIX_FMT_FLAG_PAL)
@@ -360,8 +351,6 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt)
desc.flags |= MP_IMGFLAG_YUV_NV;
}
- if (desc.flags & (MP_IMGFLAG_YUV_P | MP_IMGFLAG_RGB_P | MP_IMGFLAG_YUV_NV))
- desc.component_bits += shift;
}
for (int p = 0; p < desc.num_planes; p++) {
@@ -375,11 +364,6 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt)
if ((desc.bpp[0] % 8) != 0)
desc.align_x = 8 / desc.bpp[0]; // expect power of 2
- if (desc.flags & MP_IMGFLAG_HWACCEL) {
- desc.component_bits = 0;
- desc.plane_bits = 0;
- }
-
return desc;
}
@@ -623,21 +607,6 @@ int mp_find_regular_imgfmt(struct mp_regular_imgfmt *src)
return 0;
}
-// Find a format that has the given flags set with the following configuration.
-int mp_imgfmt_find(int xs, int ys, int planes, int component_bits, int flags)
-{
- for (int n = IMGFMT_START + 1; n < IMGFMT_END; n++) {
- struct mp_imgfmt_desc desc = mp_imgfmt_get_desc(n);
- if (desc.id && ((desc.flags & flags) == flags)) {
- if (desc.num_planes == planes && desc.chroma_xs == xs &&
- desc.chroma_ys == ys && desc.plane_bits == component_bits &&
- (desc.flags & MP_IMGFLAG_NE))
- return desc.id;
- }
- }
- return 0;
-}
-
// Compare the dst image formats, and return the one which can carry more data
// (e.g. higher depth, more color components, lower chroma subsampling, etc.),
// with respect to what is required to keep most of the src format.
diff --git a/video/img_format.h b/video/img_format.h
index f3d9750585..ea46dbec70 100644
--- a/video/img_format.h
+++ b/video/img_format.h
@@ -72,11 +72,12 @@ struct mp_imgfmt_desc {
int8_t align_x, align_y; // pixel count to get byte alignment and to get
// to a pixel pos where luma & chroma aligns
// always power of 2
- int8_t bytes[MP_MAX_PLANES]; // bytes per pixel (MP_IMGFLAG_BYTE_ALIGNED)
- int8_t bpp[MP_MAX_PLANES]; // bits per pixel
- int8_t plane_bits; // number of bits in use for plane 0
- int8_t component_bits; // number of bits per component (0 if uneven)
+ int8_t bpp[MP_MAX_PLANES]; // bits per pixel (may be "average"; the real
+ // byte value is determined by align_x*bpp/8
+ // for align_x pixels)
// chroma shifts per plane (provided for convenience with planar formats)
+ // Packed YUV always uses xs[0]=ys[0]=0, because plane 0 contains luma in
+ // addition to chroma, and thus is not sub-sampled (uses align_x=2 instead).
int8_t xs[MP_MAX_PLANES];
int8_t ys[MP_MAX_PLANES];
};
@@ -253,13 +254,6 @@ enum mp_imgfmt {
IMGFMT_END,
};
-static inline bool IMGFMT_IS_RGB(int fmt)
-{
- struct mp_imgfmt_desc desc = mp_imgfmt_get_desc(fmt);
- return (desc.flags & MP_IMGFLAG_RGB) && desc.num_planes == 1;
-}
-
-#define IMGFMT_RGB_DEPTH(fmt) (mp_imgfmt_get_desc(fmt).plane_bits)
#define IMGFMT_IS_HWACCEL(fmt) (!!(mp_imgfmt_get_desc(fmt).flags & MP_IMGFLAG_HWACCEL))
int mp_imgfmt_from_name(bstr name);
@@ -270,8 +264,6 @@ char **mp_imgfmt_name_list(void);
#define vo_format_name mp_imgfmt_to_name
-int mp_imgfmt_find(int xs, int ys, int planes, int component_bits, int flags);
-
int mp_imgfmt_select_best(int dst1, int dst2, int src);
int mp_imgfmt_select_best_list(int *dst, int num_dst, int src);
diff --git a/video/mp_image.c b/video/mp_image.c
index cc581013da..e5c6d957f7 100644
--- a/video/mp_image.c
+++ b/video/mp_image.c
@@ -47,6 +47,10 @@ static int mp_image_layout(int imgfmt, int w, int h, int stride_align,
int out_plane_size[MP_MAX_PLANES])
{
struct mp_imgfmt_desc desc = mp_imgfmt_get_desc(imgfmt);
+
+ w = MP_ALIGN_UP(w, desc.align_x);
+ h = MP_ALIGN_UP(h, desc.align_y);
+
struct mp_image_params params = {.imgfmt = imgfmt, .w = w, .h = h};
if (!mp_image_params_valid(&params) || desc.flags & MP_IMGFLAG_HWACCEL)
@@ -61,9 +65,6 @@ static int mp_image_layout(int imgfmt, int w, int h, int stride_align,
int alloc_h = MP_ALIGN_UP(h, 32) >> desc.ys[n];
int line_bytes = (alloc_w * desc.bpp[n] + 7) / 8;
out_stride[n] = MP_ALIGN_UP(line_bytes, stride_align);
- // also align to a multiple of desc.bytes[n]
- while (desc.bytes[n] && out_stride[n] % desc.bytes[n])
- out_stride[n] += stride_align;
out_plane_size[n] = out_stride[n] * alloc_h;
}
if (desc.flags & MP_IMGFLAG_PAL)
@@ -214,13 +215,15 @@ int mp_chroma_div_up(int size, int shift)
// Return the storage width in pixels of the given plane.
int mp_image_plane_w(struct mp_image *mpi, int plane)
{
- return mp_chroma_div_up(mpi->w, mpi->fmt.xs[plane]);
+ return mp_chroma_div_up(MP_ALIGN_UP(mpi->w, mpi->fmt.align_x),
+ mpi->fmt.xs[plane]);
}
// Return the storage height in pixels of the given plane.
int mp_image_plane_h(struct mp_image *mpi, int plane)
{
- return mp_chroma_div_up(mpi->h, mpi->fmt.ys[plane]);
+ return mp_chroma_div_up(MP_ALIGN_UP(mpi->h, mpi->fmt.align_y),
+ mpi->fmt.ys[plane]);
}
// Caller has to make sure this doesn't exceed the allocated plane data/strides.
@@ -572,7 +575,10 @@ void mp_image_clear(struct mp_image *img, int x0, int y0, int x1, int y1)
} else if (area.fmt.flags & MP_IMGFLAG_YUV_NV) {
plane_clear[1] = 0x8080;
} else if (area.fmt.flags & MP_IMGFLAG_YUV_P) {
- uint16_t chroma_clear = (1 << area.fmt.plane_bits) / 2;
+ struct mp_regular_imgfmt desc = {0};
+ mp_get_regular_imgfmt(&desc, img->imgfmt);
+ int depth = desc.component_size * 8 + MPMIN(0, desc.component_pad);
+ uint16_t chroma_clear = (1 << depth) / 2;
if (!(area.fmt.flags & MP_IMGFLAG_NE))
chroma_clear = av_bswap16(chroma_clear);
if (area.num_planes > 2)
@@ -582,7 +588,7 @@ void mp_image_clear(struct mp_image *img, int x0, int y0, int x1, int y1)
for (int p = 0; p < area.num_planes; p++) {
int bpp = area.fmt.bpp[p];
- int bytes = (mp_image_plane_w(&area, p) * bpp + 7) / 8;
+ int bytes = mp_image_plane_bytes(&area, p, 0, area.w);
if (bpp <= 8 || bpp > 16) {
memset_pic(area.planes[p], plane_clear[p], bytes,
mp_image_plane_h(&area, p), area.stride[p]);
@@ -1045,22 +1051,39 @@ void memset16_pic(void *dst, int fill, int unitsPerLine, int height, int stride)
}
}
-// Pixel at the given luma position on the given plane, possibly rounded down.
+// Pixel at the given luma position on the given plane. x/y always refer to
+// non-subsampled coordinates (even if plane is chroma).
+// The coordinates must be aligned to mp_imgfmt_desc.align_x/y (these are byte
+// and chroma boundaries).
+// You cannot access e.g. individual luma pixels on the luma plane with yuv420p.
void *mp_image_pixel_ptr(struct mp_image *img, int plane, int x, int y)
{
+ assert(MP_IS_ALIGNED(x, img->fmt.align_x));
+ assert(MP_IS_ALIGNED(y, img->fmt.align_y));
+ return mp_image_pixel_ptr_ny(img, plane, x, y);
+}
+
+// Like mp_image_pixel_ptr(), but do not require alignment on Y coordinates if
+// the plane does not require it. Use with care.
+// Useful for addressing luma rows.
+void *mp_image_pixel_ptr_ny(struct mp_image *img, int plane, int x, int y)
+{
+ assert(MP_IS_ALIGNED(x, img->fmt.align_x));
+ assert(MP_IS_ALIGNED(y, 1 << img->fmt.ys[plane]));
return img->planes[plane] +
img->stride[plane] * (ptrdiff_t)(y >> img->fmt.ys[plane]) +
- (size_t)(x >> img->fmt.xs[plane]) * img->fmt.bpp[plane] / 8;
+ (x >> img->fmt.xs[plane]) * (size_t)img->fmt.bpp[plane] / 8;
}
-// Number of bytes for w pixels, using luma pixels, possibly rounded up.
-// x0 is the start pixel; matters if the start pixel is rounded down.
-// (E.g. 8 bpp, x0=7, w=7 => pixels 0..15 => 2 bytes)
+// Return size of pixels [x0, x0+w-1] in bytes. The coordinates refer to non-
+// subsampled pixels (basically plane 0), and the size is rounded to chroma
+// and byte alignment boundaries for the entire image, even if plane!=0.
+// x0!=0 is useful for rounding (e.g. 8 bpp, x0=7, w=7 => 0..15 => 2 bytes).
size_t mp_image_plane_bytes(struct mp_image *img, int plane, int x0, int w)
{
- int bpp = img->fmt.bpp[plane];
+ int x1 = MP_ALIGN_UP(x0 + w, img->fmt.align_x);
+ x0 = MP_ALIGN_DOWN(x0, img->fmt.align_x);
+ size_t bpp = img->fmt.bpp[plane];
int xs = img->fmt.xs[plane];
- size_t b_x0 = (x0 >> xs) * bpp / 8;
- size_t b_x1 = (((x0 + w + (1 << xs) - 1) >> xs) * bpp + 7) / 8;
- return b_x1 - b_x0;
+ return (x1 >> xs) * bpp / 8 - (x0 >> xs) * bpp / 8;
}
diff --git a/video/mp_image.h b/video/mp_image.h
index f111d35129..5b7eada496 100644
--- a/video/mp_image.h
+++ b/video/mp_image.h
@@ -186,6 +186,7 @@ void memset_pic(void *dst, int fill, int bytesPerLine, int height, int stride);
void memset16_pic(void *dst, int fill, int unitsPerLine, int height, int stride);
void *mp_image_pixel_ptr(struct mp_image *img, int plane, int x, int y);
+void *mp_image_pixel_ptr_ny(struct mp_image *img, int plane, int x, int y);
size_t mp_image_plane_bytes(struct mp_image *img, int plane, int x0, int w);
#endif /* MPLAYER_MP_IMAGE_H */
diff --git a/video/repack.c b/video/repack.c
index db9bc31ac7..f5d8739fc4 100644
--- a/video/repack.c
+++ b/video/repack.c
@@ -132,8 +132,8 @@ static void copy_plane(struct mp_image *dst, int dst_x, int dst_y,
assert(dst->fmt.bpp[p] == src->fmt.bpp[p]);
for (int y = 0; y < h; y++) {
- void *pd = mp_image_pixel_ptr(dst, p, dst_x, dst_y + y);
- void *ps = mp_image_pixel_ptr(src, p, src_x, src_y + y);
+ void *pd = mp_image_pixel_ptr_ny(dst, p, dst_x, dst_y + y);
+ void *ps = mp_image_pixel_ptr_ny(src, p, src_x, src_y + y);
memcpy(pd, ps, size);
}
}
@@ -147,17 +147,17 @@ static void swap_endian(struct mp_image *dst, int dst_x, int dst_y,
for (int p = 0; p < dst->fmt.num_planes; p++) {
int xs = dst->fmt.xs[p];
- int bpp = dst->fmt.bytes[p];
+ int bpp = dst->fmt.bpp[p] / 8;
int words_per_pixel = bpp / endian_size;
int num_words = ((w + (1 << xs) - 1) >> xs) * words_per_pixel;
// Number of lines on this plane.
int h = (1 << dst->fmt.chroma_ys) - (1 << dst->fmt.ys[p]) + 1;
- assert(src->fmt.bytes[p] == bpp);
+ assert(src->fmt.bpp[p] == bpp * 8);
for (int y = 0; y < h; y++) {
- void *s = mp_image_pixel_ptr(src, p, src_x, src_y + y);
- void *d = mp_image_pixel_ptr(dst, p, dst_x, dst_y + y);
+ void *s = mp_image_pixel_ptr_ny(src, p, src_x, src_y + y);
+ void *d = mp_image_pixel_ptr_ny(dst, p, dst_x, dst_y + y);
switch (endian_size) {
case 2:
for (int x = 0; x < num_words; x++)
@@ -851,8 +851,8 @@ static void repack_float(struct mp_repack *rp,
for (int p = 0; p < b->num_planes; p++) {
int h = (1 << b->fmt.chroma_ys) - (1 << b->fmt.ys[p]) + 1;
for (int y = 0; y < h; y++) {
- void *pa = mp_image_pixel_ptr(a, p, a_x, a_y + y);
- void *pb = mp_image_pixel_ptr(b, p, b_x, b_y + y);
+ void *pa = mp_image_pixel_ptr_ny(a, p, a_x, a_y + y);
+ void *pb = mp_image_pixel_ptr_ny(b, p, b_x, b_y + y);
packer(pa, pb, w >> b->fmt.xs[p], rp->f32_m[p], rp->f32_o[p],
rp->f32_pmax[p]);
diff --git a/video/sws_utils.c b/video/sws_utils.c
index faa61670b1..800e4f34b3 100644
--- a/video/sws_utils.c
+++ b/video/sws_utils.c
@@ -400,7 +400,7 @@ struct mp_image *mp_img_swap_to_native(struct mp_image *img)
}
if (to == AV_PIX_FMT_NONE || !mp_image_make_writeable(img))
return img;
- int elems = img->fmt.bytes[0] / 2 * img->w;
+ int elems = img->fmt.bpp[0] / 8 / 2 * img->w;
for (int y = 0; y < img->h; y++) {
uint16_t *p = (uint16_t *)(img->planes[0] + y * img->stride[0]);
for (int i = 0; i < elems; i++)