From 77c46ebc7d35de283fc27662e21d866be1b45773 Mon Sep 17 00:00:00 2001 From: Fiona Glaser Date: Thu, 20 Aug 2009 13:08:25 -0700 Subject: [PATCH] Fix bug in calculation of I-frame costs with AQ. --- encoder/slicetype.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/encoder/slicetype.c b/encoder/slicetype.c index 54a07fab..ba04b1e4 100644 --- a/encoder/slicetype.c +++ b/encoder/slicetype.c @@ -257,6 +257,8 @@ lowres_intra_mb: { fenc->i_intra_mbs[b-p0] += b_intra; fenc->i_cost_est[0][0] += i_icost; + if( h->param.rc.i_aq_mode ) + fenc->i_cost_est_aq[0][0] += (i_icost * fenc->i_inv_qscale_factor[i_mb_xy] + 128) >> 8; } } } @@ -305,6 +307,7 @@ static int x264_slicetype_frame_cost( x264_t *h, x264_mb_analysis_t *a, { frames[b]->i_intra_mbs[b-p0] = 0; frames[b]->i_cost_est[0][0] = 0; + frames[b]->i_cost_est_aq[0][0] = 0; } if( p1 != p0 ) dist_scale_factor = ( ((b-p0) << 8) + ((p1-p0) >> 1) ) / (p1-p0); -- 2.50.1