From patchwork Fri Oct 21 20:12:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38885 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp956245pzb; Fri, 21 Oct 2022 13:14:00 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7vnRHeYKZk2i9YVIyedB8hCTDjI3ltnqRM2fLu/t82pXm89ngJEjZGQjb7vTWS4CQhX/oU X-Received: by 2002:a05:6402:4029:b0:45b:d50c:b9b0 with SMTP id d41-20020a056402402900b0045bd50cb9b0mr18953151eda.126.1666383240392; Fri, 21 Oct 2022 13:14:00 -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 sb14-20020a1709076d8e00b007820aa60dc3si22106054ejc.74.2022.10.21.13.14.00; Fri, 21 Oct 2022 13:14:00 -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=NnHFOjMO; 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 02AF068BEF6; Fri, 21 Oct 2022 23:13:34 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073097.outbound.protection.outlook.com [40.92.73.97]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C156B68BEF3 for ; Fri, 21 Oct 2022 23:13:29 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dtzukvlyOWRV2nA1nxcgDFH8CwGEejVp2j+j7H7MvNza+CMc8Lm4kCFXVegVDY6i45JxYgg/1qbxOX937bFTJPSHprEQyQBxqlJyEinaiSBmPsaytz9j5ekuc6zOaUfmCNn3mi5LM+JylNr2IY6JNBB2NopMClgjd8CVgUoI5oxmAuD3B8XR2SAh6pHx5ym1yGCGHUp+Q2GxYZdQu6uBBowkJY3uGO6kRieuvRaIc4peOGNCQ1kgmAdVCP5a8vp9CVSS9FIhfC5nQaUD+xwlSy6Orvs53mWvTXYCQ6jB8tsaVN2RJhLvLBCoPuxOMgQRpb0cgy/OWUcNXTF2fR9pAA== 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=BHc6WjFdEkhxuvBaRYLhaIdFsQVvzk09ajc5Tk32I8g=; b=LS273GeTEgCjJaQd60H0uZw4T8XpWgjOYmWsT5vVogKwjcxCpT97HLS6hf6zD+1l9Z3bFS0xXwZOopiwU1NgxiCrVaL6st6F3Op6qclCKgdTYRFPc4O22J7PsE27oUEiFUNsGc8dIW2ZDohLokjqghudhmtRdh+9ta3ZVOAZocmvHom55ciz2iJyTPdT0uluK259nPtIYdAo3CjOY0tE2J0JvNFj5oWSpYCdPvPsf0MhXOaZKzIkR5gGOxwJoIOm9zU+sZzpipYf9SvUKjRg6VaxQM2cbFhkj8L+RRG0E4TFNVqsLbur8pqzhqxptWME/0nSd92ZROmn7BhXEVgiGg== 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=BHc6WjFdEkhxuvBaRYLhaIdFsQVvzk09ajc5Tk32I8g=; b=NnHFOjMO3Zh5CzDE15YalssOWMgfmhCbqRqIlARU8iN1IoYFEpH5PuQlT9L68mB6LvOzZc1jYiZEvD/hVnCnkQoG1VfNu3gXWz1vXZgiD9qdNf8Ma7oUH6eH5aXYsg0XkFfMHr73mWdaTrcterz2rIv92muE4my+ZToSte1MJoLSI8waYAxbDdVsdxSna+wR16eB0be6vHLOwtxwhpywMKzwYpWU7hxXe9+Cb42suUonEm7h5wK1agtftGtdO8ik2z+u78gJVLggnn0HbXgxZKtCp/DeP9UNL/HgPT1y+rsMpQeGltcQdBhvdakEvXmeWtrJXzkiOC3d6ARu8ENLuQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU0P250MB0818.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3e2::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.34; Fri, 21 Oct 2022 20:13:26 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe%7]) with mapi id 15.20.5709.015; Fri, 21 Oct 2022 20:13:26 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 21 Oct 2022 22:12:43 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [q9XTVopjfRyKycQAKzJ4wK1XQxx5N6DoM2cE82ZnLqw=] X-ClientProxiedBy: AM5PR0101CA0027.eurprd01.prod.exchangelabs.com (2603:10a6:206:16::40) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20221021201300.3565913-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU0P250MB0818:EE_ X-MS-Office365-Filtering-Correlation-Id: 6ccf492d-ef34-45f2-8b4c-08dab3a0b622 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9Xmoyh0/rGpTlCzjnzrUxdxR9DBJpPCTeV+VnQxlJfxwv0yrA5LlZseRii1/Mcc/dMjFrEwILnuQGs0M5jmY1kh4LshGP4E9EIJD00un1zE/X2StHLihbOiSPv1XD65SNy/evEWmlfZNh0VhX/G5odPbtMgVz3NaeMRwBrEtJVIQ8FTbp9381ecuLmWYUL9mS+jobCXxIh02UIlksK1A7cXwbXnDVoUhbnc7NQrz4PqVcYtVAs6+kNTGXTIQf8o1p0mEyX+nnvCFskXKHw7NdDDQ8Z06+LaJ5ONOTqAlJEGYqhp9N0JRPiV1XW78mkgjVehGGKcbCCJN26zi7219I2zssIOsoadPD2G16tXWwrJDFvsr8ejl2jHfsjqpD3ngafjg6/+4wGqiAitmbGZ02eMotlCGzDEoNq91Zrm67ATkaHXBCpMQqY3Vq85DxEUoiFJdKnHtutdwrRZV2TwCdtDJ620P3RwSjSKm8HVe92VEeLmS3Po4shlSCMZIQuL3YdG1GAOJqmBFj6b7EyN/azXNWVCJHCD1A1K1IC+gWmA+vmmS7Jt5tp5lVUd45Np0X0Kpz41VnzezhVPwEClCCrnps9PySTX7pwIqXNOExcResftZfOYJTcGz/6hCpFFO6dNb6dqIWTlrA0x/JVNJUkdSu/gV/iN+s+ftaqExJoawNwloyrZv0KYCqmUmTnMa9+CnRMthAXjuwPnk3aY1IkPsf26QTd4VNBuGZqHH+f1nxFQyYg588JLf5rQxNj+L6tYY= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kbp7ZipIwURoIiEmz1x9sYbl9CBmnCgvtDUe3MdzSgNiMms297jlvSfEm20+LUFT98iEo7Btf8y0qz78jjyRNVfo4oCsUqmvsODM8nv0piy4aqsR+hNAvBiXg0hfDTvH/cdMXESdY7xv7G2tJ9oc9uUHl97Mgcx+GEtjDGXuuX5RLlk3TpKlgDtlMcNZRqNEPwI96Qd+Roemgyx1x0Tv4CTVyYQSaKT4gsxOidwAecAmLRaPGdE4Z37TKvsh4cJYXKTYj60wGryD75xxaxhOwm+CVz06M19oQGwHzlhIm7G0GoHRs2ip+BCmDVrBtwE8rdrbTrOm/iAmIDruBtQQZAtbzJPaAp++kbiq166W+lRgQNcvNAmtTJqDFIyp87mtghMKHyuVk8RMuuimGjzRPg5Wt4msY1ikrjG/AAKWdh0nIrSp0Ydd8Bo6bd665wiTPATRDxKozN3vjnhG/MKirQdivhwuFiABH7BrmWY+4IgiDinmY6S5kzc7hPj5u9frEBql70PH3YSh7oMfGXnAfI0Re6TKNA8oNwkEWkrf4zlyov4+bkYnW2GQpe5lhkjJA7f3dn/egLZIZ9ORFx4ai4mslfJs17aRITO0VuGrPE+nXWXB4j5usKAGyHQa0GYu6biDsUNBLUpmbrwVzEqlT2YJ4EgsKv4IZc7KnSy8ZMYzOtRlH/Z/Bl78iHP8//vf X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: iE11GiUK1O2JPb9uervcGgn4Ad8c52SQ/PDlM/XitYPyMBBMzrhMdWGOHQDNJ35ObebaO1Giixg3tpbjk1QYj8YYDXSrbz/JbqsYqOgnQ64udZ4FZu0GpYof3FNUTNn8T4DlZK4+UYEvT9xVgYblmoNqNdN5SOg1ieUSWIg/NGwgpCUgqt6t5RKSbPhk7B4uwZlf8ukByOQsLUV1rb+VdPweEqpstzWcjeDrRgx+C50qctQ4AEz+kp/TEyvuBX/XseSGHijHcBqE4hCoSyBvYm2oCHjUjUv1CqGpV+DW7UFHUNVW4Vo5hIyyjTyC467RpVIyCjVy6xsrdS4Lf+CcwP9DGVi5qUoqd+FEremD7ST3BrZKrbdX7I3DLmp4DYf5oQm/bbggO+nQau5+/O1S8/ZpeFh8s3h/dg/Eg2Y25UzPLB5PLL92Q38RU6ieZXKxIZ/4dwmw4QQfBVzuNfg0IeJReG8CXnhbh86v5dwk7LP90rEmd4YZ44Fy+3BG0QFzWIIRuPGr2mHrBrc4cz9Nc+GRlh0D14oADpfQYjOw4nvbIUMifNFbsEx5veAkSCDOw2pGJVH2huwFqcufpndqTrgPdN5aw/CncAsjpRERqzMoGJuk/TakWahiH1nDUXQJ37l7yo7kSFTX0vCimbIadR2Sam3FbPFVdj06qPZ471DOJqBd6v1W2FXgNVqqlgdGBlkB1NwKfu9qlvH+lmcHRN+8Q47gXpCiusF6hsaGNgfmbDIoqPPKgWb63fimLMUGVHwtCDOO5z/rMqgu5iLcCM/i1Mh5+AoUwwrAvtdtGQvXnPn51vQMdDZ79KlNiutYHbFz8ifElTZ0rCAdNQwRo9EcLO0e4QdqlwgIhp+xlZb/VLzwbjCOVkI9IKVEvbGnVc9YiWJRvDWe3F9zIyd95jitEzk5LZfQMvbfUn9BPVkeGyylrwsN2jgzqNCllt7XrnSZDO3OcdqI8OQ28UZzNQISyF0gKgBXBQkGloLQGV2hgWzc1qR6tpspxqUHn8eSsKjbiJ+YYCrTWVVozze/+aFZFvDA+iBfKx7mFJYzqO1UNoiD5PUkQI0D3VxQzjFcz20Ntrn9ZRaA+d3rRqsA6UEK0Nv0cXmlA4oK4P7z17PR5pAE4Mmojz4TjfwCNr/RNlMnWAy7c7QGCYqpsuhzMHtyKSIdwUw7sZD/dMvNNvfUuGPAswiRFvsCm3dMOa4SomFfwnOAv7Yu6iFUFyWew9lEBhhVUe34w3aHLrWNM/Ec8HER+YovmUT9X8Qua/M0qdh2v3ARW6tHlskGoThLKJBH+6ALVIF3V95McVztRb0rZjLR4r/IoHHleYGsAES7 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6ccf492d-ef34-45f2-8b4c-08dab3a0b622 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2022 20:13:26.0076 (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: DU0P250MB0818 Subject: [FFmpeg-devel] [PATCH v2 07/24] avcodec/idctdsp: Add function to apply permutation to array 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 9gLJwaKLvjQ4 It is the part of ff_init_scantable() that is used by all users of said function. Signed-off-by: Andreas Rheinhardt --- libavcodec/idctdsp.c | 9 +++++++++ libavcodec/idctdsp.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/libavcodec/idctdsp.c b/libavcodec/idctdsp.c index 4ee9c3aa74..50156930ed 100644 --- a/libavcodec/idctdsp.c +++ b/libavcodec/idctdsp.c @@ -27,6 +27,15 @@ #include "simple_idct.h" #include "xvididct.h" +av_cold void ff_permute_scantable(uint8_t dst[64], const uint8_t src[64], + const uint8_t permutation[64]) +{ + for (int i = 0; i < 64; i++) { + int j = src[i]; + dst[i] = permutation[j]; + } +} + av_cold void ff_init_scantable(const uint8_t *permutation, ScanTable *st, const uint8_t *src_scantable) { diff --git a/libavcodec/idctdsp.h b/libavcodec/idctdsp.h index 2bd9820f72..b286bc231c 100644 --- a/libavcodec/idctdsp.h +++ b/libavcodec/idctdsp.h @@ -43,6 +43,8 @@ enum idct_permutation_type { FF_IDCT_PERM_SSE2, }; +void ff_permute_scantable(uint8_t dst[64], const uint8_t src[64], + const uint8_t permutation[64]); void ff_init_scantable(const uint8_t *permutation, ScanTable *st, const uint8_t *src_scantable); void ff_init_scantable_permutation(uint8_t *idct_permutation,