[FFmpeg-cvslog] swscale: fix signed shift overflows in ff_yuv2rgb_c_init_tables()

Mans Rullgard git at videolan.org
Sat Oct 22 01:26:51 CEST 2011


ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Fri Oct 21 20:36:11 2011 +0100| [41ac093f7e315e3af17612f580c387b3688f4f43] | committer: Mans Rullgard

swscale: fix signed shift overflows in ff_yuv2rgb_c_init_tables()

Signed-off-by: Mans Rullgard <mans at mansr.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=41ac093f7e315e3af17612f580c387b3688f4f43
---

 libswscale/yuv2rgb.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libswscale/yuv2rgb.c b/libswscale/yuv2rgb.c
index cad0933..39c8b9c 100644
--- a/libswscale/yuv2rgb.c
+++ b/libswscale/yuv2rgb.c
@@ -788,8 +788,8 @@ av_cold int ff_yuv2rgb_c_init_tables(SwsContext *c, const int inv_table[4], int
         y_table32 = c->yuvTable;
         yb = -(384<<16) - oy;
         for (i = 0; i < 1024; i++) {
-            uint8_t yval = av_clip_uint8((yb + 0x8000) >> 16);
-            y_table32[i     ] = (yval << rbase) + (needAlpha ? 0 : (255 << abase));
+            unsigned yval = av_clip_uint8((yb + 0x8000) >> 16);
+            y_table32[i     ] = (yval << rbase) + (needAlpha ? 0 : (255u << abase));
             y_table32[i+1024] = yval << gbase;
             y_table32[i+2048] = yval << bbase;
             yb += cy;



More information about the ffmpeg-cvslog mailing list