[FFmpeg-devel] [PATCH 1/2] avcodec/decode: Workaround for media100 decoding failure issue

Zhao Zhili quinkblack at foxmail.com
Tue Jun 10 18:56:23 EEST 2025


From: Zhao Zhili <zhilizhao at tencent.com>

This is a regression since 1c170613.
---
 libavcodec/decode.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/libavcodec/decode.c b/libavcodec/decode.c
index ef09568381..7e47a2971c 100644
--- a/libavcodec/decode.c
+++ b/libavcodec/decode.c
@@ -204,9 +204,14 @@ static int decode_bsfs_init(AVCodecContext *avctx)
     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;
+    /* Don't copy par_out to avcodec context if bsf changed codec ID,
+     * e.g., media100_to_mjpegb
+     */
+    if (avctx->codec_id == avci->bsf->par_out->codec_id) {
+        ret = avcodec_parameters_to_context(avctx, avci->bsf->par_out);
+        if (ret < 0)
+            goto fail;
+    }
 
     return 0;
 fail:
-- 
2.46.0



More information about the ffmpeg-devel mailing list