shithub: libvpx

Download patch

ref: 2290898ac7d0abfcf1eaf3be147e6b419380f0eb
parent: 89d3dc043e3e6c2a3a93b7162bd333802919e3c8
author: Marco <[email protected]>
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)) {