summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_svc_layercontext.c
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2018-04-16 16:15:05 -0700
committerMarco Paniconi <marpan@google.com>2018-04-18 12:39:56 -0700
commitce11afb0e02a81a1e0e38ea9f3c3e13920439b1f (patch)
tree7ed399dff06838fe8206963db088c04b5dac4d41 /vp9/encoder/vp9_svc_layercontext.c
parent03fa7018737180d6ee7c495543410c2b2f9f6d09 (diff)
downloadlibvpx-ce11afb0e02a81a1e0e38ea9f3c3e13920439b1f.tar
libvpx-ce11afb0e02a81a1e0e38ea9f3c3e13920439b1f.tar.gz
libvpx-ce11afb0e02a81a1e0e38ea9f3c3e13920439b1f.tar.bz2
libvpx-ce11afb0e02a81a1e0e38ea9f3c3e13920439b1f.zip
vp9: Changes for scene detection overshoot and SVC.
Refactor the scene detection for 1 pass cbr to allow the scene detection to be checked once per superframe (on the base layer), using the full resolution sources. If scene change is detected: check for re-encoding due to large overshoot for all spatial layers withing the superframe. Add speed feature to control the re-encode step. Keep the re-encode step on for now. Small change in nonrd_pickmode to remove the possible skip of golden reference for SVC, when the high_source_sad is set for the superframe. Change only affects SVC encoding with screen-content mode enabled. Change-Id: If4cfb52cb0dd0f0fce1c4214fa8b413f8f803d56
Diffstat (limited to 'vp9/encoder/vp9_svc_layercontext.c')
-rw-r--r--vp9/encoder/vp9_svc_layercontext.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_svc_layercontext.c b/vp9/encoder/vp9_svc_layercontext.c
index 88b8daf4c..42a197769 100644
--- a/vp9/encoder/vp9_svc_layercontext.c
+++ b/vp9/encoder/vp9_svc_layercontext.c
@@ -712,6 +712,8 @@ int vp9_one_pass_cbr_svc_start_layer(VP9_COMP *const cpi) {
cpi->svc.non_reference_frame = 1;
}
+ if (cpi->svc.spatial_layer_id == 0) cpi->svc.high_source_sad_superframe = 0;
+
if (vp9_set_size_literal(cpi, width, height) != 0)
return VPX_CODEC_INVALID_PARAM;