1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-10 06:10:52 +02:00

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")
This commit is contained in:
David Rosca
2025-01-15 22:34:05 +01:00
committed by Lynne
parent 523134587a
commit 814dd634e0

View File

@@ -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: