From ce11afb0e02a81a1e0e38ea9f3c3e13920439b1f Mon Sep 17 00:00:00 2001 From: Marco Paniconi Date: Mon, 16 Apr 2018 16:15:05 -0700 Subject: 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 --- vp9/encoder/vp9_svc_layercontext.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'vp9/encoder/vp9_svc_layercontext.c') 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; -- cgit v1.2.3