Reduce intra_cost_penalty for BLOCK_8X8
authorYunqing Wang <yunqingwang@google.com>
Thu, 30 Apr 2015 18:03:06 +0000 (11:03 -0700)
committerYunqing Wang <yunqingwang@google.com>
Thu, 30 Apr 2015 18:03:06 +0000 (11:03 -0700)
This patch reduced the BLOCK_8X8's intra_cost_penalty, which
allows 8x8 blocks to conduct intra mode search. Borg test
result(rtc set): 0.077% PSNR gain, 0.228% SSIM gain. No speed
changes.

Change-Id: Icfe90c4f6969de24bda8ecacbd3da50330bf22b2

vp9/encoder/vp9_pickmode.c

index 85d7fde..c32a0df 100644 (file)
@@ -1046,7 +1046,7 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
   // Reduce the intra cost penalty for small blocks (<=16x16).
   const int reduction_fac =
       (cpi->sf.partition_search_type == VAR_BASED_PARTITION &&
-       bsize <= BLOCK_16X16) ? 2 : 0;
+       bsize <= BLOCK_16X16) ? ((bsize <= BLOCK_8X8) ? 4 : 2) : 0;
   const int intra_cost_penalty = vp9_get_intra_cost_penalty(
       cm->base_qindex, cm->y_dc_delta_q, cm->bit_depth) >> reduction_fac;
   const int64_t inter_mode_thresh = RDCOST(x->rdmult, x->rddiv,