summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorMarco <marpan@google.com>2017-06-28 17:03:53 -0700
committerJerome Jiang <jianj@google.com>2017-06-30 14:52:00 -0700
commit2290898ac7d0abfcf1eaf3be147e6b419380f0eb (patch)
tree18331852c72aa1c1af34adccdc419966e6619840 /vp9
parent89d3dc043e3e6c2a3a93b7162bd333802919e3c8 (diff)
downloadlibvpx-2290898ac7d0abfcf1eaf3be147e6b419380f0eb.tar
libvpx-2290898ac7d0abfcf1eaf3be147e6b419380f0eb.tar.gz
libvpx-2290898ac7d0abfcf1eaf3be147e6b419380f0eb.tar.bz2
libvpx-2290898ac7d0abfcf1eaf3be147e6b419380f0eb.zip
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
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_pickmode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c
index 17dc0637f..d3de95152 100644
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -2096,7 +2096,8 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data,
// 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)) {