Zhao Zhili:
> From: Zhao Zhili <zhiliz...@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:

We should rather use a clean revert; after all, the internal BSF is
supposed to be internal and not change the user-visible extradata etc.

- 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".

Reply via email to