diff options
author | David Rosca <nowrep@gmail.com> | 2025-01-15 22:34:05 +0100 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2025-08-08 13:14:07 +0000 |
commit | 814dd634e0ae417425a221f612198f91c7fc8c52 (patch) | |
tree | 22284a9534c4634ac6a840305bcb196fef98ae37 /libavcodec/vaapi_encode_av1.c | |
parent | 523134587ad86959ad03bbbabcca841d64d9ed8c (diff) | |
download | ffmpeg-814dd634e0ae417425a221f612198f91c7fc8c52.tar.gz |
lavc/vaapi_encode_av1: Fix ref_order_hint value for second slot
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 regression from bf9f921ef7 ("avcodec/hw_base_encode: restrict size of next_prev")
Diffstat (limited to 'libavcodec/vaapi_encode_av1.c')
-rw-r--r-- | libavcodec/vaapi_encode_av1.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/vaapi_encode_av1.c b/libavcodec/vaapi_encode_av1.c index f3df5baddc..3d8f29d599 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: |