Quoting Chun-Min Chang (2024-06-24 20:50:59) > + const AVDictionaryEntry *en = NULL; > + while ((en = av_dict_iterate(ctx->svc_parameters, en))) { > + if (!strlen(en->value)) > + return AVERROR(EINVAL); > + > + if (!strcmp(en->key, "number_spatial_layers")) > + svc_params.number_spatial_layers = strtoul(en->value, NULL, > 10); > + else if (!strcmp(en->key, "number_temporal_layers")) > + svc_params.number_temporal_layers = strtoul(en->value, NULL, > 10); > + else if (!strcmp(en->key, "max_quantizers")) > + aom_svc_parse_int_array(svc_params.max_quantizers, > en->value, AOM_MAX_LAYERS); > + else if (!strcmp(en->key, "min_quantizers")) > + aom_svc_parse_int_array(svc_params.min_quantizers, > en->value, AOM_MAX_LAYERS); > + else if (!strcmp(en->key, "scaling_factor_num")) > + aom_svc_parse_int_array(svc_params.scaling_factor_num, > en->value, AOM_MAX_SS_LAYERS); > + else if (!strcmp(en->key, "scaling_factor_den")) > + aom_svc_parse_int_array(svc_params.scaling_factor_den, > en->value, AOM_MAX_SS_LAYERS); > + else if (!strcmp(en->key, "layer_target_bitrate")) > + aom_svc_parse_int_array(svc_params.layer_target_bitrate, > en->value, AOM_MAX_LAYERS); > + else if (!strcmp(en->key, "framerate_factor")) > + aom_svc_parse_int_array(svc_params.framerate_factor, > en->value, AOM_MAX_TS_LAYERS);
So you declare a new dict-type option, then parse this dict manually instead of AVOptions doing this work for you? Why? -- Anton Khirnov _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".