You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-11-23 21:54:53 +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:
@@ -2676,10 +2676,13 @@ void ff_get_unscaled_swscale(SwsInternal *c)
|
|||||||
isSemiPlanarYUV(srcFormat) == isSemiPlanarYUV(dstFormat) &&
|
isSemiPlanarYUV(srcFormat) == isSemiPlanarYUV(dstFormat) &&
|
||||||
isSwappedChroma(srcFormat) == isSwappedChroma(dstFormat))))
|
isSwappedChroma(srcFormat) == isSwappedChroma(dstFormat))))
|
||||||
{
|
{
|
||||||
if (isPacked(c->opts.src_format))
|
if (isPacked(c->opts.src_format)) {
|
||||||
c->convert_unscaled = packedCopyWrapper;
|
c->convert_unscaled = packedCopyWrapper;
|
||||||
else /* Planar YUV or gray */
|
} else { /* Planar YUV or gray */
|
||||||
c->convert_unscaled = planarCopyWrapper;
|
c->convert_unscaled = planarCopyWrapper;
|
||||||
|
if (c->opts.dither != SWS_DITHER_NONE)
|
||||||
|
c->dst_slice_align = 8 << c->chrDstVSubSample;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ARCH_PPC
|
#if ARCH_PPC
|
||||||
|
|||||||
Reference in New Issue
Block a user