From patchwork Thu Oct 20 08:45:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38841 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp45582pzb; Thu, 20 Oct 2022 01:46:37 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4O+Tl3Cn9GJ9ona7ahILH8+HMZndYQPXO4GMkFQDOu8x5B8g6DZh4CW4j1JbGu+5pEK+Tr X-Received: by 2002:a17:907:3e01:b0:730:a690:a211 with SMTP id hp1-20020a1709073e0100b00730a690a211mr9999732ejc.596.1666255597318; Thu, 20 Oct 2022 01:46:37 -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 sg7-20020a170907a40700b00779e6c93108si14497423ejc.598.2022.10.20.01.46.36; Thu, 20 Oct 2022 01:46:37 -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=NyaA0GKk; 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 ABBD468BE53; Thu, 20 Oct 2022 11:46:20 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2087.outbound.protection.outlook.com [40.92.89.87]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7FE0168BE4C for ; Thu, 20 Oct 2022 11:46:19 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UkCQOa3UH2f8QMp7Eop8fWoSK+6xQRtNC7wJw7Ny50HIcFbJ/JMJ7POqJex5X8HgREn9q+DroFOII7sK5QbuLvSJ0KjCf7hBXLR9gsySyFShCdylVo5r2yZGKoFLd/XSlq5lSu4UYMMXp7skipMQz4Hpkt6mZ+eaRosMEQHLXBBTMDElw027+vtEhD7Kf6iGMXnWg/RqfAfsSmtpYWi7aBrX++Lm64LVNZACDATALgLmRrw380LAT26Q4I6Cv3V7kiEkixZSGQYLFvk8YHPyO+pu3eBxXQEJPwKvTm/N4di1ngmQ0y0nHLuYZnF2lnTH1u+emCvssefi0bV7BU5eZA== 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=gHE6PCrboEL8WIUvJ/Mz6imgYlALT3HQiSRbOy14a9YuGmV/nNAIZdfnBr3jyQMrwA/lEB1QbqaTGJZnQh+C4ffjEVqHs4e7SLo/QueQhsZ4DSwDKB7yysqdbFFvMjXAvEogYfiJ4UKt1Vmb/q9wpEg8ZlTmiI2gAeFXXS5DOude6FOpcEpPvQxLZtxQa/nX6KcKSe38oWgUtsHhVgkwCfWl0eVjQF5IdsUSjeJlmWqTL/hA6l+RfU1Fp7cg72YJg+/JYn95CdWJqm7T+XRyn0jMvRlFXEOLl1vKANw8c+8KdqQnIfYERNgDjxxNONfb3dJ4iOeYFfLRNnQFyBa7sg== 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=NyaA0GKkaUftDvQZ9tOcxrrA1FGJbmRNOFcI24FG7JWSw0kXts8Mul7N6OSaXDZLGpzhqC+TN4TiFw0sV1YBfclQuj3JAQscT6CAXPENyyxTHgWMS+MLnhD/AY96jmnV4mlJ29uhAjR4TSliyL1e1LC0rcqRSLUu7yTHfasaUOO1E20MIt88KMKJEA6EDvD7t7a3gsd/SFGHjNVxoFFssPUqBK+5737Lp7rFeP61oT2WYVShfAuVWjZ1T7Nhiu3IE5twn0cpBtDsprWzTAU7TVXQu4+6ma7Q/fmYfw7XE1mD7Rb2M0Ul/UubCp52snpRPXwB5enHmQAEICm91KJbMg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by GV2P250MB0825.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:aa::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.34; Thu, 20 Oct 2022 08:46:18 +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; Thu, 20 Oct 2022 08:46:18 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 20 Oct 2022 10:45:25 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [vnOFwa0w5CmSlCBzlHK1p1j5nu+XvSs+bweGS7SXyf8=] X-ClientProxiedBy: AS9PR06CA0774.eurprd06.prod.outlook.com (2603:10a6:20b:484::29) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20221020084540.2378553-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|GV2P250MB0825:EE_ X-MS-Office365-Filtering-Correlation-Id: 35de4a7f-bf6d-4438-ba4e-08dab2778ded X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqqpqVHbY8r+ej275oS7ZbB+mgC+dFhHfizoDaXPrD3CHJtoLiVVQC1OYTROJ/S3LAVteMssGQzJYsBBR5qV46FtkC7jhf9eVY1j1C630MpsnPBmtxN8OzzMU+kycFdMA3ti00X9qDAs4YPvfQs7ZaYdZPx2tvyCcKUh6d6pvPh61QlrCty6RFwTPfQvW0A/SXkIJeTWnP1X/7zkERxlF+UOnJmMFJCPUqkXAB4hXB3m83uKdRy46Um8kN/uzhxM3eTK/A46sl69uGlWghe0LwP0fqu1J69oPCxcS8P1Vgj4WW+RhV60Cf6W+jFcpRuAQGZi7++3fKRA0zy3BEKoJoc5RtRUJdhYSzhHheNeXh51kiqd1TvhLdMqlqW5YZvs5OO4zq2ppLjOA/iQk3LrN0JGRp9hDaZsl8u1ajl0FW1UTmGGqRTYHvhbsBqHdVIzEBcmxkbFm8F/khcTycc6+tRYveGOARIii/mLs0KSmuRv4w549Lxt6pN3PRlO3MssjS/mJpBTs0f/X/jBZ3jIa3PeNDR04l8sgqO/hbW0WsHfJkCaE3yRwu7CY8CXyjCFFWS4rcGwY30RGQHGINQ1YwdGFAXe8WETi1VV+YLH5/ezY9isDiQzrBQcgUXrzWiMK/a4z2K0zZNawUsVkAkupQaDFoxMQNpNADeVeNHp4h+V8fGoTibbZsInbjEsSxuOmuQbp94AHhFGgqM/KLcjXnogo+eTxOgBSzZohrJv7UJ6Igy4YoNWX8+HjD1H7MFkT0= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NFS41ZlbjGSoxVolqxb10WRpy/2G7hUENB0afSWTpBULNC/LL05ppXxlEfJC7JFnjyvLO9Lwb1hVQA3NLRi+H34StfzFOe7Hl1c3llDkmwDjGwDwnZzau8HuDqbVOk8xfgAU+tPtuqLB9l9UMivDhJpQmhqDMBnWNYSVQ3P6voT4r8Bh8/LM2nsuVltj7/oF0/cqpx+P1vYO3Lvf+LRA8ZDmoVRt3boRPZ/fQTWdctf/l9/Vtd2uQNLjnz1wJATm4EJn6WrDxaCfdlDSVm9THfeXGwfEzdQSHvnL99PzEjOUAD7xpyc4kBBNTU2EFiemp0VnbGIsFNE1/CnJz6M3NR7V344jecWcJUkIqMCNJWlcCon+FZu9zHHLCmwq11oGKByF5yYYTv+9xG/vZ4ooiY2iinO8bviFyi264wdR/hxLpaoWmpLsVroxrPxBS6ZjRZf4nq4nOIEZKMdAE2tXmSc99soS0PRaEF3L8oCpeS90NJ3w2IUP8Gn7DkVf8iboYshNamazMaQXwYa47lXqmob1BFNstj9ohmlYhbR9IleMwJ6sD44X7wR7O8WHWFJEp9N2dxIYhvhjSyZ2BXZiyUroSSJItr0dnOarTrymE2m8J7Zso8N8/a2btNLGWrBzjeVXIFZqpZyRTeVAp4X7FhKXsGPwPJwCn0msIpaZ24ONM/grcpIzy7zq+Gvg0k30 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ySGPoffL3ZH/z25dPP00XGBjflX3jCdWOleELFCvU4PAuCDcZKN6IcW/wIIVlxke1kTY65B4Q66WqnSBWQWaRylr2AcBsU+zcac/JBzK3F0x7u4B/gUPw/KbvWWrT4xmqfdvxdOaR8uVrsLQutRHXYsefe+SV8YaQbpS40zKhqn8JbjJHVxnFcMqUt55DPbfc81IcLdVzjxA/A5hpYpUngYitUl/7zyXgDzEP1FBknkpYVqfKXRcJ3W599nU4USirL8OyaYWgeNSLaCNaYVG9eZuQO81UOw7r74dFrQvTplxAS4V+MYv+h/A/MVoZeoiiNVNZL8rZ8jtalVLzP+j5kM5eNuxGrNefMIosGSFssEEaGE3XUx+x1NfWJSi+h+YmqxEstJ95aw0aiHrCjXMs1lSSPdj6El9FLj82xR1eQGPw0f2KM463u3tT/8/oB5kufMUOBiyjkpDdovUSV2hbXtq4QT51GFsz2KBh1rGpqW1DLPAQVZJL6tP+s68R+SCztrAEQn8sc5tVjFguE16S9ibc9dkWpI4uwC43WTE9Cda/VH3C6Q1gxTErE+YvM9xdXUdTkhDHy4+6P5uhbW3aTUba2zn+OvA1vCPzymUG4s7NTO4VToaysB1/4faPBMZVAhTcZchuR68mCi4lHg/PuiWYkbF5g+juo0E9busEImqOMPPzHEs4nikO2V3o9qsCresgZn6vREDev002FP04rO37UCnPySkmSoQaXKS+d5FOVhwi4R28YjwHvt8cjaoyq8KVpQfHVFEbIG8NVt+x21SMjhLZ2EQgHcESHeBG0lJXtZNXHlqi1NbnASh4XOnnyCoSkmcKF1FsgreTNUeVvcU+3zBuuLUVVzJmt1UnScqQgnNAXX+C+AsCQSrjEf9DUM5gH2fBUdiTN0ZJQuwdUG0FmGyGB5JaiPTOyRq6jEGXBdIhinESBPY9wKG+mw5U7rScIDN2p+LfsiX3PkO6AkjePViJfnkXxNyj+8y7eXJvjSDPpLxstsUNIukUZKrP14LSVZ/B96KGF10y+KNI+7J6qvJ4jIG8REu9dljeKTBFHCCI65+tldFBGT7S41k65KrMjw8GrOZ0/x9LIBhIouyAI66ZupJJ5/SBB0c23zmVIh2WFcduYJwR/tdEFWZKRyszD3UzxlAaF9sF1SoyiVgb0MsL/xYDfm+7ZDiG+9tWeHWETsXz+BWoY88jU9G5tqnTdIaErkrRCXN2sWQPhiGKCvTV+VZeE3YP1O5EUkqBoTMybxQ+55EqYNouKPr0d5xMc7sTLaJ+XH9saIfhtKgtmk1GzmmhdRUalV3951oKBbYTzxawViNQWSqPGy4 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35de4a7f-bf6d-4438-ba4e-08dab2778ded X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2022 08:46:18.0095 (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: GV2P250MB0825 Subject: [FFmpeg-devel] [PATCH 07/22] 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: +ugMPW78nHwk 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,