From: Yunqing Wang Date: Mon, 27 Feb 2012 17:45:12 +0000 (-0500) Subject: Fix skippable evaluation in mode decision X-Git-Tag: v1.1.0~77^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=84be08b07fde56e4608c63e0d0aed080245bb549;p=libvpx Fix skippable evaluation in mode decision Yaowu fixed the skippable evaluation by correcting 2nd order block's eob. Change-Id: Id47930cbc74a90a046c0c0e324efb03477639ee0 --- diff --git a/vp8/encoder/rdopt.c b/vp8/encoder/rdopt.c index 528e6bedf..92f392e30 100644 --- a/vp8/encoder/rdopt.c +++ b/vp8/encoder/rdopt.c @@ -2214,22 +2214,22 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, if (cpi->common.mb_no_coeff_skip) { int tteob; + int has_y2_block = (this_mode!=SPLITMV && this_mode!=B_PRED); tteob = 0; + if(has_y2_block) + tteob += x->e_mbd.eobs[24]; + + for (i = 0; i < 16; i++) + tteob += (x->e_mbd.eobs[i] > has_y2_block); if (x->e_mbd.mode_info_context->mbmi.ref_frame) { - for (i = 0; i <= 24; i++) + for (i = 16; i < 24; i++) tteob += x->e_mbd.eobs[i]; } else - { - for (i = 0; i < 16; i++) - tteob += x->e_mbd.eobs[i]; - tteob += uv_intra_tteob; - tteob += x->e_mbd.eobs[24]; - } if (tteob == 0) {