ref: 2290898ac7d0abfcf1eaf3be147e6b419380f0eb
parent: 89d3dc043e3e6c2a3a93b7162bd333802919e3c8
author: Marco <marpan@google.com>
date: Wed Jun 28 13:03:53 EDT 2017
vp9: Adjust condition for checking intra mode. For nonrd_pickmode: add condition for checking intra mode if the sb content state is VeryHighSad. Reduces artifacts when sudden change in content. Metrics on RTC/RTC_derf neutral (small gain). No speed loss observed. Change-Id: I07006d28fd2dc06c1d06b07630102b0fece50c40
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -2096,7 +2096,8 @@
// Perform intra prediction search, if the best SAD is above a certain
// threshold.
if (best_rdc.rdcost == INT64_MAX ||
- ((!force_skip_low_temp_var || bsize < BLOCK_32X32) &&
+ ((!force_skip_low_temp_var || bsize < BLOCK_32X32 ||
+ x->content_state_sb == kVeryHighSad) &&
perform_intra_pred && !x->skip && best_rdc.rdcost > inter_mode_thresh &&
bsize <= cpi->sf.max_intra_bsize && !x->skip_low_source_sad &&
!x->lowvar_highsumdiff)) {