[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
diff --git a/vpx/src/svc_encodeframe.c b/vpx/src/svc_encodeframe.c index d4f4e9f..76aacd2 100644 --- a/vpx/src/svc_encodeframe.c +++ b/vpx/src/svc_encodeframe.c
@@ -524,9 +524,6 @@ svc_ctx->spatial_layers); 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); if (res != VPX_CODEC_OK) return res; @@ -538,10 +535,13 @@ res = parse_scale_factors(svc_ctx, si->scale_factors); 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); if (res != VPX_CODEC_OK) return res; + si->layers = svc_ctx->spatial_layers; + // Assign target bitrate for each layer. We calculate the ratio // from the resolution for now. // TODO(Minghai): Optimize the mechanism of allocating bits after