From patchwork Sun Feb 11 15:14:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lynne X-Patchwork-Id: 46180 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9002:b0:19e:cdac:8cce with SMTP id d2csp223484pzc; Sun, 11 Feb 2024 07:14:44 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUicKAjd+KGasatZ05zuEAQsiBeSphxPOivTeFQUkCefDK6fadonFKNhbitKPzj0og4vCHohaK0VRNyNkW7q00ZhrArH+RQT3BEfg== X-Google-Smtp-Source: AGHT+IFtWyooxUwCw9pCgkr3ALUL3AYUce1WTGt9EU48s4fzlEoDtJnA+gG9oMsun+Dl1sY+ho14 X-Received: by 2002:a17:906:7db:b0:a3c:3411:de61 with SMTP id m27-20020a17090607db00b00a3c3411de61mr2400726ejc.40.1707664484185; Sun, 11 Feb 2024 07:14:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1707664484; cv=none; d=google.com; s=arc-20160816; b=viY0fHv2CuDUJ0lqdtQ7mE5TE/XMm/04aC7FuORq72x+ztx2iPu0WSZQ6UB0/G6Zgi Pap8iHdj3372etgAJEB1b7o03x2dFBfJYyS3LGawv8KkcsNkVjRULEiZV7WlmauizJE0 S3+sZaf+N7SGFG8tO4jwor9j65/+UaNRwgxUUldWlNTwwEbsEaPDczvxsR31C+PxMSbD 81RgldvyUeQU5TGIaq4M3m0o4i2ig9bHFvehhm9wvAQfW8IVS62XIDyr14VMxfI86Yx+ o7TlSRtcFyQfSeyKRp7xdflqHqHn0DkABnszoaEVkjJckH5vwNHDc0tbGjJbJ2VbTyJL FXSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:message-id:to:from:date:dkim-signature:delivered-to; bh=2R94TSvqMPsFZ/KAwwZLmfgtVhQ1VIE9eqF/7GHJS8A=; fh=KW48/rMom6204MofEFPAbTSU9LnXnXeJz0WUBn55TQ4=; b=mbvxY0MhmqQWi8eh0SzscBk1YBDK/iQBYWshn9eTZUDeRjgD3amU6NE/2ya6acpqta CI+Z9+G8wi8gM9K2ienW3hkddn/92NcOBBohqkBbsDR+mr+D0a473VZDdOmrdyFdsZxQ iPKHb4CGbd0+xxCKf5BlT4ShqhBZIcVErQ4tYWe5HMOMrnUx0Y1oFKezZbMwllqenrnA OUDD7SHfqwE+bVRtsmsepjguZnOUFSwP/St7r0R0F4rqswG3poNW6t+8B4QEaZiCeDsq lN35bChDSu7IfXo3JcZGu4m/bGh9uNC5JITFGsdyFpuDsYeFBVCBRO4md3sRMzKzzgfg 86pA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@lynne.ee header.s=s1 header.b=P2oE56fl; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=lynne.ee X-Forwarded-Encrypted: i=1; AJvYcCXbRuZ1PtTrPh9zyYJrVUAfku4E19o/1NlVQByHyOgfn2Xmckr9bNcRlhYd9/0XGyHvIXNQ3ScoiD6HJ/1Xw7k+E8BU2IjH7TdhgbuNrkQY6c8Oiz3CN4rbeqSqpKJTrm1bjqZVLcNNlbCmnHVRTVlF9QE9vDfoAl7KuYaDMJhGOY1I9MKn4HmvGOL8wtRDmLBfj0oxGI1r/AHbyNyCYVrbkXLiiAdlD1R5MMyCWIhyKTerrDPwHwu9/4XyChjJDHjeGppIZsM2uzt8q212wj+AhYRcwLexYFcwOUilaljOg1er5gbRUVggH/WTHN00tM2I+VXtTeJvqDgvsG1tSDbWMB5y5S0st69utO3/5WUrKYzsgQFMXrP3Ff6tX08L1g4faWVEaYvyCk2NO0H6w4iSmqyxOZaj2ylT++W6dTsySrAxI1z7ywi9dwm70ARI4XqlrCt4linNJEWV2EbvOCrkFMDM56lzK9QyfglZgCHKnC41nf9wAXwhxIk8ZXzXKmEVxPWiSjncXlbIyZqJO30N/wXir4nkMBnfREyfsNOkUBSgtYzHpAbab1dRo5i1ZOb7YFLL/KI7LUa+hVj7wVgASBWthrW+xh0dY7IKHOBntDHjF1Xo7CVZXB7HJmCC1APpQjz0g3fLg7FiugmPlFQxnmwcSI4mvw1YBZJJlPhg9VFk3Wo6oN0SuLX2jcv/UoO0SDFtr0+AYCYw2TwnCq0jNN8l4bIxo8Ue2ea6ZgpD79wJD6LEmdRZkepJufy/tjWNxEm8srrXeuF3IEdUU++snaaP5pIEfMIbGznuot02YamtQFCG9p8wDAoTTV65Iyltlk+7t73ApIS88MoqQU0qgFMk9PIe4ADYSTvNDOdeVWwxbxcGOkiTnEIYp//FRb7QeA92RdY8XsjaN6uzBSSRq27NkepZKnPzVFensF621H++kbBsoA6dLaT27b87iFwxaJ YjyXFXe72g2RgXzRnZI2CTtZ5yx8jY8vtOsoyhUa5Kxn0WNi1AlbXk8isNycj1dlZUpvVuh9YCXp9cPE3cGC/Zqu2wBAsTgjHCMPyaAJj6pAz+KSBcC3mA5GU9sdAz6KU45pYBEs5/YC8bs4L8rtDi3M3DBdlYpZVpbC2SBabyulaYv/usSqRYNEMH0kDBpCLDVgP3GGdAj2P+/K3NCV0D7fyqBTyks783JxowdaVlhnC8mZHU+7gE7EXbPphdTbz5sFQvg4VFlYhrKQ2E8UvAetQqQEfC9ZMf8h7BiJ5fxWYQZzYDWE+thtGXgfggdm3Ooc5U5cwAGMEZgq3TN5WumYlZNYQtfgMH+LJeweQkogLlENJL1dECx8zbE8p4z4vu7rC2AugDIxdigISCqmlfMiJDAP60Cj52ttMKhWKsdGLFeJ3YO7/ayTk5V2OSNhxPg3lcmISyXggfJDvZfjP4ChkmmrF1puv95IcYFFXX55k8bdfBITGIjD13TQRSZx2PBZR90NpO/fcRJUq2n3EK2Wx7AHL3iI/1omW/KJ57Dv+3pJbVA37X1/XJad1JohG7tSk40YHOOR4aMwYSIMQypjOiMbxQh/sRHpZRBPhAJtJ6jNaFWYhzwqo7GRd0 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id k16-20020a1709061c1000b00a3c1d467f48si1846800ejg.842.2024.02.11.07.14.43; Sun, 11 Feb 2024 07:14:44 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@lynne.ee header.s=s1 header.b=P2oE56fl; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=lynne.ee Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C7BBC68CD11; Sun, 11 Feb 2024 17:14:41 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from w4.tutanota.de (w4.tutanota.de [81.3.6.165]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C2A9568CA65 for ; Sun, 11 Feb 2024 17:14:35 +0200 (EET) Received: from tutadb.w10.tutanota.de (unknown [192.168.1.10]) by w4.tutanota.de (Postfix) with ESMTP id 64BC61060271 for ; Sun, 11 Feb 2024 15:14:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1707664475; s=s1; d=lynne.ee; h=From:From:To:To:Subject:Subject:Content-Description:Content-ID:Content-Type:Content-Type:Content-Transfer-Encoding:Cc:Date:Date:In-Reply-To:MIME-Version:MIME-Version:Message-ID:Message-ID:Reply-To:References:Sender; bh=L3ckVo/Fu0243LfsHhEFfhhIQSQJEa+4zlMPwvIvkJw=; b=P2oE56flU1NzBLhFoDxx0cSr2zX/MX+jKvzqS/m5RiYGNMSLTDSJpsyQW6ka/sxp rhXMs2QjlHjndT8sAh4L4n3nQvWibGd+GY+UCBKTpGPBW2V4aGlXMygny+J6nrsPOw0 7T1amPWLw98pYm3lTz4ySSJLiuvfoO1mgpc173j6Yg8dPESBzd4kPp7L1DNoDvAdSQY MyTOMgs++xhJHvT6Z6pNyjLGM1u/4xX2d3Dxx7O/+hervqait9gZ1ZOZp4RS1rzlc/4 WNEG79Nz4EDvE4lKAkUqd0LmIkhKChRVc0avP35/KTXMV0ZPGJFjXFE1H6mBlt8F48I GGjZveW3rg== Date: Sun, 11 Feb 2024 16:14:35 +0100 (CET) From: Lynne To: Ffmpeg Devel Message-ID: MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 1/2] lavc/cbs_av1: fill in ref_frame_sign_bias and order_hints X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: m4QYTx29cvPG Needed for Vulkan AV1. From 67beae754b839398287499d51134cc40d7cf8ad4 Mon Sep 17 00:00:00 2001 From: Lynne 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