aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2024-08-13 22:07:17 -0300
committerJames Almer <jamrial@gmail.com>2024-08-14 14:52:46 -0300
commit9880fea9306cd86c0907e7ac40716fa233abba14 (patch)
tree1a281c25ac70db92ecdbaeac38a6de7334027424
parent7ad937f0c8cb9f120c50f3e792a699076923768e (diff)
downloadffmpeg-9880fea9306cd86c0907e7ac40716fa233abba14.tar.gz
avcodec/snowenc: sign extend a variable before shifting
Fixes "libavcodec/snowenc.c:718:27: runtime error: left shift of 8509032 by 8 places cannot be represented in type 'int'" as seen in fate-vsynth2-snow-hpel under ubsan. Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r--libavcodec/snowenc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c
index 0b87d751b8..eac81d0d7c 100644
--- a/libavcodec/snowenc.c
+++ b/libavcodec/snowenc.c
@@ -715,7 +715,7 @@ static int get_dc(SnowEncContext *enc, int mb_x, int mb_y, int plane_index)
}
*b= backup;
- return av_clip_uint8( ROUNDED_DIV(ab<<LOG2_OBMC_MAX, aa) ); //FIXME we should not need clipping
+ return av_clip_uint8( ROUNDED_DIV((int64_t)ab<<LOG2_OBMC_MAX, aa) ); //FIXME we should not need clipping
}
static inline int get_block_bits(SnowContext *s, int x, int y, int w){