On 11/28/2024 9:57 AM, Anton Khirnov wrote:
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.
It still checks a bunch of fields in codecpar/avctx (read only), not just side data, so it needs one of those.
OpenPGP_signature.asc
Description: OpenPGP digital signature
_______________________________________________ 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".