ref: 84be08b07fde56e4608c63e0d0aed080245bb549
parent: 313bfbb6a29bf7c60d9a9e33397ed82a8d11fe2d
author: Yunqing Wang <yunqingwang@google.com>
date: Mon Feb 27 07:45:12 EST 2012
Fix skippable evaluation in mode decision Yaowu fixed the skippable evaluation by correcting 2nd order block's eob. Change-Id: Id47930cbc74a90a046c0c0e324efb03477639ee0
--- a/vp8/encoder/rdopt.c
+++ b/vp8/encoder/rdopt.c
@@ -2214,22 +2214,22 @@
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)
{
--
⑨