diff options
author | Minghai Shang <minghai@google.com> | 2014-09-18 18:05:07 -0700 |
---|---|---|
committer | Minghai Shang <minghai@google.com> | 2014-09-18 18:05:07 -0700 |
commit | 209ee12110cad5eaeb2b80b18c5b7ae5029c9c80 (patch) | |
tree | 59a753bf5b661bb45e2945c65cb23e0514bac076 /vp9/vp9_cx_iface.c | |
parent | 4f5b2b28924fa63f88449e203905ec88168bbda7 (diff) | |
download | libvpx-209ee12110cad5eaeb2b80b18c5b7ae5029c9c80.tar libvpx-209ee12110cad5eaeb2b80b18c5b7ae5029c9c80.tar.gz libvpx-209ee12110cad5eaeb2b80b18c5b7ae5029c9c80.tar.bz2 libvpx-209ee12110cad5eaeb2b80b18c5b7ae5029c9c80.zip |
[spatial svc] Remove vpx_svc_parameters_t and the loop that sets it for each layer
vpx_svc_parameters_t contains id, resolution and min/max qp for each spatial layer.
In this change we will use extra config to send min/max qp and scaling factors, then calculate layer resolution inside encoder.
Change-Id: Ib673303266605fe803c3b067284aae5f7a25514a
Diffstat (limited to 'vp9/vp9_cx_iface.c')
-rw-r--r-- | vp9/vp9_cx_iface.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/vp9/vp9_cx_iface.c b/vp9/vp9_cx_iface.c index 4b24960ef..06aacda8e 100644 --- a/vp9/vp9_cx_iface.c +++ b/vp9/vp9_cx_iface.c @@ -1201,22 +1201,18 @@ static vpx_codec_err_t ctrl_set_svc_layer_id(vpx_codec_alg_priv_t *ctx, static vpx_codec_err_t ctrl_set_svc_parameters(vpx_codec_alg_priv_t *ctx, va_list args) { VP9_COMP *const cpi = ctx->cpi; - vpx_svc_parameters_t *const params = va_arg(args, vpx_svc_parameters_t *); + vpx_svc_extra_cfg_t *const params = va_arg(args, vpx_svc_extra_cfg_t *); + int i; - if (params == NULL || params->spatial_layer < 0 || - params->spatial_layer >= cpi->svc.number_spatial_layers) - return VPX_CODEC_INVALID_PARAM; + for (i = 0; i < cpi->svc.number_spatial_layers; ++i) { + LAYER_CONTEXT *lc = &cpi->svc.layer_context[i]; - if (params->spatial_layer == 0) { - int i; - for (i = 0; i < cpi->svc.number_spatial_layers; ++i) { - cpi->svc.layer_context[i].svc_params_received.spatial_layer = -1; - } + lc->max_q = params->max_quantizers[i]; + lc->min_q = params->min_quantizers[i]; + lc->scaling_factor_num = params->scaling_factor_num[i]; + lc->scaling_factor_den = params->scaling_factor_den[i]; } - cpi->svc.layer_context[params->spatial_layer].svc_params_received = - *params; - return VPX_CODEC_OK; } |