From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 75A8348810 for ; Fri, 19 Jan 2024 13:40:26 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B546968D0C1; Fri, 19 Jan 2024 15:39:35 +0200 (EET) Received: from JPN01-OS0-obe.outbound.protection.outlook.com (mail-os0jpn01olkn2078.outbound.protection.outlook.com [40.92.98.78]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3289468D0B4 for ; Fri, 19 Jan 2024 15:39:34 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LGKJOKXf/SfCg6rO7m3sYPj7fnImE5lt1N5diAXfxD8nxaqG5RpkZok5S/tKUKKsgUR05SlzGIYUbqGGY3q19V0g6Tya1MnE4klH/lnTl7lob/imdozt47KdRbrE3cFCjDb8LPXqAU9HnUb1Sbwf5WYswAAkmXkjHzRCcqX5f0B90cv2hTWCisJ+rZj4VEtLbBbrzx2n8yOorSJix1wv7KuZwBmiBH0xpfreriAXxO9jtvsxtmRz/DiVobL83C02cROtK12bH6YC0WeNuRxUQ9KIwzECCHtoiW8aSxJvM/qteHxl7CN7iMFyocgkXH7gYmqMNDuUFNc11Z39bMmP3A== 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=cTQRBaCRGC5C6v+J0FtP0SeAXPgnVftQTwbk5pBby9M=; b=HU2878mv8N8tw/CM2o/cQD/Ff1YLHtP0iOrwteMeM7HJdZFvXi/XxGAthsT92EHiIN84/MsQlu2tHlKphbMbHDntEJ5v9IONMOdrQkh9lXQsoVcIFVgJnBT7soMSiniPg7F7uFfBYz6OQgOpwVFjyu36cX9d+5TjlmVeaYx2ewJLgQxX9UpoJf34w3VVlMuNVtjQ9s9IGMiA28UfQv645tCLFsvzSzZhe+0OwDq/m/gWVZ4GqTrp2lhakoHaTlMqwGSR8lCRLqWzTN2ejCLGsMl9ZJDczHlNXJc9L7M75POTIibpQkFNv3RhRQBkUrdRnB9nyzVBJaHn+y4l3mYBqw== 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=cTQRBaCRGC5C6v+J0FtP0SeAXPgnVftQTwbk5pBby9M=; b=hpjAiwCnzx6V6XWCtiQ4MrR3T2yyi296Ps81pZJHc0K44h8HCDrja5VzgIo4eFuybsVeLthcxg1wOs7ZwmzdzQybvoOPAxPl8Oh1JeQkHhp43SLPUlk/t68J6o6fDg77volwM+JKvcIrZWjUfcvyeaC0fc6yKX80SuS0d5pu5UQh17T7CL9Cd6wjzILoNe4ZS9Qon2e5JoQo/6IG0BSWnHyZPfSDquAtW6kN4/byvW7/dB0mLlUMUgE2vW97lXejKwH85PKfe3b+aMEY57yAgxdT0pyzqEUBLBrylXM9Vyx8/GK474kXS9IR6rRQYARFOxraMExQhAzx0Zd26TSP9Q== Received: from OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:186::5) by OS3P286MB2523.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:1ef::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.24; Fri, 19 Jan 2024 13:39:33 +0000 Received: from OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM ([fe80::1bbf:406b:216:f56e]) by OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM ([fe80::1bbf:406b:216:f56e%7]) with mapi id 15.20.7202.024; Fri, 19 Jan 2024 13:39:33 +0000 From: toqsxw@outlook.com To: ffmpeg-devel@ffmpeg.org Date: Fri, 19 Jan 2024 21:38:20 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240119133820.1048730-1-toqsxw@outlook.com> References: <20240119133820.1048730-1-toqsxw@outlook.com> X-TMN: [oHsXZuF6XW20ME8EnPFrYHFLgX37slFB] X-ClientProxiedBy: SG2PR02CA0137.apcprd02.prod.outlook.com (2603:1096:4:188::17) To OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:186::5) X-Microsoft-Original-Message-ID: <20240119133820.1048730-8-toqsxw@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OSZP286MB2173:EE_|OS3P286MB2523:EE_ X-MS-Office365-Filtering-Correlation-Id: 6716a471-c3e7-4aa2-cf13-08dc18f411a2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PDp/qKq4JC7w+DzYdxKHn2nTx/8jzjGuyG58H4P1PvetCt1TIaUPi3s7x57Lz+jcCZquBXhLZp1qqRLD7KyAhPZFFGNpPOZUgh1arFts1XhwPl3RSSqKfXPi3Ar+pDLjrlbD3wrWv/bx79mPtRwE6xl2j+2/RDyrx3gIp3BrzP8bu4Xfzsorp/+i+O7BU2e27njufjUG+Izl+Gv5uLJs0EZ1R9cYfU2SrQijB5w1sFZHqOYUp4EC6yADeX+jLGee2Y+7QhFz+a01o43mBJVmkyz1JylqqLC7l4E7RyC4kmTHBoWikQ59mkNrpbW5n4PDBVNpnDtVrzSffiKUExh+cmxMVSY0HQe+pSqZKDkXPn3ch6M2ojUVnASXq/s1mlxj0E6ju7NsI4mojV4iDEaUCp0ngNFqPtNHy0UzWX3voc1qU2ECdTQ/fFAthAexvylPP4YvDmAjboaOEc4beeHjofRC4cTJH+GVNbwsHuk8GH3tqdkgQVXyxJ94b6WyGny2Zo92j3Kn/Yp4+4c3/kf0ULIa+HpXesm4I2JCjqzoJ3uVXbgPGQcH/rywLcwhR952JU1yQxDtaOJ5M6+FAiJkuqkKkxDfvZBKoMr8vvWQkdz7993vhXVshIChhV1tLtUm X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FK16xiF4R1IWWkWou3XyOoPkznoaTHIxcAkW75acYoMt5OxK/5nf4NhCR/co?= =?us-ascii?Q?lQB6HaBvrGpGChMqLoZ5XLbOintHDzlW7VzYFqwWH85EIn/OBHcHPUJytUlG?= =?us-ascii?Q?8j7tMCk8GCDuw51lVzc2D0HrMIDHUtucchWtKjt/LO8gWUIq/r1rL0V3gB5e?= =?us-ascii?Q?su9sDYBOb3PFJAfNShULLWflXO0aWdCAXibnku2my0LoNiCE24seyYAlhOSO?= =?us-ascii?Q?HkQ39lElKcDaC4Idqk0u3aMHz+ivEfcIzPX5mVAiULfPXoW9dQ92RCBGM5+N?= =?us-ascii?Q?Jkn0q2mccDgM2AWAij7p0pZ0ksvLLK/VKm+2TnWnOg68JN/ZV0E+zhvqtdm1?= =?us-ascii?Q?chAry/qbUl/6cXsFGZBbYGnBHsES72G08PBESMyoPAJjJFmnUAWUrL/nngwi?= =?us-ascii?Q?pqYUPfHXyoNYIiitY9lUZRyF0AxqFuE7j5sXvP9ixJj7/xU1vKtLMNhuf/uF?= =?us-ascii?Q?sUKZc0dzVVOfLT2WoVD3ocM2reb6zZi4iKeIWyubPrEAE+sUubG4o387nISQ?= =?us-ascii?Q?QCeVW7+bGKHbkHTWr9egDUKCPYg2Yp49AyC5TsX4UWunbfwedWDzNt4pwwY6?= =?us-ascii?Q?txXPGwjMs/RjXYX+qB/EZ/P8CasrORWqMqqrHNYshUtHDc45rkKAU3F00prp?= =?us-ascii?Q?0wgzQnirMVti4p7HBs5TwmhRHSkuahhSyz8vHbX4EPgavuUEycmx+96mxeKi?= =?us-ascii?Q?z0xsCSfMlvtk3/Jpe9HPugJgwTS6HelubSHuQQlNt+7pbP28TZOFgvH3mKNl?= =?us-ascii?Q?zGGOXkIArtoBFOHzgsY7YbgY2Nz/aSxaXTjNYPXJEgBO9UxN9cYZZusI9qjn?= =?us-ascii?Q?J5gHXkTiM7hB1MiU90wxUzFvx23FB5oGFaVlFbbRp4CORRTNwJJ7Ft0u/C+2?= =?us-ascii?Q?ztTdq6tk2q/J/VYn4m6C8VVD8oJ84MGB3AW4AAZCcoWUPkGDc0MeWUZrdZic?= =?us-ascii?Q?QJTNb1EGNdXI8jkGVCHtYn/x+rPNEE7oJq4nt0zfuK2Lmr3kVcmv/Zgpica/?= =?us-ascii?Q?S9JnoNkZiFtgRN9S3UC/KUVLsmq4fLzMT1ZDSvKpFKUF7cZu+Qm++wKKHHJZ?= =?us-ascii?Q?YpkXCl9AHlc7XVRDJ1DzxvDXBBfToTs5SSRIzGE3hy3lzvPQxtrUnayuvtD9?= =?us-ascii?Q?NmC6ikr7TnzWMAB8aU5HjlyyPhu05hl2VmAyxWkZpQKeohGBNlKkHbFCN8Za?= =?us-ascii?Q?r12yp6+BPGTOr5yFIbry/fv5W28k3xUcbPQl5FZ9A/xryruPtYPfYIvib8A?= =?us-ascii?Q?=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6716a471-c3e7-4aa2-cf13-08dc18f411a2 X-MS-Exchange-CrossTenant-AuthSource: OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2024 13:39:33.0590 (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: OS3P286MB2523 Subject: [FFmpeg-devel] [PATCH v2 8/8] tests/checkasm/vvc_mc: add check_avg 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: Wu Jianhua Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Wu Jianhua Signed-off-by: Wu Jianhua --- tests/checkasm/vvc_mc.c | 64 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/tests/checkasm/vvc_mc.c b/tests/checkasm/vvc_mc.c index 711280deec..8adb00573f 100644 --- a/tests/checkasm/vvc_mc.c +++ b/tests/checkasm/vvc_mc.c @@ -35,6 +35,7 @@ static const uint32_t pixel_mask[] = { 0xffffffff, 0x03ff03ff, 0x0fff0fff, 0x3fff3fff, 0xffffffff }; static const int sizes[] = { 2, 4, 8, 16, 32, 64, 128 }; +#define SIZEOF_PIXEL ((bit_depth + 7) / 8) #define PIXEL_STRIDE (MAX_CTU_SIZE * 2) #define EXTRA_BEFORE 3 #define EXTRA_AFTER 4 @@ -261,10 +262,73 @@ static void check_put_vvc_chroma_uni(void) report("put_uni_chroma"); } +#define AVG_SRC_BUF_SIZE (MAX_CTU_SIZE * MAX_CTU_SIZE) +#define AVG_DST_BUF_SIZE (MAX_PB_SIZE * MAX_PB_SIZE * 2) + +static void check_avg(void) +{ + LOCAL_ALIGNED_32(int16_t, src00, [AVG_SRC_BUF_SIZE]); + LOCAL_ALIGNED_32(int16_t, src01, [AVG_SRC_BUF_SIZE]); + LOCAL_ALIGNED_32(int16_t, src10, [AVG_SRC_BUF_SIZE]); + LOCAL_ALIGNED_32(int16_t, src11, [AVG_SRC_BUF_SIZE]); + LOCAL_ALIGNED_32(uint8_t, dst0, [AVG_DST_BUF_SIZE]); + LOCAL_ALIGNED_32(uint8_t, dst1, [AVG_DST_BUF_SIZE]); + VVCDSPContext c; + + for (int bit_depth = 8; bit_depth <= 12; bit_depth += 2) { + randomize_avg_src((uint8_t*)src00, (uint8_t*)src10, AVG_SRC_BUF_SIZE * sizeof(int16_t)); + randomize_avg_src((uint8_t*)src01, (uint8_t*)src11, AVG_SRC_BUF_SIZE * sizeof(int16_t)); + ff_vvc_dsp_init(&c, bit_depth); + for (int h = 2; h <= MAX_CTU_SIZE; h *= 2) { + for (int w = 2; w <= MAX_CTU_SIZE; w *= 2) { + { + declare_func_emms(AV_CPU_FLAG_MMX | AV_CPU_FLAG_MMXEXT, void, uint8_t *dst, ptrdiff_t dst_stride, + const int16_t *src0, const int16_t *src1, int width, int height); + if (check_func(c.inter.avg, "avg_%d_%dx%d", bit_depth, w, h)) { + memset(dst0, 0, AVG_DST_BUF_SIZE); + memset(dst1, 0, AVG_DST_BUF_SIZE); + call_ref(dst0, MAX_CTU_SIZE * SIZEOF_PIXEL, src00, src01, w, h); + call_new(dst1, MAX_CTU_SIZE * SIZEOF_PIXEL, src10, src11, w, h); + if (memcmp(dst0, dst1, DST_BUF_SIZE)) + fail(); + if (w == h) + bench_new(dst0, MAX_CTU_SIZE * SIZEOF_PIXEL, src00, src01, w, h); + } + } + { + declare_func_emms(AV_CPU_FLAG_MMX | AV_CPU_FLAG_MMXEXT, void, uint8_t *dst, ptrdiff_t dst_stride, + const int16_t *src0, const int16_t *src1, int width, int height, + int denom, int w0, int w1, int o0, int o1); + { + const int denom = rnd() % 8; + const int w0 = rnd() % 256 - 128; + const int w1 = rnd() % 256 - 128; + const int o0 = rnd() % 256 - 128; + const int o1 = rnd() % 256 - 128; + if (check_func(c.inter.w_avg, "w_avg_%d_%dx%d", bit_depth, w, h)) { + memset(dst0, 0, AVG_DST_BUF_SIZE); + memset(dst1, 0, AVG_DST_BUF_SIZE); + + call_ref(dst0, MAX_CTU_SIZE * SIZEOF_PIXEL, src00, src01, w, h, denom, w0, w1, o0, o1); + call_new(dst1, MAX_CTU_SIZE * SIZEOF_PIXEL, src10, src11, w, h, denom, w0, w1, o0, o1); + if (memcmp(dst0, dst1, DST_BUF_SIZE)) + fail(); + if (w == h) + bench_new(dst0, MAX_CTU_SIZE * SIZEOF_PIXEL, src00, src01, w, h, denom, w0, w1, o0, o1); + } + } + } + } + } + } + report("avg"); +} + void checkasm_check_vvc_mc(void) { check_put_vvc_luma(); check_put_vvc_luma_uni(); check_put_vvc_chroma(); check_put_vvc_chroma_uni(); + check_avg(); } -- 2.34.1 _______________________________________________ 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".