From: Marco Date: Tue, 15 Sep 2015 16:54:19 +0000 (-0700) Subject: SVC fix to set worst/best_quality per layer. X-Git-Tag: v1.5.0~156^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=15c43d9ac78785036f84ef35c6418b3db93ed4a0;p=libvpx SVC fix to set worst/best_quality per layer. Allow the worst/best_quality to be set per layer via the VP9E_SET_SVC_PARAMETERS control. Change-Id: Icba5ec8ac757152f3bb7860d6010d9174a7bd578 --- diff --git a/vp9/encoder/vp9_svc_layercontext.c b/vp9/encoder/vp9_svc_layercontext.c index a6c5373b3..e2a275c55 100644 --- a/vp9/encoder/vp9_svc_layercontext.c +++ b/vp9/encoder/vp9_svc_layercontext.c @@ -504,6 +504,14 @@ int vp9_one_pass_cbr_svc_start_layer(VP9_COMP *const cpi) { cpi->svc.number_temporal_layers + cpi->svc.temporal_layer_id]; + // Setting the worst/best_quality via the encoder control: SET_SVC_PARAMETERS, + // only for non-BYPASS mode for now. + if (cpi->svc.temporal_layering_mode != VP9E_TEMPORAL_LAYERING_MODE_BYPASS) { + RATE_CONTROL *const lrc = &lc->rc; + lrc->worst_quality = vp9_quantizer_to_qindex(lc->max_q); + lrc->best_quality = vp9_quantizer_to_qindex(lc->min_q); + } + get_layer_resolution(cpi->oxcf.width, cpi->oxcf.height, lc->scaling_factor_num, lc->scaling_factor_den, &width, &height);