diff options
author | Marco Paniconi <marpan@google.com> | 2019-03-08 10:04:31 -0800 |
---|---|---|
committer | Marco Paniconi <marpan@google.com> | 2019-03-08 10:41:36 -0800 |
commit | 8d488e8c3b301804bf0287a27f06972affa96378 (patch) | |
tree | e0a004c7412fe3a9043cef2a3b1ced4174b34304 /vp9/encoder/vp9_encodeframe.c | |
parent | 47f8ce0f7c6ee95598d336263d6714abe19aa204 (diff) | |
download | libvpx-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_encodeframe.c')
-rw-r--r-- | vp9/encoder/vp9_encodeframe.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 5ed46f2f7..b4cda004b 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -1265,10 +1265,11 @@ static int choose_partitioning(VP9_COMP *cpi, const TileInfo *const tile, int pixels_wide = 64, pixels_high = 64; int64_t thresholds[4] = { cpi->vbp_thresholds[0], cpi->vbp_thresholds[1], cpi->vbp_thresholds[2], cpi->vbp_thresholds[3] }; - int force_64_split = - cpi->rc.high_source_sad || - (cpi->use_svc && cpi->svc.high_source_sad_superframe) || - (cpi->oxcf.content == VP9E_CONTENT_SCREEN && !x->zero_temp_sad_source); + int force_64_split = cpi->rc.high_source_sad || + (cpi->use_svc && cpi->svc.high_source_sad_superframe) || + (cpi->oxcf.content == VP9E_CONTENT_SCREEN && + cpi->compute_source_sad_onepass && + cpi->sf.use_source_sad && !x->zero_temp_sad_source); // For the variance computation under SVC mode, we treat the frame as key if // the reference (base layer frame) is key frame (i.e., is_key_frame == 1). |