From: Loren Merritt Date: Thu, 24 Apr 2008 11:17:04 +0000 (-0600) Subject: earlier termination in SEA if mvcost exceeds residual X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e0f13712fd496702f3f7c0cecfb043f0a6af9b3e;p=libx264 earlier termination in SEA if mvcost exceeds residual --- diff --git a/encoder/me.c b/encoder/me.c index 310c5868..7198957d 100644 --- a/encoder/me.c +++ b/encoder/me.c @@ -496,9 +496,11 @@ me_hex2: for( my = min_y; my <= max_y; my++ ) { int ycost = p_cost_mvy[my<<2]; + if( bsad <= ycost ) + continue; bsad -= ycost; xn = h->pixf.ads[i_pixel]( enc_dc, sums_base + min_x + my * stride, delta, - cost_fpel_mvx+min_x, xs, width, X264_MAX(bsad,0)*17/16 ); + cost_fpel_mvx+min_x, xs, width, bsad*17/16 ); for( i=0; ipixf.ads[i_pixel]( enc_dc, sums_base + min_x + my * stride, delta, - cost_fpel_mvx+min_x, xs, width, X264_MAX(bcost,0) ); + cost_fpel_mvx+min_x, xs, width, bcost ); for( i=0; i