diff options
author | Marco <marpan@google.com> | 2017-06-28 17:03:53 -0700 |
---|---|---|
committer | Jerome Jiang <jianj@google.com> | 2017-06-30 14:52:00 -0700 |
commit | 2290898ac7d0abfcf1eaf3be147e6b419380f0eb (patch) | |
tree | 18331852c72aa1c1af34adccdc419966e6619840 /vp9 | |
parent | 89d3dc043e3e6c2a3a93b7162bd333802919e3c8 (diff) | |
download | libvpx-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.c | 3 |
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)) { |