mpegvideo: Avoid 32-bit wrapping of linesize multiplications

This makes sure that linesize * start_y doesn't overflow, so that
emulated_edge_mc can get back the original value if needed.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
pull/35/head
Martin Storsjö 11 years ago
parent 0ebfdae099
commit a711a2cb47
  1. 3
      libavcodec/mpegvideo_motion.c

@ -217,7 +217,8 @@ void mpeg_motion_internal(MpegEncContext *s,
{ {
uint8_t *ptr_y, *ptr_cb, *ptr_cr; uint8_t *ptr_y, *ptr_cb, *ptr_cr;
int dxy, uvdxy, mx, my, src_x, src_y, int dxy, uvdxy, mx, my, src_x, src_y,
uvsrc_x, uvsrc_y, v_edge_pos, uvlinesize, linesize; uvsrc_x, uvsrc_y, v_edge_pos;
ptrdiff_t uvlinesize, linesize;
#if 0 #if 0
if(s->quarter_sample) if(s->quarter_sample)

Loading…
Cancel
Save