diff options
author | Mans Rullgard <mans@mansr.com> | 2011-12-17 18:45:46 +0000 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2011-12-17 18:59:24 +0000 |
commit | 77d88b872d8cbb42738ede2d4fc098c16f204236 (patch) | |
tree | cd44cf2b6b447483c003e912445d25f865ebd15b /libswscale | |
parent | b4dc68803bd7fa73c2e37f55ae73b5fdb293c68d (diff) | |
download | ffmpeg-77d88b872d8cbb42738ede2d4fc098c16f204236.tar.gz |
swscale: fix integer overflows in RGB pixel writing.
We're shifting individual components (8-bit, unsigned) left by 24,
so making them unsigned should give the same results without the
overflow.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Diffstat (limited to 'libswscale')
-rw-r--r-- | libswscale/swscale.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libswscale/swscale.c b/libswscale/swscale.c index 818c049f35..3ea37104e8 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -920,8 +920,8 @@ YUV2PACKED16WRAPPER(yuv2, rgb48, bgr48be, PIX_FMT_BGR48BE) YUV2PACKED16WRAPPER(yuv2, rgb48, bgr48le, PIX_FMT_BGR48LE) static av_always_inline void -yuv2rgb_write(uint8_t *_dest, int i, int Y1, int Y2, - int U, int V, int A1, int A2, +yuv2rgb_write(uint8_t *_dest, int i, unsigned Y1, unsigned Y2, + unsigned U, unsigned V, unsigned A1, unsigned A2, const void *_r, const void *_g, const void *_b, int y, enum PixelFormat target, int hasAlpha) { |