Commit d4124ea3 authored by Minghai Shang's avatar Minghai Shang

[svc] Fix issue for setting layers through ffmpeg

Root cause is number of spatial layers is set through
parse_options() when running from ffmpeg.

Change-Id: Icd79cd13fd76e8712150d803838a33fee9117dcb
parent 143b0955
...@@ -524,9 +524,6 @@ vpx_codec_err_t vpx_svc_init(SvcContext *svc_ctx, vpx_codec_ctx_t *codec_ctx, ...@@ -524,9 +524,6 @@ vpx_codec_err_t vpx_svc_init(SvcContext *svc_ctx, vpx_codec_ctx_t *codec_ctx,
svc_ctx->spatial_layers); svc_ctx->spatial_layers);
return VPX_CODEC_INVALID_PARAM; return VPX_CODEC_INVALID_PARAM;
} }
// use SvcInternal value for number of layers to enable forcing single layer
// for first frame
si->layers = svc_ctx->spatial_layers;
res = parse_quantizer_values(svc_ctx, si->quantizers, 0); res = parse_quantizer_values(svc_ctx, si->quantizers, 0);
if (res != VPX_CODEC_OK) return res; if (res != VPX_CODEC_OK) return res;
...@@ -538,10 +535,13 @@ vpx_codec_err_t vpx_svc_init(SvcContext *svc_ctx, vpx_codec_ctx_t *codec_ctx, ...@@ -538,10 +535,13 @@ vpx_codec_err_t vpx_svc_init(SvcContext *svc_ctx, vpx_codec_ctx_t *codec_ctx,
res = parse_scale_factors(svc_ctx, si->scale_factors); res = parse_scale_factors(svc_ctx, si->scale_factors);
if (res != VPX_CODEC_OK) return res; if (res != VPX_CODEC_OK) return res;
// parse aggregate command line options // Parse aggregate command line options. Options must start with
// "layers=xx" then followed by other options
res = parse_options(svc_ctx, si->options); res = parse_options(svc_ctx, si->options);
if (res != VPX_CODEC_OK) return res; if (res != VPX_CODEC_OK) return res;
si->layers = svc_ctx->spatial_layers;
// Assign target bitrate for each layer. We calculate the ratio // Assign target bitrate for each layer. We calculate the ratio
// from the resolution for now. // from the resolution for now.
// TODO(Minghai): Optimize the mechanism of allocating bits after // TODO(Minghai): Optimize the mechanism of allocating bits after
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment