* [FFmpeg-devel] [PATCH] lavc/vaapi_encode_av1: Fix ref_order_hint value for second slot @ 2025-04-14 13:59 David Rosca 2025-06-05 12:17 ` David Rosca 0 siblings, 1 reply; 5+ messages in thread From: David Rosca @ 2025-04-14 13:59 UTC (permalink / raw) To: ffmpeg-devel; +Cc: David Rosca 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") --- 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@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH] lavc/vaapi_encode_av1: Fix ref_order_hint value for second slot 2025-04-14 13:59 [FFmpeg-devel] [PATCH] lavc/vaapi_encode_av1: Fix ref_order_hint value for second slot David Rosca @ 2025-06-05 12:17 ` David Rosca 2025-07-24 10:03 ` David Rosca 0 siblings, 1 reply; 5+ messages in thread From: David Rosca @ 2025-06-05 12:17 UTC (permalink / raw) To: ffmpeg-devel On Mon, Apr 14, 2025 at 4:00 PM David Rosca <nowrep@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 > --- > 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@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH] lavc/vaapi_encode_av1: Fix ref_order_hint value for second slot 2025-06-05 12:17 ` David Rosca @ 2025-07-24 10:03 ` David Rosca 2025-07-30 20:01 ` Dong, Ruijing via ffmpeg-devel 0 siblings, 1 reply; 5+ messages in thread From: David Rosca @ 2025-07-24 10:03 UTC (permalink / raw) To: ffmpeg-devel On Thu, Jun 5, 2025 at 2:17 PM David Rosca <nowrep@gmail.com> wrote: > > On Mon, Apr 14, 2025 at 4:00 PM David Rosca <nowrep@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@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH] lavc/vaapi_encode_av1: Fix ref_order_hint value for second slot 2025-07-24 10:03 ` David Rosca @ 2025-07-30 20:01 ` Dong, Ruijing via ffmpeg-devel 2025-08-03 22:26 ` Michael Niedermayer 0 siblings, 1 reply; 5+ messages in thread From: Dong, Ruijing via ffmpeg-devel @ 2025-07-30 20:01 UTC (permalink / raw) To: FFmpeg development discussions and patches; +Cc: Dong, Ruijing [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@ffmpeg.org> On Behalf Of David Rosca Sent: Thursday, July 24, 2025 6:04 AM To: ffmpeg-devel@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@gmail.com> wrote: > > On Mon, Apr 14, 2025 at 4:00 PM David Rosca <nowrep@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@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH] lavc/vaapi_encode_av1: Fix ref_order_hint value for second slot 2025-07-30 20:01 ` Dong, Ruijing via ffmpeg-devel @ 2025-08-03 22:26 ` Michael Niedermayer 0 siblings, 0 replies; 5+ messages in thread From: Michael Niedermayer @ 2025-08-03 22:26 UTC (permalink / raw) To: FFmpeg development discussions and patches; +Cc: Dong, Ruijing, David Rosca [-- Attachment #1.1: Type: text/plain, Size: 3554 bytes --] Hi Ruijing, David it seems theres no active maintainer for this To move this patch forward, maybe you know someone who wants to help with maintaince. Or maybe AMD might be interrested in having one of their employees officially maintain AMD related hw accelleration in ffmpeg ? thx On Wed, Jul 30, 2025 at 08:01:36PM +0000, Dong, Ruijing via ffmpeg-devel wrote: > [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@ffmpeg.org> On Behalf Of David Rosca > Sent: Thursday, July 24, 2025 6:04 AM > To: ffmpeg-devel@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@gmail.com> wrote: > > > > On Mon, Apr 14, 2025 at 4:00 PM David Rosca <nowrep@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@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB it is not once nor twice but times without number that the same ideas make their appearance in the world. -- Aristotle [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 195 bytes --] [-- Attachment #2: Type: text/plain, Size: 251 bytes --] _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-08-03 22:26 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2025-04-14 13:59 [FFmpeg-devel] [PATCH] lavc/vaapi_encode_av1: Fix ref_order_hint value for second slot David Rosca 2025-06-05 12:17 ` David Rosca 2025-07-24 10:03 ` David Rosca 2025-07-30 20:01 ` Dong, Ruijing via ffmpeg-devel 2025-08-03 22:26 ` Michael Niedermayer
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git