# HG changeset patch # User michael # Date 1162048800 0 # Node ID de30c06dc2999179615ffa6af4885b585827952b # Parent 99616a74260a6c2f15e62afbbd442f19158b5746 prevent overflow if lambda2 is "too" large diff -r 99616a74260a -r de30c06dc299 mpegvideo.c --- a/mpegvideo.c Sat Oct 28 11:15:06 2006 +0000 +++ b/mpegvideo.c Sat Oct 28 15:20:00 2006 +0000 @@ -5579,7 +5579,7 @@ /* Estimate motion for every MB */ if(s->pict_type != I_TYPE){ s->lambda = (s->lambda * s->avctx->me_penalty_compensation + 128)>>8; - s->lambda2= (s->lambda2* s->avctx->me_penalty_compensation + 128)>>8; + s->lambda2= (s->lambda2* (int64_t)s->avctx->me_penalty_compensation + 128)>>8; if(s->pict_type != B_TYPE && s->avctx->me_threshold==0){ if((s->avctx->pre_me && s->last_non_b_pict_type==I_TYPE) || s->avctx->pre_me==2){ s->avctx->execute(s->avctx, pre_estimate_motion_thread, (void**)&(s->thread_context[0]), NULL, s->avctx->thread_count);