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