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 21C6C489A4 for ; Mon, 22 Jan 2024 17:48:06 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4374868D104; Mon, 22 Jan 2024 19:47:13 +0200 (EET) Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01olkn2066.outbound.protection.outlook.com [40.92.99.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4B0BF68D089 for ; Mon, 22 Jan 2024 19:47:07 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lKOOUBd3wjv1saD4S6ovDlZ+haj3s4SjF+iQLLnUlRn5rY3CTSdnOvBg6JFpxDXzXzVaJT9z/puJ375vEEbPbMJwHnck+n1qWjA3SlKltF4TchrmZkVm+Gjm8buXorxkPBZBZRGYw05He0Gfc/2ZDxuXjujo0bAMyCHLOTiyBIaGZ3Y/KFwLtekjqXCcG7D7ivPV2jW/qsxqyd22EoiLyP8eTLZufFnDmsxOtp7y1yyQDVG6GlbQ/qCzLlLCtHDyYwdEqzfXEAz1SRGN+Ib0AMMD0MTaQTPODm10HGFzki1idb6vUYKyEolJkXOC8tU0UwI6zngLZi5phmyHQ6s4DA== 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=F2o5OikA8hAbrCrW2y0EUM7hoBZMihmJi/D4PysA+DhdrgeCQt4rkMO4s5z4i5zjcRuq9oxqlYckNbZSkBFJyWDtplHUGlgNheMchZMpdTrGGRj804ZzcYU2q64YRxNQbhizs4Knr/gBzydlQejRgFoVPECPjGIUl3sNH1fu2Vjw1ldG77kMAyWt9SYmVp1T88y4rBalurlYvN9Gr2t/5F73tj2zqKs/jwO9LpsJKE7s3S9grRe8MA1rEySi+bGEjYHzxZibNyjJxRgKNEB1X2Gj7l1+P8zyjxW6tHYrCglL8Of/hirmdZ8NbeE2K7izLA3CBj4Sg+ZmqiHv4o4CFg== 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=V+Li8AxDANhcWYFkVkW4sEhBWgG33kmblJRSwsGTVEKJPS2p3DBmL+Kliu4xFCp/40WhDIKZnpx54B7x4Me3C6v+272dg5S8NoZ+yQ9z+ma8o61a6nsvNedw8vc6bXs2DCe+OTimT1LbYJLd+Fu1H9LsVnRvV+1gi6XAhghY1SalcNKwNXwx1NfwBejpupdXlRvSeYci1mnp0arIYfr9qSBFcj8ioaXpBB8OocEvN6VfOO0p/C1/Itnovf7WPciaP9uA9OaPnAEumPKbUHDpMvPPAh1nuXMqD8WQjOYHzg+mRxx3aQqnGVdGSUQyLgPRbXfjFna4usKSi873q7uAag== Received: from OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:186::5) by TYWP286MB1975.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:164::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.31; Mon, 22 Jan 2024 17:46:51 +0000 Received: from OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM ([fe80::86fc:6255:f4c1:a076]) by OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM ([fe80::86fc:6255:f4c1:a076%3]) with mapi id 15.20.7202.035; Mon, 22 Jan 2024 17:46:51 +0000 From: toqsxw@outlook.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 23 Jan 2024 01:46:28 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240122174628.1206503-1-toqsxw@outlook.com> References: <20240122174628.1206503-1-toqsxw@outlook.com> X-TMN: [vOj70+50fyu8kUt5Jr+6SzllyKdiEPp/] X-ClientProxiedBy: KL1PR0401CA0027.apcprd04.prod.outlook.com (2603:1096:820:e::14) To OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:186::5) X-Microsoft-Original-Message-ID: <20240122174628.1206503-8-toqsxw@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OSZP286MB2173:EE_|TYWP286MB1975:EE_ X-MS-Office365-Filtering-Correlation-Id: bcb70e30-50fb-44a8-d9e1-08dc1b721d2a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: R6CI7xW15OrmefJIzegl5G7tGbwPw1kmAYiopEytHt9TQfIwjBaoMXw7pgybgLYkBWDxax6BoBdx3Xy62wX38/l6bQj9lHNlQofHq7gybH37uGxynLGNvRpv+U2wxT6C62jp4qJhgEQR6DDwoT15TA2VP9o49c8CB54FjmH4R6m5C1T5b/pGrlohEr2zmp41fyWjoORuoQd0XqMlL31ygrchng2C3C28DHlmYSLjyXXWaawNWAbsHcyqx933fVoIbjLFejyXP7qy2WySe7UHEVMg3pqFbc55THSiaVgbjtikDBMKc82IKda7Qyc3VESk3/JVjSAEcXLfmcFA5DOCVbZ0Q0jViEL4IMUGweJHN4Xx7i3fQPSsOUNKdPGQVfmUbM5mUn4soXisTssUWJbYe7rRYhZkGO2wdoLwricW1vfyuOF07/yH783kKTqa/RBNFi3VGHSUV3CYfJR7r9SrtZ75sc2YzeLK3uJEeMtVAOFiylI5duI1aw/F3aKLCvkkirqh6Ho5uhOs9j9WuGcKaxBTd4u3nWn9DCNhIGH1jmw7c4/wCEUNgUZ+5nLTP6vIfxMpvv1Zv5ThD1v+TUZKro9bTwXkHR1iG3+7bEmIiv7weHX1p4KJp+JpfK526ICS X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?t34bMIKUevO6Katb5cFwRg3ZjuSliA7AQIfJnK20KYX/DsSZqjHFxW1mgCFo?= =?us-ascii?Q?xNQLiyLAtI9Voo7q5QKwaxX1d/uJpY/viFHJwt5KNR+WL/BRqGOSTuWXwgAe?= =?us-ascii?Q?gfd0qbe3wQFDwOuq5VxkRh6lwuhcAMcQBp3mP2ENvDg+tLvuEwEEWVEi3joO?= =?us-ascii?Q?ejPHG73SjI3flA+8M2Uj/jhJw40wYypUAvJmiDdk9AfJETaZrlORO0un5Kke?= =?us-ascii?Q?j+CX3PQ9Qt7QRsLHIX5rjmBMMswoHtWsxtIVJkeD6tmHD3yNE8ZVmDFuBPXf?= =?us-ascii?Q?IAT6GOfOizh+jkGTD6960LXLPDPguCuX+dSMAKbPp8czm6DfDy0365Eyovmb?= =?us-ascii?Q?avCWGmwDF/jTIBMk0oJrMXOFvH41XNpXfyouJDF7Mmo06wrzlq0TijRyKS49?= =?us-ascii?Q?FH53x9CPPu9PZUVjf2Tf5LxIC6MwtyYMhw/i6T54dZA59OK5ZZgO+HpDo/Ap?= =?us-ascii?Q?hK/aCh3MO8R4k10QyrKPp9YbT7rnMmWSI7bVNM+jCUHH32pyycefB8cuphKq?= =?us-ascii?Q?EjER+e33ASIOIYO3qXNQWV2fBdj/vyWU02mTsNZu7e+UXJrCe6+mGgb3x2eG?= =?us-ascii?Q?BszgYlpZ9jhN1kN2OYTtHlK+0O9JsUNHs/Mh+oZzdSWdaqgSDCzSlGSELB+b?= =?us-ascii?Q?3Mm3H6vcjWRdzDnbX/h9yZTCVF5AKD9R1IWP0qRQIoeQhOSZIfm0rgWv4KaO?= =?us-ascii?Q?IPH+J7MAAkm7qXdyTsaR4Tle3V7rrYCHfBr2xLQHnZNTkux3c4MVgzfZqKpe?= =?us-ascii?Q?a+N1pembM0xTkK9P2lodGwT3g3jvmtqa7OH0aEtpqHPVl+hwZpQxynIuzwfI?= =?us-ascii?Q?BCywPJyUlN3AFZKbzFIgqBbVs4Zfon4QG6lInoTSljo1ni/qZE6E9Pzq9bkQ?= =?us-ascii?Q?U/9hmEU5/5kbPPFO1TZrudjNTpZBKiOXxNuMEBx2EkXekwbOfaDO4RT02qQl?= =?us-ascii?Q?k8D3hPPqXeD/ImsV/VdmL+59jEhXELoVtVRfv0itx2TuX4V4/Xf128Y69ITk?= =?us-ascii?Q?NAVgR8XLFLM6YzM/PCscnWUot980c1UBnlkLc87/nqXyE/FW8i1lUWXn15wO?= =?us-ascii?Q?O8irXQ3zL+nkzq8imjl9947DFtsLM3kDyw9CxvHnMBVFUl8/cycwmkDJZU2u?= =?us-ascii?Q?KEsAxvEhYVTpinaXGPvXQa6+BrG/6bWfDlWc2yH4ocwGUJkyCt5jbquZsBhy?= =?us-ascii?Q?CMAPQmEMKTnP1WaZKvCqA2zCUSrENAKRyL6TzUCt6lhBKqZJ6hHESYm90gM?= =?us-ascii?Q?=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bcb70e30-50fb-44a8-d9e1-08dc1b721d2a X-MS-Exchange-CrossTenant-AuthSource: OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2024 17:46:51.1683 (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: TYWP286MB1975 Subject: [FFmpeg-devel] [PATCH v3 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".