From 2256a9e42b290b67652a2d4a43a434dade49f66c Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 18 May 2020 19:29:25 +0200 Subject: [PATCH] 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. --- test/ref/img_formats.txt | 3 +-- video/img_format.c | 2 +- 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;