From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH] avcodec/decode: Fix avcodec parameters when bsfs are enable by decoder
Date: Sun, 9 Mar 2025 04:06:20 +0100
Message-ID: <AS8P250MB07446D84BB958139A3776A618FD72@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <tencent_7267E92A905315DC694B81E629108EA6C006@qq.com>
Zhao Zhili:
> From: Zhao Zhili <zhilizhao@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-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2025-03-09 3:06 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-06 7:56 Zhao Zhili
2025-03-09 3:06 ` Andreas Rheinhardt [this message]
2025-03-09 3:41 ` Zhao Zhili
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AS8P250MB07446D84BB958139A3776A618FD72@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM \
--to=andreas.rheinhardt@outlook.com \
--cc=ffmpeg-devel@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git