From patchwork Sun May 19 13:27:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nuo Mi X-Patchwork-Id: 49019 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3a48:b0:1af:fc2d:ff5a with SMTP id zu8csp3924304pzb; Sun, 19 May 2024 06:41:12 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXg8Us7SzmyZD7qveQpnJUpNqKRsZXxV8r6yws/WgEHg0RDA0CHfxSfz/19C3uWnCi+f+gzGKUPHUsM1JoVJ5d+32Y7Af3pIWRGAA== X-Google-Smtp-Source: AGHT+IH61BxKk2Ji2mdNuOL59pJbuU2R1THY0WWUOmGOcEanfgQJnzUDr2/dnvMj8NLW5WbrIg7z X-Received: by 2002:a2e:82c4:0:b0:2d4:7292:92c0 with SMTP id 38308e7fff4ca-2e51ff4eb20mr165141361fa.20.1716126071999; Sun, 19 May 2024 06:41:11 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 38308e7fff4ca-2e4d163a8c1si66231181fa.344.2024.05.19.06.41.11; Sun, 19 May 2024 06:41:11 -0700 (PDT) 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=@outlook.com header.s=selector1 header.b=nEuhjDFk; arc=fail (body hash mismatch); 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8C17468D180; Sun, 19 May 2024 16:40:03 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from SINPR02CU002.outbound.protection.outlook.com (mail-southeastasiaazolkn19011003.outbound.protection.outlook.com [52.103.65.3]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8428F68CFFE for ; Sun, 19 May 2024 16:39:56 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JK8T4F1AurEASsvNDiXSHoZVMAcCWDT5NA3Z4UqU1x0nebgpdtkykI4jmyScMuTyFDyQ1o6BZtIXD4NS2iYMDC5X58FSgYtCrPqywPniKbEyn6mQbw1Mke2dfjPTshrtDmW1sa7pHttgHA0/vvoSigWeLEN5/rdfDHYvfq7HxgVAOI29boqTl2wmjBWq689mVoFlu1wk2vqAMBJ+S+UKDIzpqmHm2wHxMNZGe2ipURi5f9QhIXw/5SPrDwyirNdIZvtJbJHHRTMmPm9vWoOyFf+wW0P1se8rfyp/bXLItbIQeBpkJGsRZg9S+f8oDhWPGxWRBV0oLz20atavyGvevQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=om2E0K6dtZ419qMMCTol/Trsskg+JYsNqAIgeP6NFdk=; b=netViVo01m6yHJxi7fkJ49EoHwBNl2Mf3elBHE/6Ks07ZIjlnE3Pc7qFQxokZ3uwwLpwQcahkRQIJv3l1xgqkbbkjvB+kgOBkrf0KtVBZ8BT7UdXmbCHIGzEfhxyFL+NA21Awy4KvKplUbJtHEZSAicYtuHcHgsYne89hjM4SyvM3DPH4mLxt6a4acazxa6/voCuANHiaZklQ/JKXEqaQjcYMkPxFBqUjZ6+f/x/nVlMQ2r07SVcxmnvkqKKr4WtAtrIHPJiDoVX7Ad1DAFHHG9u2Yx8pBsRdS7KYydSZYZc3Agm++3bSvpE9Xvu4yEXGQwEnAFNo7W7BS7HIsLwGg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=om2E0K6dtZ419qMMCTol/Trsskg+JYsNqAIgeP6NFdk=; b=nEuhjDFk+e/jroDQT+kUSEmLNkhULZl/fa9pNvDTP0pucJCZ422lObDdOEGgdvdvxEsZQgm5IyQ5W450xZQ1Ck8bH96OC3zyL/GQWdBN37f8bwpocU0wcQalOcxkQs6vy6b1V11KzTG46oVBDmVkKr22krEP6sU8zNDuNZQ6sAf+MvskjtJMCIDE9zF4j8Qkcb6NHf4GMNouJYQ69Qzcg5NH0qJC/5c8UZ8yfIPC7aCO70Js7N9lSCoZt6odAwfTFAQqG+tkp8D2lipDc8lELmcb38NRAYvsz/SByQ15ULt6nQMv2D8roFFIUM2oYOjrOCpafAfFBkqHXFGXDtrbHQ== Received: from TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) by TYUPR06MB6098.apcprd06.prod.outlook.com (2603:1096:400:358::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.34; Sun, 19 May 2024 13:39:39 +0000 Received: from TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::81f7:9125:583a:1cca]) by TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::81f7:9125:583a:1cca%4]) with mapi id 15.20.7587.030; Sun, 19 May 2024 13:39:39 +0000 From: Nuo Mi To: ffmpeg-devel@ffmpeg.org Date: Sun, 19 May 2024 21:27:40 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240519132749.790832-1-nuomi2021@gmail.com> References: <20240519132749.790832-1-nuomi2021@gmail.com> X-TMN: [eLbos/efjbpE2CLOhMwYG7oFF6H98qgg] X-ClientProxiedBy: TYCP301CA0017.JPNP301.PROD.OUTLOOK.COM (2603:1096:400:381::8) To TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) X-Microsoft-Original-Message-ID: <20240519132749.790832-9-nuomi2021@gmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 2 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYSPR06MB6433:EE_|TYUPR06MB6098:EE_ X-MS-Office365-Filtering-Correlation-Id: de1f96f3-c69a-404f-6c11-08dc78092180 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|440099019|3412199016|1710799017; X-Microsoft-Antispam-Message-Info: kvio/UGcV3IOViDU86Lpo79tpI2XgeJ5iEQ7MmQuTB/ivSl+woTxPZMqyQvZwJvOZXunWawL7I2sRg8NEFEMiycrkGFDYkH0LijYTlpXhZtrg5+rpkE15htrfJjzMxE1nwxoPkl+lWWLRyYkzAVuv4HR5rLKk42sm5ug+C/F+NcwItojPGQcrNwi4V3dGgOySlhAqoPPDQTYyldI6TwvrOrbV8sVNGiUORb4U3z3rHzpxq1XdCbddXmj95SLe8BwTswEynbtSvZU+dPKS+1Oa/hFzYG7GlUWYlc/h7oQ0eNILF2iIDGXU2tXXSCViTFPizWRLYpYwpVXpFke47IsdUUBs1m5XO6Gq1kF6cJmQX8aQj8lrJeYZ+F6NUg1tVsq1/ufNdxEYrbw03tNeBScsp1Fal3ezHXDIe1WMehoDdcxlljTlO8asxbpO94uiLmDTjANlG30p97cdj2Y/G6UG719YUo5iOC5VpoQCCG/hRnMtEQzhsAS9rgIT5rJVOjd2wLhViRiYHfOooLxwRh4qyShI7CUKV2+4OkObdL5Zdtq2iczAy9XFXpA8cxcZr3PyVGBACjR0wwj9V6qYbxrIMaobx2lpwKc1RWv/clNaR8= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: AeM8sWeIlvidEBN7A9/tG60xH/2sxvWbZnvrBTBaDs78grppThoOHABPHPV8hwt8JvkarnoL0MiwobGYewfoL+DIdqnk23r6kJSKFAQpdBgCnznq+abtDmNoil42y0c3UXHtWpxv90+SI0ET9nATyPonkaJJsXetVW50Xbgis+hvla3a0IkGguDQ8vHPS7h8MaF4unxQfKqBuhHAn3fRs4ruIx/kdezU3Lql3CwJiTPCjTnx7LPTOaTjEpj9rjPPMhUAf3DAW16PNvkJ6ZQBnidgG3UXye9LoBhgyHeN4Q9p2s/7o0nS9rzW06fzj1G0xeZc2nidH3iC9SzuwQ2LHTC2WKu6P64gWw61w99C9oOJXDJsHISGJJ3pGNGHqUJ+aygMwpCePQDxtC1zKzz2acVYQe/488bYb6iIPfst1wtAcxbm4SbW/rRPAfrNJgy1JhB6Ly3BmLBYJOviK8NFqHPp3B5LPtI3njUfO7c0GUGMupBdpBg6hm1sV8BNBfC+Rhg/RStQypOzgIyIRufHlRY4eSyG9Zkbd6RA4V1Q2V4DA5AEhRk42U8UO2GD/fXAXsY1Ydm378JcTGU85A2xr5J0uu7slDkj5aqaf4H9vWJzZqtLKdF9icQa7G9PFTLWlHq/nSxZY+35uzGockfXPjyK5nM0F30dGr1xSpxrYK4sFHDZe+BkCawHThh7IIS7xO7rz98z1ggZzhrjeJSYiYNq6zJGw3PQnxP6buCvxeI5/OBWJ7CT6JmOiMk6/XfRxXOicBH/njKReL9qefezuPLQnAQEJoefk/nKEBPYFY0T8XlJsaw6cdhzFayZllwhFpa68/zSf1QQ+b6PgtYHiewRt+IUG2PPtoojlVTM/obYWOSewxqVR+VzQCyE8tOJuMWKEkQzdOXVRn/394O2leRxbLAq8cXY2TIBpgSn0IaqgBqd4dPaKOl7jpGYV715wFb+gLwgGzMYpLrEqNUiCaWBP28dh4PQKffgfWvHpUtpRMe2e5iXiagKyKIQL8qAFpCR2EtXJnBl4zAkqHDRp/VGA3CuKMQoVqCEAGf7m34ehTfO4K/oZtCDiD4TTr918fYV/JqtkZAibln9ImNP2oBxtCEUQOvBMvWQ8aKfZ5AmlbEAaycgkzqvyK5hSgeMxznM6eJ4m3IPO9MAM67LX2vNvXsXCflnklStS6OgVO0SH88oBUNwQ+/0IfEDikBjO2LdRe6KxWZA0gu9iUHG+Bnpkiua6jSL/OD6lxT/EgDgqXKQp0LD5hIf9nLSwczH37ijA8RQ9yEoLbBhzHvQzw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: de1f96f3-c69a-404f-6c11-08dc78092180 X-MS-Exchange-CrossTenant-AuthSource: TYSPR06MB6433.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2024 13:39:39.3849 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR06MB6098 Subject: [FFmpeg-devel] [PATCH 09/18] avcodec/vvcdec: add vvc inter filters for RPR 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 Cc: Nuo Mi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 9k1DZ5B+V5ZL --- libavcodec/vvc/data.c | 83 ++++++++++++++++++++++++++++++++++++++++- libavcodec/vvc/data.h | 10 +++-- libavcodec/vvc/inter.c | 8 ++-- tests/checkasm/vvc_mc.c | 12 +++--- 4 files changed, 98 insertions(+), 15 deletions(-) diff --git a/libavcodec/vvc/data.c b/libavcodec/vvc/data.c index ace585b663..a91e20754e 100644 --- a/libavcodec/vvc/data.c +++ b/libavcodec/vvc/data.c @@ -1732,7 +1732,7 @@ const uint8_t ff_vvc_alf_aps_class_to_filt_map[25] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, }; -const int8_t ff_vvc_inter_luma_filters[VVC_INTER_FILTER_TYPES][VVC_INTER_LUMA_FACTS][VVC_INTER_LUMA_TAPS] = { +const int8_t ff_vvc_inter_luma_filters[VVC_INTER_LUMA_FILTER_TYPES][VVC_INTER_LUMA_FACTS][VVC_INTER_LUMA_TAPS] = { { //1x, hpelIfIdx == 0, Table 27 { 0, 0, 0, 64, 0, 0, 0, 0 }, @@ -1773,6 +1773,46 @@ const int8_t ff_vvc_inter_luma_filters[VVC_INTER_FILTER_TYPES][VVC_INTER_LUMA_FA { 0, 1, -2, 4, 63, -3, 1, 0 }, }, + { + //1.5x, Table 28 + { -1, -5, 17, 42, 17, -5, -1, 0 }, + { 0, -5, 15, 41, 19, -5, -1, 0 }, + { 0, -5, 13, 40, 21, -4, -1, 0 }, + { 0, -5, 11, 39, 24, -4, -2, 1 }, + { 0, -5, 9, 38, 26, -3, -2, 1 }, + { 0, -5, 7, 38, 28, -2, -3, 1 }, + { 1, -5, 5, 36, 30, -1, -3, 1 }, + { 1, -4, 3, 35, 32, 0, -4, 1 }, + { 1, -4, 2, 33, 33, 2, -4, 1 }, + { 1, -4, 0, 32, 35, 3, -4, 1 }, + { 1, -3, -1, 30, 36, 5, -5, 1 }, + { 1, -3, -2, 28, 38, 7, -5, 0 }, + { 1, -2, -3, 26, 38, 9, -5, 0 }, + { 1, -2, -4, 24, 39, 11, -5, 0 }, + { 0, -1, -4, 21, 40, 13, -5, 0 }, + { 0, -1, -5, 19, 41, 15, -5, 0 }, + }, + + { + //2x, Table 29 + { -4, 2, 20, 28, 20, 2, -4, 0 }, + { -4, 0, 19, 29, 21, 5, -4, -2 }, + { -4, -1, 18, 29, 22, 6, -4, -2 }, + { -4, -1, 16, 29, 23, 7, -4, -2 }, + { -4, -1, 16, 28, 24, 7, -4, -2 }, + { -4, -1, 14, 28, 25, 8, -4, -2 }, + { -3, -3, 14, 27, 26, 9, -3, -3 }, + { -3, -1, 12, 28, 25, 10, -4, -3 }, + { -3, -3, 11, 27, 27, 11, -3, -3 }, + { -3, -4, 10, 25, 28, 12, -1, -3 }, + { -3, -3, 9, 26, 27, 14, -3, -3 }, + { -2, -4, 8, 25, 28, 14, -1, -4 }, + { -2, -4, 7, 24, 28, 16, -1, -4 }, + { -2, -4, 7, 23, 29, 16, -1, -4 }, + { -2, -4, 6, 22, 29, 18, -1, -4 }, + { -2, -4, 5, 21, 29, 19, 0, -4 }, + }, + { //1x, affine, Table 30 { 0, 0, 0, 64, 0, 0, 0, 0 }, @@ -1793,9 +1833,48 @@ const int8_t ff_vvc_inter_luma_filters[VVC_INTER_FILTER_TYPES][VVC_INTER_LUMA_FA { 0, 1, -2, 4, 63, -3, 1, 0 }, }, + { + //1.5x, affine, Table 31 + { 0, -6, 17, 42, 17, -5, -1, 0 }, + { 0, -5, 15, 41, 19, -5, -1, 0 }, + { 0, -5, 13, 40, 21, -4, -1, 0 }, + { 0, -5, 11, 39, 24, -4, -1, 0 }, + { 0, -5, 9, 38, 26, -3, -1, 0 }, + { 0, -5, 7, 38, 28, -2, -2, 0 }, + { 0, -4, 5, 36, 30, -1, -2, 0 }, + { 0, -3, 3, 35, 32, 0, -3, 0 }, + { 0, -3, 2, 33, 33, 2, -3, 0 }, + { 0, -3, 0, 32, 35, 3, -3, 0 }, + { 0, -2, -1, 30, 36, 5, -4, 0 }, + { 0, -2, -2, 28, 38, 7, -5, 0 }, + { 0, -1, -3, 26, 38, 9, -5, 0 }, + { 0, -1, -4, 24, 39, 11, -5, 0 }, + { 0, -1, -4, 21, 40, 13, -5, 0 }, + { 0, -1, -5, 19, 41, 15, -5, 0 }, + }, + + { + //2x, affine, Table 32 + { 0, -2, 20, 28, 20, 2, -4, 0 }, + { 0, -4, 19, 29, 21, 5, -6, 0 }, + { 0, -5, 18, 29, 22, 6, -6, 0 }, + { 0, -5, 16, 29, 23, 7, -6, 0 }, + { 0, -5, 16, 28, 24, 7, -6, 0 }, + { 0, -5, 14, 28, 25, 8, -6, 0 }, + { 0, -6, 14, 27, 26, 9, -6, 0 }, + { 0, -4, 12, 28, 25, 10, -7, 0 }, + { 0, -6, 11, 27, 27, 11, -6, 0 }, + { 0, -7, 10, 25, 28, 12, -4, 0 }, + { 0, -6, 9, 26, 27, 14, -6, 0 }, + { 0, -6, 8, 25, 28, 14, -5, 0 }, + { 0, -6, 7, 24, 28, 16, -5, 0 }, + { 0, -6, 7, 23, 29, 16, -5, 0 }, + { 0, -6, 6, 22, 29, 18, -5, 0 }, + { 0, -6, 5, 21, 29, 19, -4, 0 }, + } }; -const int8_t ff_vvc_inter_chroma_filters[VVC_INTER_FILTER_TYPES][VVC_INTER_CHROMA_FACTS][VVC_INTER_CHROMA_TAPS] = { +const int8_t ff_vvc_inter_chroma_filters[VVC_INTER_CHROMA_FILTER_TYPES][VVC_INTER_CHROMA_FACTS][VVC_INTER_CHROMA_TAPS] = { { //1x, Table 33 { 0, 64, 0, 0 }, diff --git a/libavcodec/vvc/data.h b/libavcodec/vvc/data.h index e493b9e0e6..a0512e626b 100644 --- a/libavcodec/vvc/data.h +++ b/libavcodec/vvc/data.h @@ -43,15 +43,19 @@ extern const int8_t ff_vvc_lfnst_8x8[4][2][16][48]; extern const uint8_t ff_vvc_lfnst_tr_set_index[95]; extern uint8_t ff_vvc_default_scale_m[64 * 64]; -#define VVC_INTER_FILTER_TYPES 3 +#define VVC_INTER_LUMA_FILTER_TYPE_AFFINE 4 + +#define VVC_INTER_LUMA_FILTER_TYPES 7 +#define VVC_INTER_CHROMA_FILTER_TYPES 3 + #define VVC_INTER_LUMA_FACTS 16 #define VVC_INTER_LUMA_TAPS 8 #define VVC_INTER_CHROMA_FACTS 32 #define VVC_INTER_CHROMA_TAPS 4 #define VVC_INTER_LUMA_DMVR_FACTS 16 #define VVC_INTER_LUMA_DMVR_TAPS 2 -extern const int8_t ff_vvc_inter_luma_filters[VVC_INTER_FILTER_TYPES][VVC_INTER_LUMA_FACTS][VVC_INTER_LUMA_TAPS]; -extern const int8_t ff_vvc_inter_chroma_filters[VVC_INTER_FILTER_TYPES][VVC_INTER_CHROMA_FACTS][VVC_INTER_CHROMA_TAPS]; +extern const int8_t ff_vvc_inter_luma_filters[VVC_INTER_LUMA_FILTER_TYPES][VVC_INTER_LUMA_FACTS][VVC_INTER_LUMA_TAPS]; +extern const int8_t ff_vvc_inter_chroma_filters[VVC_INTER_CHROMA_FILTER_TYPES][VVC_INTER_CHROMA_FACTS][VVC_INTER_CHROMA_TAPS]; extern const int8_t ff_vvc_inter_luma_dmvr_filters[VVC_INTER_LUMA_DMVR_FACTS][VVC_INTER_LUMA_DMVR_TAPS]; #define VVC_INTRA_LUMA_TYPES 2 diff --git a/libavcodec/vvc/inter.c b/libavcodec/vvc/inter.c index 23d9ac05e6..31c6f43916 100644 --- a/libavcodec/vvc/inter.c +++ b/libavcodec/vvc/inter.c @@ -320,8 +320,8 @@ static void luma_prof_uni(VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst const Mv *mv = mvf->mv + lx; const int mx = mv->x & 0xf; const int my = mv->y & 0xf; - const int8_t *hf = ff_vvc_inter_luma_filters[2][mx]; - const int8_t *vf = ff_vvc_inter_luma_filters[2][my]; + const int8_t *hf = ff_vvc_inter_luma_filters[VVC_INTER_LUMA_FILTER_TYPE_AFFINE][mx]; + const int8_t *vf = ff_vvc_inter_luma_filters[VVC_INTER_LUMA_FILTER_TYPE_AFFINE][my]; int denom, wx, ox; const int weight_flag = derive_weight_uni(&denom, &wx, &ox, lc, mvf, LUMA); const int is_chroma = 0; @@ -368,8 +368,8 @@ static void luma_prof_bi(VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_ const int oy = y_off + (mv->y >> 4); ptrdiff_t src_stride = ref[i]->linesize[0]; const uint8_t *src = ref[i]->data[0] + oy * src_stride + (ox * (1 << fc->ps.sps->pixel_shift)); - const int8_t *hf = ff_vvc_inter_luma_filters[2][mx]; - const int8_t *vf = ff_vvc_inter_luma_filters[2][my]; + const int8_t *hf = ff_vvc_inter_luma_filters[VVC_INTER_LUMA_FILTER_TYPE_AFFINE][mx]; + const int8_t *vf = ff_vvc_inter_luma_filters[VVC_INTER_LUMA_FILTER_TYPE_AFFINE][my]; MC_EMULATED_EDGE(lc->edge_emu_buffer, &src, &src_stride, ox, oy); if (!pu->cb_prof_flag[i]) { diff --git a/tests/checkasm/vvc_mc.c b/tests/checkasm/vvc_mc.c index 71087dc3dd..a5ec7b7869 100644 --- a/tests/checkasm/vvc_mc.c +++ b/tests/checkasm/vvc_mc.c @@ -134,8 +134,8 @@ static void check_put_vvc_luma_uni(void) const int idx = av_log2(w) - 1; const int mx = rnd() % VVC_INTER_LUMA_FACTS; const int my = rnd() % VVC_INTER_LUMA_FACTS; - const int8_t *hf = ff_vvc_inter_luma_filters[rnd() % VVC_INTER_FILTER_TYPES][mx]; - const int8_t *vf = ff_vvc_inter_luma_filters[rnd() % VVC_INTER_FILTER_TYPES][my]; + const int8_t *hf = ff_vvc_inter_luma_filters[rnd() % VVC_INTER_LUMA_FILTER_TYPES][mx]; + const int8_t *vf = ff_vvc_inter_luma_filters[rnd() % VVC_INTER_LUMA_FILTER_TYPES][my]; const char *type; switch ((j << 1) | i) { @@ -184,8 +184,8 @@ static void check_put_vvc_chroma(void) const int idx = av_log2(w) - 1; const int mx = rnd() % VVC_INTER_CHROMA_FACTS; const int my = rnd() % VVC_INTER_CHROMA_FACTS; - const int8_t *hf = ff_vvc_inter_chroma_filters[rnd() % VVC_INTER_FILTER_TYPES][mx]; - const int8_t *vf = ff_vvc_inter_chroma_filters[rnd() % VVC_INTER_FILTER_TYPES][my]; + const int8_t *hf = ff_vvc_inter_chroma_filters[rnd() % VVC_INTER_CHROMA_FILTER_TYPES][mx]; + const int8_t *vf = ff_vvc_inter_chroma_filters[rnd() % VVC_INTER_CHROMA_FILTER_TYPES][my]; const char *type; switch ((j << 1) | i) { case 0: type = "put_chroma_pixels"; break; // 0 0 @@ -233,8 +233,8 @@ static void check_put_vvc_chroma_uni(void) const int idx = av_log2(w) - 1; const int mx = rnd() % VVC_INTER_CHROMA_FACTS; const int my = rnd() % VVC_INTER_CHROMA_FACTS; - const int8_t *hf = ff_vvc_inter_chroma_filters[rnd() % VVC_INTER_FILTER_TYPES][mx]; - const int8_t *vf = ff_vvc_inter_chroma_filters[rnd() % VVC_INTER_FILTER_TYPES][my]; + const int8_t *hf = ff_vvc_inter_chroma_filters[rnd() % VVC_INTER_CHROMA_FILTER_TYPES][mx]; + const int8_t *vf = ff_vvc_inter_chroma_filters[rnd() % VVC_INTER_CHROMA_FILTER_TYPES][my]; const char *type; switch ((j << 1) | i) {