aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>2016-04-13 16:28:41 +0100
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>2016-04-13 16:29:12 +0100
commitd3e1c6f975021ef5a096faa2d27e42922def63fb (patch)
tree3425abd30a019ee70276689aaba3c82e92586613
parentc2f9f81650093e971b7342f5a7f143de4fa05645 (diff)
parent0242351390643d176b10600c2eb854414f9559e6 (diff)
downloadffmpeg-d3e1c6f975021ef5a096faa2d27e42922def63fb.tar.gz
Merge commit '0242351390643d176b10600c2eb854414f9559e6'
* commit '0242351390643d176b10600c2eb854414f9559e6': mpegvideo: Fix undefined negative shifts in mpeg_motion_internal Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
-rw-r--r--libavcodec/mpegvideo_motion.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/mpegvideo_motion.c b/libavcodec/mpegvideo_motion.c
index 51ba435231..5deb2c89fb 100644
--- a/libavcodec/mpegvideo_motion.c
+++ b/libavcodec/mpegvideo_motion.c
@@ -544,7 +544,7 @@ static inline void qpel_motion(MpegEncContext *s,
s->vdsp.emulated_edge_mc(s->sc.edge_emu_buffer, ptr_y,
s->linesize, s->linesize,
17, 17 + field_based,
- src_x, src_y << field_based,
+ src_x, src_y * (1 << field_based),
s->h_edge_pos, s->v_edge_pos);
ptr_y = s->sc.edge_emu_buffer;
if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {
@@ -553,12 +553,12 @@ static inline void qpel_motion(MpegEncContext *s,
s->vdsp.emulated_edge_mc(ubuf, ptr_cb,
s->uvlinesize, s->uvlinesize,
9, 9 + field_based,
- uvsrc_x, uvsrc_y << field_based,
+ uvsrc_x, uvsrc_y * (1 << field_based),
s->h_edge_pos >> 1, s->v_edge_pos >> 1);
s->vdsp.emulated_edge_mc(vbuf, ptr_cr,
s->uvlinesize, s->uvlinesize,
9, 9 + field_based,
- uvsrc_x, uvsrc_y << field_based,
+ uvsrc_x, uvsrc_y * (1 << field_based),
s->h_edge_pos >> 1, s->v_edge_pos >> 1);
ptr_cb = ubuf;
ptr_cr = vbuf;