summaryrefslogtreecommitdiff
path: root/vp9/encoder
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2018-07-25 17:27:24 -0700
committerMarco Paniconi <marpan@google.com>2018-07-25 17:30:38 -0700
commit23fc20e363f883a15ca0824d16fae0164e0d5f77 (patch)
tree7cc0d92a328bd19cef70c4b3138abadf6ebfe3d2 /vp9/encoder
parenta365f3fc2b73b185bb1ad04c172472763efb027a (diff)
downloadlibvpx-23fc20e363f883a15ca0824d16fae0164e0d5f77.tar
libvpx-23fc20e363f883a15ca0824d16fae0164e0d5f77.tar.gz
libvpx-23fc20e363f883a15ca0824d16fae0164e0d5f77.tar.bz2
libvpx-23fc20e363f883a15ca0824d16fae0164e0d5f77.zip
vp9: Avoid early breakout on slide change
For real-time screen content: don't allow early breakout in nonrd-pickmode on slide change. Avoid artifacts. Change-Id: I09c6927a5d85b46ce059ea5954a3719a7362fb99
Diffstat (limited to 'vp9/encoder')
-rw-r--r--vp9/encoder/vp9_pickmode.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c
index 8a837a5ab..ebed5645d 100644
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -2244,7 +2244,7 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data,
// Skipping checking: test to see if this block can be reconstructed by
// prediction only.
- if (cpi->allow_encode_breakout && !xd->lossless) {
+ if (cpi->allow_encode_breakout && !xd->lossless && !scene_change_detected) {
encode_breakout_test(cpi, x, bsize, mi_row, mi_col, ref_frame, this_mode,
var_y, sse_y, yv12_mb, &this_rdc.rate,
&this_rdc.dist, flag_preduv_computed);
@@ -2291,7 +2291,7 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data,
// If early termination flag is 1 and at least 2 modes are checked,
// the mode search is terminated.
- if (best_early_term && idx > 0) {
+ if (best_early_term && idx > 0 && !scene_change_detected) {
x->skip = 1;
break;
}