Zhao Zhili: > From: Zhao Zhili <zhiliz...@tencent.com> > > BSF can update extradata, e.g., vvc_mp4toannexb. If we don't copy > bsf->par_out back to avcodec context, decoder can get extradata in > mp4 format, while packets are in annexb format. > --- > libavcodec/decode.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/libavcodec/decode.c b/libavcodec/decode.c > index c5a577f4f1..95b8c32502 100644 > --- a/libavcodec/decode.c > +++ b/libavcodec/decode.c > @@ -206,6 +206,9 @@ static int decode_bsfs_init(AVCodecContext *avctx) > goto fail; > > ret = av_bsf_init(avci->bsf); > + if (ret < 0) > + goto fail; > + ret = avcodec_parameters_to_context(avctx, avci->bsf->par_out); > if (ret < 0) > goto fail; >
FYI: The same change has been done in f631c328e680 (and 662558f985f508 in libav) and later reverted in 87588caf8cff (and cacb62f9cbf3). The reason was that extradata was owned by the user for decoders. This has only been changed very recently in 183c59b4738c last December, but this was an API change (without any entry in APIchanges) and I would not be surprised if your change would break some users. Does not mean I block your patch, though. An alternative approach is that we add a getter for extradata that the decoders that use a bsf known for changing extradata use to access extradata. - Andreas _______________________________________________ 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".