[FFmpeg-devel] [PATCH] ffmpeg_opts: remove lowres check

James Almer jamrial at gmail.com
Thu Jan 21 03:56:12 EET 2021


On 1/9/2021 2:47 PM, James Almer wrote:
> The st->codec values are updated based on the lowres factor by
> avformat_find_stream_info() when it runs an instance of the decoder internally,
> and the same thing happens in ffmpeg.c when we open ist->dec_ctx with
> avcodec_open2(), so these assignments are redundant.
> 
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> This chunk here is not properly wrapped with the relevant pre-processor check
> for AVStream->codec, and seeing it's ultimately redundant, i figured we might
> as well delete it now.
> 
> For that matter, the deprecation of lowres in avcodec.h is in a very strange
> state (the field is not removed, its offset is changed instead). Once the value
> of FF_API_LOWRES is flipped, neither the field, the AVOption, or the usage
> within decoders will be removed, but some code in libavformat/utils.c will be
> disabled, and that may result in unexpected behavior.
> 
>   fftools/ffmpeg_opt.c | 9 ---------
>   1 file changed, 9 deletions(-)
> 
> diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
> index c295514401..dec523d621 100644
> --- a/fftools/ffmpeg_opt.c
> +++ b/fftools/ffmpeg_opt.c
> @@ -867,15 +867,6 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
>           case AVMEDIA_TYPE_VIDEO:
>               if(!ist->dec)
>                   ist->dec = avcodec_find_decoder(par->codec_id);
> -#if FF_API_LOWRES
> -            if (st->codec->lowres) {
> -                ist->dec_ctx->lowres = st->codec->lowres;
> -                ist->dec_ctx->width  = st->codec->width;
> -                ist->dec_ctx->height = st->codec->height;
> -                ist->dec_ctx->coded_width  = st->codec->coded_width;
> -                ist->dec_ctx->coded_height = st->codec->coded_height;
> -            }
> -#endif
>   
>               // avformat_find_stream_info() doesn't set this for us anymore.
>               ist->dec_ctx->framerate = st->avg_frame_rate;

Will apply soon.


More information about the ffmpeg-devel mailing list