[FFmpeg-devel] [PATCH] lavc/vaapi_encode_av1: Fix ref_order_hint value for second slot

Dong, Ruijing Ruijing.Dong at amd.com
Wed Jul 30 23:01:36 EEST 2025


[AMD Official Use Only - AMD Internal Distribution Only]

Without this fix, av1 vaapi encoding on navi3x (vcn4) is broken.

Thanks,
Ruijing

-----Original Message-----
From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of David Rosca
Sent: Thursday, July 24, 2025 6:04 AM
To: ffmpeg-devel at ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH] lavc/vaapi_encode_av1: Fix ref_order_hint value for second slot

On Thu, Jun 5, 2025 at 2:17 PM David Rosca <nowrep at gmail.com> wrote:
>
> On Mon, Apr 14, 2025 at 4:00 PM David Rosca <nowrep at gmail.com> wrote:
> >
> > We always use two slots, even when only one L0 reference is
> > supported by the driver. However we still need to set the correct
> > value for the ref_order_hint of the second slot.
> >
> > Fixes bf9f921ef7 ("avcodec/hw_base_encode: restrict size of
> > next_prev")
>
> Ping

Ping again, this should go in before 8.0 release to fix the regression.

Thanks,
David
>
> > ---
> >  libavcodec/vaapi_encode_av1.c | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/libavcodec/vaapi_encode_av1.c
> > b/libavcodec/vaapi_encode_av1.c index 1b350cd936..cf0ff53edc 100644
> > --- a/libavcodec/vaapi_encode_av1.c
> > +++ b/libavcodec/vaapi_encode_av1.c
> > @@ -476,6 +476,7 @@ static int vaapi_encode_av1_init_picture_params(AVCodecContext *avctx,
> >      AV1RawFrameHeader                *fh = &fh_obu->obu.frame.header;
> >      VAEncPictureParameterBufferAV1 *vpic = vaapi_pic->codec_picture_params;
> >      CodedBitstreamFragment          *obu = &priv->current_obu;
> > +    CodedBitstreamAV1Context      *cbctx = priv->cbc->priv_data;
> >      FFHWBaseEncodePicture *ref;
> >      VAAPIEncodeAV1Picture *href;
> >      int slot, i;
> > @@ -523,6 +524,8 @@ static int vaapi_encode_av1_init_picture_params(AVCodecContext *avctx,
> >              fh->ref_frame_idx[3] = href->slot;
> >              fh->ref_order_hint[href->slot] = ref->display_order - href->last_idr_frame;
> >              vpic->ref_frame_ctrl_l0.fields.search_idx1 =
> > AV1_REF_FRAME_GOLDEN;
> > +        } else {
> > +            fh->ref_order_hint[!href->slot] =
> > + cbctx->ref[!href->slot].order_hint;
> >          }
> >          break;
> >      case FF_HW_PICTURE_TYPE_B:
> > --
> > 2.49.0
> >
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel at ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list