mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
avcodec/mpegvideo: Fix undefined left shift of negative numbers
Fixes the rv20-1239 FATE-test. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
fe3c2c8bbe
commit
e5f6918cbd
@ -843,7 +843,7 @@ static inline int hpel_motion_lowres(MpegEncContext *s,
|
||||
s->vdsp.emulated_edge_mc(s->sc.edge_emu_buffer, src,
|
||||
s->linesize, s->linesize,
|
||||
w + 1, (h + 1) << field_based,
|
||||
src_x, src_y << field_based,
|
||||
src_x, src_y * (1 << field_based),
|
||||
h_edge_pos, v_edge_pos);
|
||||
src = s->sc.edge_emu_buffer;
|
||||
emu = 1;
|
||||
@ -945,7 +945,7 @@ static av_always_inline void mpeg_motion_lowres(MpegEncContext *s,
|
||||
s->vdsp.emulated_edge_mc(s->sc.edge_emu_buffer, ptr_y,
|
||||
linesize >> field_based, linesize >> field_based,
|
||||
17, 17 + field_based,
|
||||
src_x, src_y << field_based, h_edge_pos,
|
||||
src_x, src_y * (1 << field_based), h_edge_pos,
|
||||
v_edge_pos);
|
||||
ptr_y = s->sc.edge_emu_buffer;
|
||||
if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {
|
||||
@ -956,12 +956,12 @@ static av_always_inline void mpeg_motion_lowres(MpegEncContext *s,
|
||||
s->vdsp.emulated_edge_mc(ubuf, ptr_cb,
|
||||
uvlinesize >> field_based, uvlinesize >> field_based,
|
||||
9, 9 + field_based,
|
||||
uvsrc_x, uvsrc_y << field_based,
|
||||
uvsrc_x, uvsrc_y * (1 << field_based),
|
||||
h_edge_pos >> 1, v_edge_pos >> 1);
|
||||
s->vdsp.emulated_edge_mc(vbuf, ptr_cr,
|
||||
uvlinesize >> field_based,uvlinesize >> field_based,
|
||||
9, 9 + field_based,
|
||||
uvsrc_x, uvsrc_y << field_based,
|
||||
uvsrc_x, uvsrc_y * (1 << field_based),
|
||||
h_edge_pos >> 1, v_edge_pos >> 1);
|
||||
ptr_cb = ubuf;
|
||||
ptr_cr = vbuf;
|
||||
|
Loading…
x
Reference in New Issue
Block a user