From: Lynne <dev@lynne.ee>
To: Ffmpeg Devel <ffmpeg-devel@ffmpeg.org>
Subject: [FFmpeg-devel] [PATCH v4 1/2] lavc/cbs_av1: fill in ref_frame_sign_bias and order_hints
Date: Sun, 11 Feb 2024 16:14:35 +0100 (CET)
Message-ID: <NqNj-B_--3-9@lynne.ee> (raw)
[-- Attachment #1: Type: text/plain, Size: 24 bytes --]
Needed for Vulkan AV1.
[-- Attachment #2: v4-0001-lavc-cbs_av1-fill-in-ref_frame_sign_bias-and-orde.patch --]
[-- Type: text/x-diff, Size: 1821 bytes --]
From 67beae754b839398287499d51134cc40d7cf8ad4 Mon Sep 17 00:00:00 2001
From: Lynne <dev@lynne.ee>
Date: Fri, 2 Feb 2024 03:54:06 +0100
Subject: [PATCH v4 1/2] lavc/cbs_av1: fill in ref_frame_sign_bias and
order_hints
Needed for Vulkan AV1.
---
libavcodec/cbs_av1.h | 2 ++
libavcodec/cbs_av1_syntax_template.c | 11 +++++++++++
2 files changed, 13 insertions(+)
diff --git a/libavcodec/cbs_av1.h b/libavcodec/cbs_av1.h
index a5402f069d..0ed49e03ca 100644
--- a/libavcodec/cbs_av1.h
+++ b/libavcodec/cbs_av1.h
@@ -465,6 +465,8 @@ typedef struct CodedBitstreamAV1Context {
int tile_num;
AV1ReferenceFrameState ref[AV1_NUM_REF_FRAMES];
+ uint8_t ref_frame_sign_bias[AV1_TOTAL_REFS_PER_FRAME];
+ uint8_t order_hints[AV1_TOTAL_REFS_PER_FRAME];
// AVOptions
int operating_point;
diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c
index 3be1f2d30f..20eed7ff9e 100644
--- a/libavcodec/cbs_av1_syntax_template.c
+++ b/libavcodec/cbs_av1_syntax_template.c
@@ -1572,6 +1572,17 @@ static int FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw,
}
if (!frame_is_intra) {
+ for (i = 0; i < AV1_REFS_PER_FRAME; i++) {
+ uint8_t ref_frame = AV1_REF_FRAME_LAST + i;
+ if (seq->enable_order_hint) {
+ uint8_t hint = current->ref_order_hint[current->ref_frame_idx[i]];
+ uint8_t sign_bias = cbs_av1_get_relative_dist(seq, hint, priv->order_hint) > 0;
+ priv->order_hints[ref_frame] = hint;
+ priv->ref_frame_sign_bias[ref_frame] = sign_bias;
+ } else {
+ priv->ref_frame_sign_bias[ref_frame] = 0;
+ }
+ }
// Derive reference frame sign biases.
}
--
2.43.0.381.gb435a96ce8
[-- Attachment #3: 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".
next reply other threads:[~2024-02-11 15:14 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-11 15:14 Lynne [this message]
[not found] ` <NqNj-B_--3-9@lynne.ee-NqNj2EN----9>
2024-02-11 15:15 ` [FFmpeg-devel] [PATCH v4 2/2] lavc/vulkan_av1: port to the new stable API Lynne
2024-02-13 0:58 ` Benjamin Cheng via ffmpeg-devel
2024-02-13 12:10 ` Lynne
2024-02-13 12:16 ` James Almer
2024-02-20 19:01 ` llyyr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=NqNj-B_--3-9@lynne.ee \
--to=dev@lynne.ee \
--cc=ffmpeg-devel@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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