summaryrefslogtreecommitdiff
path: root/vp9/vp9_cx_iface.c
diff options
context:
space:
mode:
authorMinghai Shang <minghai@google.com>2014-09-18 18:05:07 -0700
committerMinghai Shang <minghai@google.com>2014-09-18 18:05:07 -0700
commit209ee12110cad5eaeb2b80b18c5b7ae5029c9c80 (patch)
tree59a753bf5b661bb45e2945c65cb23e0514bac076 /vp9/vp9_cx_iface.c
parent4f5b2b28924fa63f88449e203905ec88168bbda7 (diff)
downloadlibvpx-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.c20
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;
}