1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-10-06 05:47:18 +02:00

swscale/swscale_unscaled: use 8 line alignment for planarCopyWrapper with dithering

Dithering relies on a 8 line dithering table and the code always uses it from
the beginning. So in order to make dithering independent from height of the
slices used we must enforce a 8 line alignment.

Fixes issue #20071.

Signed-off-by: Marton Balint <cus@passwd.hu>
(cherry picked from commit b61e510e75)
This commit is contained in:
Marton Balint
2025-08-03 13:44:03 +02:00
parent 26da3d0069
commit 057b94649f

View File

@@ -2676,10 +2676,13 @@ void ff_get_unscaled_swscale(SwsInternal *c)
isSemiPlanarYUV(srcFormat) == isSemiPlanarYUV(dstFormat) &&
isSwappedChroma(srcFormat) == isSwappedChroma(dstFormat))))
{
if (isPacked(c->opts.src_format))
if (isPacked(c->opts.src_format)) {
c->convert_unscaled = packedCopyWrapper;
else /* Planar YUV or gray */
} else { /* Planar YUV or gray */
c->convert_unscaled = planarCopyWrapper;
if (c->opts.dither != SWS_DITHER_NONE)
c->dst_slice_align = 8 << c->chrDstVSubSample;
}
}
#if ARCH_PPC