[FFmpeg-cvslog] [ffmpeg] branch release/8.0 updated. 057b94649f swscale/swscale_unscaled: use 8 line alignment for planarCopyWrapper with dithering
ffmpeg-git at ffmpeg.org
ffmpeg-git at ffmpeg.org
Wed Aug 13 01:10:44 EEST 2025
The branch, release/8.0 has been updated
via 057b94649f780b51d20114896edc0cba49f8f828 (commit)
from 26da3d00696a735242c25c789e3deeb7d8232cdd (commit)
- Log -----------------------------------------------------------------
commit 057b94649f780b51d20114896edc0cba49f8f828
Author: Marton Balint <cus at passwd.hu>
AuthorDate: Sun Aug 3 13:44:03 2025 +0200
Commit: Marton Balint <cus at passwd.hu>
CommitDate: Wed Aug 13 00:02:59 2025 +0200
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 at passwd.hu>
(cherry picked from commit b61e510e7500c27c7dee2b9c8cfa77689195f2a0)
diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
index 3d9a5c11a8..2c791e89fe 100644
--- a/libswscale/swscale_unscaled.c
+++ b/libswscale/swscale_unscaled.c
@@ -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
-----------------------------------------------------------------------
Summary of changes:
libswscale/swscale_unscaled.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
hooks/post-receive
--
More information about the ffmpeg-cvslog
mailing list