Quoting James Almer (2024-11-27 14:31:35)
> @@ -222,10 +223,25 @@ static int dovi_rpu_init(AVBSFContext *bsf)
>
> s->enc.cfg = *cfg;
> } else {
> + AVCodecContext *avctx;
> av_log(bsf, AV_LOG_WARNING, "No Dolby Vision configuration
> record "
> "found? Generating one, but results may be invalid.\n");
> - ret = ff_dovi_configure_ext(&s->enc, bsf->par_out, NULL,
> s->compression,
> + avctx = avcodec_alloc_context3(NULL);
> + if (!avctx)
> + return AVERROR(ENOMEM);
> + ret = avcodec_parameters_to_context(avctx, bsf->par_in);
> + if (ret < 0) {
> + avcodec_free_context(&avctx);
> + return ret;
> + }
> + ret = ff_dovi_configure_ext(&s->enc, avctx, NULL, s->compression,
> FF_COMPLIANCE_NORMAL);
> + if (ret < 0) {
> + avcodec_free_context(&avctx);
> + return ret;
> + }
> + ret = avcodec_parameters_from_context(bsf->par_out, avctx);
This still seems a bit too scorched-earth to me. I'd prefer to give
ff_dovi_configure_ext() a side data list as a parameter and have it
modify that.
--
Anton Khirnov
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".