Mercurial > libavcodec.hg
diff h264.c @ 3001:b52d8ee430f6 libavcodec
fix some potential arithmetic overflows in pred_direct_motion() and
ff_h264_weight_WxH_mmx2().
author | lorenm |
---|---|
date | Fri, 30 Dec 2005 23:47:41 +0000 |
parents | bfabfdf9ce55 |
children | 68d252a8ecd2 |
line wrap: on
line diff
--- a/h264.c Fri Dec 30 22:41:32 2005 +0000 +++ b/h264.c Fri Dec 30 23:47:41 2005 +0000 @@ -1286,8 +1286,8 @@ } if(IS_16X16(*mb_type)){ - fill_rectangle(&h->ref_cache[0][scan8[0]], 4, 4, 8, ref[0], 1); - fill_rectangle(&h->ref_cache[1][scan8[0]], 4, 4, 8, ref[1], 1); + fill_rectangle(&h->ref_cache[0][scan8[0]], 4, 4, 8, (uint8_t)ref[0], 1); + fill_rectangle(&h->ref_cache[1][scan8[0]], 4, 4, 8, (uint8_t)ref[1], 1); if(!IS_INTRA(mb_type_col) && ( (l1ref0[0] == 0 && ABS(l1mv0[0][0]) <= 1 && ABS(l1mv0[0][1]) <= 1) || (l1ref0[0] < 0 && l1ref1[0] == 0 && ABS(l1mv1[0][0]) <= 1 && ABS(l1mv1[0][1]) <= 1 @@ -1315,8 +1315,8 @@ fill_rectangle(&h->mv_cache[0][scan8[i8*4]], 2, 2, 8, pack16to32(mv[0][0],mv[0][1]), 4); fill_rectangle(&h->mv_cache[1][scan8[i8*4]], 2, 2, 8, pack16to32(mv[1][0],mv[1][1]), 4); - fill_rectangle(&h->ref_cache[0][scan8[i8*4]], 2, 2, 8, ref[0], 1); - fill_rectangle(&h->ref_cache[1][scan8[i8*4]], 2, 2, 8, ref[1], 1); + fill_rectangle(&h->ref_cache[0][scan8[i8*4]], 2, 2, 8, (uint8_t)ref[0], 1); + fill_rectangle(&h->ref_cache[1][scan8[i8*4]], 2, 2, 8, (uint8_t)ref[1], 1); /* col_zero_flag */ if(!IS_INTRA(mb_type_col) && ( l1ref0[x8 + y8*h->b8_stride] == 0