summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-05-18 19:29:25 +0200
committerwm4 <wm4@nowhere>2020-05-18 19:29:25 +0200
commit2256a9e42b290b67652a2d4a43a434dade49f66c (patch)
tree10545c4cc781a1338fe12d0faa038b130f1fc12e
parent55f6ba62bedfe177701d46ef09afde69ca5ab0eb (diff)
downloadmpv-2256a9e42b290b67652a2d4a43a434dade49f66c.tar.bz2
mpv-2256a9e42b290b67652a2d4a43a434dade49f66c.tar.xz
video: fix AV_PIX_FMT_UYYVYY411 allocation
My previous commit added support for this format, but it was still broken, and prevented the allocation code from working. It's unknown whether it's correct now (because this pixfmt is so obscure and useless, there are no known samples around), but who cares.
-rw-r--r--test/ref/img_formats.txt3
-rw-r--r--video/img_format.c2
2 files changed, 2 insertions, 3 deletions
diff --git a/test/ref/img_formats.txt b/test/ref/img_formats.txt
index 4e02b8deaa..0a4c24eba6 100644
--- a/test/ref/img_formats.txt
+++ b/test/ref/img_formats.txt
@@ -1198,11 +1198,10 @@ uyvy422: ctype=uint
2: p=0 st=4 o=2 sh=0 d=8
uyyvyy411: [GENERIC] ctype=uint
Basic desc: [yuv][le][be]
- planes=1, chroma=2:0 align=0:1
+ planes=1, chroma=2:0 align=4:1
{12/[0:0] }
0: 48bits w=4 {8:8} {0:8} {24:8} {}
extra_luma_offsets=[ 16 32 40]
- [NOALLOC]
AVD: name=uyyvyy411 chroma=2:0 flags=0x0
0: p=0 st=4 o=1 sh=0 d=8
1: p=0 st=6 o=0 sh=0 d=8
diff --git a/video/img_format.c b/video/img_format.c
index 17a07af6a9..6e3a78a2c6 100644
--- a/video/img_format.c
+++ b/video/img_format.c
@@ -573,7 +573,7 @@ struct mp_imgfmt_desc mp_imgfmt_get_desc(int mpfmt)
desc.align_x = 1 << desc.chroma_xs;
desc.align_y = 1 << desc.chroma_ys;
- if ((desc.bpp[0] % 8) != 0)
+ if ((desc.bpp[0] * (layout.extra_w + 1) % 8) != 0)
desc.align_x = 8 / desc.bpp[0]; // expect power of 2
return desc;