]> git.sesse.net Git - ffmpeg/commitdiff
swscale/swscale: Fix several invalid shifts related to vChrDrop
authorMichael Niedermayer <michael@niedermayer.cc>
Tue, 21 Jan 2020 21:52:19 +0000 (22:52 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 22 Jan 2020 17:41:46 +0000 (18:41 +0100)
Fixes: Invalid shifts
Fixes: #8166
Fixes: filter-crop_scale_vflip FATE-test
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libswscale/swscale.c

index 4ecfa88ff75c0705cac6fdb67a0fb2ec05f7216d..8436f056d42c0d11c41961c64aa311354862155a 100644 (file)
@@ -295,8 +295,8 @@ static int swscale(SwsContext *c, const uint8_t *src[],
         srcStride[2] =
         srcStride[3] = srcStride[0];
     }
-    srcStride[1] <<= c->vChrDrop;
-    srcStride[2] <<= c->vChrDrop;
+    srcStride[1] *= 1 << c->vChrDrop;
+    srcStride[2] *= 1 << c->vChrDrop;
 
     DEBUG_BUFFERS("swscale() %p[%d] %p[%d] %p[%d] %p[%d] -> %p[%d] %p[%d] %p[%d] %p[%d]\n",
                   src[0], srcStride[0], src[1], srcStride[1],