PR #20157 opened by nowrep
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20157
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20157.patch

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")


>From cc0aae7d2c34e6283b454efbc02daaebcc9633f8 Mon Sep 17 00:00:00 2001
From: David Rosca <now...@gmail.com>
Date: Wed, 15 Jan 2025 22:34:05 +0100
Subject: [PATCH] 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")
---
 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 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:
-- 
2.49.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

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

Reply via email to