mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-13 18:40:03 +01:00
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>
This commit is contained in:
@@ -36,7 +36,7 @@ static void FUNCC(weight_h264_pixels ## W)(uint8_t *_block, int stride, int heig
|
|||||||
int y; \
|
int y; \
|
||||||
pixel *block = (pixel*)_block; \
|
pixel *block = (pixel*)_block; \
|
||||||
stride >>= sizeof(pixel)-1; \
|
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); \
|
if(log2_denom) offset += 1<<(log2_denom-1); \
|
||||||
for (y = 0; y < height; y++, block += stride) { \
|
for (y = 0; y < height; y++, block += stride) { \
|
||||||
op_scale1(0); \
|
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 *dst = (pixel*)_dst; \
|
||||||
pixel *src = (pixel*)_src; \
|
pixel *src = (pixel*)_src; \
|
||||||
stride >>= sizeof(pixel)-1; \
|
stride >>= sizeof(pixel)-1; \
|
||||||
offset <<= (BIT_DEPTH-8); \
|
offset = (unsigned)offset << (BIT_DEPTH-8); \
|
||||||
offset = ((offset + 1) | 1) << log2_denom; \
|
offset = (unsigned)((offset + 1) | 1) << log2_denom; \
|
||||||
for (y = 0; y < height; y++, dst += stride, src += stride) { \
|
for (y = 0; y < height; y++, dst += stride, src += stride) { \
|
||||||
op_scale2(0); \
|
op_scale2(0); \
|
||||||
op_scale2(1); \
|
op_scale2(1); \
|
||||||
|
|||||||
Reference in New Issue
Block a user