[FFmpeg-cvslog] [ffmpeg] branch release/6.1 updated. 845c5e71fa 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:38:22 EEST 2025


The branch, release/6.1 has been updated
       via  845c5e71fa37aaf76e50a240a95e7af40ef45242 (commit)
      from  c0f13e324a6f83012e69da4a957e53b01d130959 (commit)


- Log -----------------------------------------------------------------
commit 845c5e71fa37aaf76e50a240a95e7af40ef45242
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:28:22 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 95cc42d7e4..3adc26899d 100644
--- a/libswscale/swscale_unscaled.c
+++ b/libswscale/swscale_unscaled.c
@@ -2220,10 +2220,13 @@ void ff_get_unscaled_swscale(SwsContext *c)
          c->chrDstVSubSample == c->chrSrcVSubSample &&
          !isSemiPlanarYUV(srcFormat) && !isSemiPlanarYUV(dstFormat))))
     {
-        if (isPacked(c->srcFormat))
+        if (isPacked(c->srcFormat)) {
             c->convert_unscaled = packedCopyWrapper;
-        else /* Planar YUV or gray */
+        } else { /* Planar YUV or gray */
             c->convert_unscaled = planarCopyWrapper;
+            if (c->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