summaryrefslogtreecommitdiff
path: root/libavcodec/h264dsp_template.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-03-11 18:49:57 +0100
committerMichael Niedermayer <michaelni@gmx.at>2015-03-11 18:57:36 +0100
commitc756b3fca240df75ffa28e75f2eb34834c10294d (patch)
tree97ff346fbb885e3444aec7819a0a885d3664cec8 /libavcodec/h264dsp_template.c
parent2391e46430fa2af28542124dbcfc935c0a5ce82c (diff)
avcodec/h264dsp_template: Fix undefined shift in biweight_h264_pixels and weight_h264_pixels
Found-by: Clang -fsanitize=shift Reported-by: Thierry Foucu <tfoucu@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/h264dsp_template.c')
-rw-r--r--libavcodec/h264dsp_template.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/h264dsp_template.c b/libavcodec/h264dsp_template.c
index 4d5faf01c0..4b42af7913 100644
--- a/libavcodec/h264dsp_template.c
+++ b/libavcodec/h264dsp_template.c
@@ -36,7 +36,7 @@ static void FUNCC(weight_h264_pixels ## W)(uint8_t *_block, int stride, int heig
int y; \
pixel *block = (pixel*)_block; \
stride >>= sizeof(pixel)-1; \
- offset <<= (log2_denom + (BIT_DEPTH-8)); \
+ offset = (unsigned)offset << (log2_denom + (BIT_DEPTH-8)); \
if(log2_denom) offset += 1<<(log2_denom-1); \
for (y = 0; y < height; y++, block += stride) { \
op_scale1(0); \
@@ -67,8 +67,8 @@ static void FUNCC(biweight_h264_pixels ## W)(uint8_t *_dst, uint8_t *_src, int s
pixel *dst = (pixel*)_dst; \
pixel *src = (pixel*)_src; \
stride >>= sizeof(pixel)-1; \
- offset <<= (BIT_DEPTH-8); \
- offset = ((offset + 1) | 1) << log2_denom; \
+ offset = (unsigned)offset << (BIT_DEPTH-8); \
+ offset = (unsigned)((offset + 1) | 1) << log2_denom; \
for (y = 0; y < height; y++, dst += stride, src += stride) { \
op_scale2(0); \
op_scale2(1); \