From d720dcbe3da223f7f228a4525e5b9fc3b114ebc6 Mon Sep 17 00:00:00 2001
From: Lynne <dev@lynne.ee>
Date: Fri, 2 Feb 2024 03:54:06 +0100
Subject: [PATCH v2 1/2] lavc/cbs_av1: fill in ref_frame_sign_bias
Needed for AV1.
---
libavcodec/cbs_av1.h | 1 +
libavcodec/cbs_av1_syntax_template.c | 10 ++++++++++
2 files changed, 11 insertions(+)
@@ -465,6 +465,7 @@ typedef struct CodedBitstreamAV1Context {
int tile_num;
AV1ReferenceFrameState ref[AV1_NUM_REF_FRAMES];
+ uint8_t ref_frame_sign_bias[AV1_NUM_REF_FRAMES];
// AVOptions
int operating_point;
@@ -1572,6 +1572,16 @@ static int FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw,
}
if (!frame_is_intra) {
+ for (i = 0; i < AV1_REFS_PER_FRAME; i++) {
+ if (seq->enable_order_hint) {
+ int idx = current->ref_frame_idx[i];
+ int hint = current->ref_order_hint[idx];
+ priv->ref_frame_sign_bias[i] = cbs_av1_get_relative_dist(seq, hint,
+ priv->order_hint) > 0;
+ } else {
+ priv->ref_frame_sign_bias[i] = 0;
+ }
+ }
// Derive reference frame sign biases.
}
--
2.43.0.381.gb435a96ce8