[FFmpeg-devel] [PATCH v1] avcodec/libaomdec: don't set aspect ratio when it's not yet known

James Almer jamrial at gmail.com
Sun Oct 8 15:09:02 EEST 2023


On 10/8/2023 8:57 AM, Steven Liu wrote:
> Makes the output of the libaom av1 decoder consistent with external decoders like
> libdav1d.
> 
> reference commit: 1652f2492f88434010053289d946dab6a57e4d58

But it is known at this point. picture->sample_aspect_ratio is set 
directly above.

What needs to be done is initializing the decoder in aom_init() using 
the extradata, so lavf will not attempt to decode frames in order to get 
stream info, which is what i assume is happening here and why you want 
SAR to be 0/1.

> 
> Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
> ---
>   libavcodec/libaomdec.c | 1 -
>   1 file changed, 1 deletion(-)
> 
> diff --git a/libavcodec/libaomdec.c b/libavcodec/libaomdec.c
> index 695d901051..ff4137bfc6 100644
> --- a/libavcodec/libaomdec.c
> +++ b/libavcodec/libaomdec.c
> @@ -204,7 +204,6 @@ static int aom_decode(AVCodecContext *avctx, AVFrame *picture,
>                     picture->height * img->r_w,
>                     picture->width * img->r_h,
>                     INT_MAX);
> -        ff_set_sar(avctx, picture->sample_aspect_ratio);
>   
>           if ((img->fmt & AOM_IMG_FMT_HIGHBITDEPTH) && img->bit_depth == 8)
>               ff_aom_image_copy_16_to_8(picture, img);


More information about the ffmpeg-devel mailing list