summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_pickmode.c
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2019-03-08 10:04:31 -0800
committerMarco Paniconi <marpan@google.com>2019-03-08 10:41:36 -0800
commit8d488e8c3b301804bf0287a27f06972affa96378 (patch)
treee0a004c7412fe3a9043cef2a3b1ced4174b34304 /vp9/encoder/vp9_pickmode.c
parent47f8ce0f7c6ee95598d336263d6714abe19aa204 (diff)
downloadlibvpx-8d488e8c3b301804bf0287a27f06972affa96378.tar
libvpx-8d488e8c3b301804bf0287a27f06972affa96378.tar.gz
libvpx-8d488e8c3b301804bf0287a27f06972affa96378.tar.bz2
libvpx-8d488e8c3b301804bf0287a27f06972affa96378.zip
vp9-screen: Fix to screen wth layered encoding
zero_temp_sad_source is only computed when compute_source_sad_onepass and sf->use_source_sad are on, which currently is only for the top layer of the layered encoding. So qualify the usage of zero_temp_sad_source on those flags. This affects the quality/speed of the lower layers of screen content mode when SVC (quality layers) are used. Change-Id: I54167265a05a4b918ce015931375aa42d3e75cf5
Diffstat (limited to 'vp9/encoder/vp9_pickmode.c')
-rw-r--r--vp9/encoder/vp9_pickmode.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c
index b799a1160..558210c60 100644
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -2033,6 +2033,7 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data,
// stationary blocks, only skip zero motion check for non-stationary blocks.
if (cpi->oxcf.content == VP9E_CONTENT_SCREEN &&
sf->short_circuit_flat_blocks && x->source_variance == 0 &&
+ cpi->compute_source_sad_onepass && cpi->sf.use_source_sad &&
((frame_mv[this_mode][ref_frame].as_int != 0 &&
x->zero_temp_sad_source) ||
(frame_mv[this_mode][ref_frame].as_int == 0 &&