From patchwork Thu Oct 20 08:45:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38848 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp46014pzb; Thu, 20 Oct 2022 01:47:42 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5ryEJj6V0p6PVKh1kWBkSkQVSEbdIdmq6C4QN9CEic6ccpfINf1zObBB2GW0E/DOsSkBAK X-Received: by 2002:a05:6402:524a:b0:45c:e2c6:6ef7 with SMTP id t10-20020a056402524a00b0045ce2c66ef7mr11576207edd.421.1666255662612; Thu, 20 Oct 2022 01:47:42 -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 z22-20020a05640235d600b00458d43beac7si19962828edc.41.2022.10.20.01.47.38; Thu, 20 Oct 2022 01:47:42 -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=SEmFioSY; 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 5A58E68BE91; Thu, 20 Oct 2022 11:46:51 +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-db8eur05olkn2037.outbound.protection.outlook.com [40.92.89.37]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0CB5C68BE89 for ; Thu, 20 Oct 2022 11:46:49 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M5+PuKmALErtx+15stsOB/GuK37CkBLrcc0K9KwCoGdjveBvDYxD/BRP0KtReE7sFnskZNDXBhmFVUQJZAPETvZLZqiWhJ5tgD3Ycz2RJxEsFMIxQBHhhFuXOOkUogRgYqPMyyY/fH7x8hvP+Gnp8G5MtTg0WIQlBzs18sZ04tSEzq/ladq115LkS6UyybfRSgxCrNXUfma9bKP90muDxi2ELAvKJFtGdGTvYc7REnGP1gwzIqzNOB8NHWHEJhOlEFbsjLX8+LTHR2jKi+HzDvzhnV48cpJzWSAbybTZ7cM4hjlW1TDJINr4Pfp86Hr+ieooUjl/md+fepudUuyH6Q== 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=dU4vKqT6BLvgKM4uzKtdk53ZjoH38nwmlKXR80PUFuw=; b=S0WdqpVxRoRTlfxTl6kYj0x1qRMaym7SbAOgbUnGXhnRkr8Ir6BCbSBai0Q2fZRRNk/JzxhO2bMzYyBCx6VoqHVySms4JI+/Dr0BevUwgA96/Dg4m9oZ/cePxa08ypN10KwICzGOb/n2u8nn3lnYvUBLwOiT/fuac7crq7rSBMvs9OSDoFuwe8njexf6wsX5NwQtnTZH8pb1iFEUY29ptrnCCzsdmLh1YG87myDhjRIPLgnWLKVjBI/VB1NWiKhFaIBYZN5MmXcfoeS7R/E1nUsYfuzCmCoasEHOhprbenAxchydfJ2GdtDDEaHMdNIIO+vS+leIRbpTmI+zcmtfrA== 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=dU4vKqT6BLvgKM4uzKtdk53ZjoH38nwmlKXR80PUFuw=; b=SEmFioSYMKmFDHSvFAWim60ttuRh+eT6s2qDwznP0rGMVi1qp4qvyWUwmvms8YCcJVkNj4QAsCgh6Wmk+IAmpCIigpqEFDqXz0y1HdL0Sr1zDW5oM4xRiw46eCrzhLNxsyh39bhaPQimpVdv1xUp5TV11HkzzhE55GfS6ENUbykgHN1vbUjHqjcpzX9J57upTXPbckPjI3VgBSGne67Cys9bA0l6nEZkMGLdiMmxkt5Jx4uaGF527qybuXuydCzdYgeYHBcvH/c10UuWwIBOGjX2qrkYlNLi2+duw7ZVZJghfZhFeWrg3gsWKP8IFhNrSuD/c9U2+NS8fbX9wb8nNw== 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:48 +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:48 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 20 Oct 2022 10:45:32 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [UhoVZZoMXa6ox/ugDBmZEIxsOsaBwB30Jw4GclCFmAY=] 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-13-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: 3b9e65ec-b437-4a30-b2d7-08dab277a019 X-MS-Exchange-SLBlob-MailProps: ZILSnhm0P3kEq9VXjGDAyurdVkDmkI7q7DWNiKYGeXDbQ/GFOChYuw3xkLmi8HB8fYNUIh+j6x90axFXXDfBsH6vyf3CVg88jgR7bvWFdiYKJaAeOUpZ3uR7EqTWyf3uh5jAbobgXkR4zIWAANU+xFVE0Es+NwwAXpwwVM3SObE9Kh1hla1HqI6IvkaEjoopq6G+Po0Xw6KLkjYQfypqtsYzAtGHHbf8F0Np13u2mb76ji2VCiFqNN0IEFGF4LTXDZPvfiMwYn+vSO2bZOHJtNoCrgBwfTWCaspLuJ4ghVsJaKSkekbcqTZHNnC2xMchxRnG7ViUH3KaY0pRgI2TRKTdGhMDofIFVcef1nMYkHSZV0JFy7Bex1VvU1UvB9CeK3p6LxzLDEJeaHhC+CYsfMjevbntWK+z6ZR8zmIc2kG7w+/X3rwzR55A+0OZ/VQQL5mALfMc1YP51Drkxo2LH/eBRoYvfWTtoZhCyUBj8zyFFyrRpWHbfN6+g7QlvhZ3BkNbDcxhiZEn1kC+WEDVoPJ3XYgmqQRk9wDBR0YfMZ9cznmjqLXt4IzJUhMuNnpWZTmpwNpr5A+lSJs+Ub3tpF1tDSKTFJr5NiGJlpb2GOuTK17ZtXqyExYBVNBJAYrKd83wDKm3RLAEsM0m1BxI50K/FfzilMHeD6+Jv/7z1edx3vMpQFTpAlq9Gk+z0UJJsYTd4AW5ccxnZ8wEfHgcSNXrG/aDH03EhHLHLlmuaLfyA60ki+cRf4rCfP/DQ9Vt6fbSaGIRr3LwCSQQi+tOkCp/WY6uTqEC X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HjV60dBE2/urQmm8mNObnkZGZOBfCJ3uFxEK6twsfUXNY2RkTFWl73bBAaEVkFNVlRPyOzF9kw4RlugZoPI4k4PqRVcxtAc1ggLtnuiB5rkU49cRdT4ByATcdNnr1okK3Pv4wI+guVkZsm0Wfu9erixppzML/IJBxT27vQKu4hHJ0X0XDKZeMSalyP0Y7VGz6ML1jwDSccNZ34KULiP132LA9KEh/KBYhl9YHRwjubPtV+qyEKCme6f74ebCXdwGAjdUvMeZxEwL2fypKup+iPUY85I5lZ5Zdk73oBXrHstHBSIyjRJOO9V/MYUp8GRGDxnWD1CWoJhvY1XUHpBsRdy3yVYmuaFTtHm+y99PfrtTVdUUYsp9MG6isdOcQ2EAvrTBFunAAX9osf3DbgWlfKUsAusnrr6X5nI6z0KyXrIOnxHgKxrMEKVPcuGBcWfR5a9nHOFTFG/SkHkhBx8PN1JpZk/e+CoDM255ol/6mM2sny/IAMEnreE/8dVBPPhZn5P74E8OG0Oc64zglKD5zw5kEGF92j973lTEN0C+2D8ge/pJWbEMekUB+dcio9wdGR9I/hFV7dOq/TaFSvDU8YKibCSNooyGMnGq14EeqbyvPHOJMD3xR8kGqpUDlRtHr3wLQkIoe+MnY6tlf/Dl+RTliGn8d3tfvhhwwmsGE1BxHl5Im0h6WZTCXfn1RH92 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ZwtKWvcFJSNrfWebtVJXHirZy4IludswIZIqvRRI7X/9iRpM1F2gULyaq9hYybGVKPCtUD31wo+wmVyBbBFrU0hhA6zvY8b6lhD6BeaMVq0s8YFyV+am77JXn0MIcT2n9U58hA7pmUrgx7fVD+lbT3CfNXHuUkgiJW78L7gb+rdV6SSotYm8kE2ssUgv9gVF0BjqiYbSDJEXsbEsjksu4rNhoiEINVzfzWNXFe3jxBqDZYEuJ/VXHdxXl5mmURkqcxUV+N2mLUMfed5Q6Vt+a5VXthhSzR9HNxsFq7j0ItlSbT2ZFEyQnW+VJr3NiA6ukXL4h/lvIjJGWUu2EjJFnSOPKe9lbV5NNX4GGLmD/xIoKcmzfbRmsXN8GrfyOHH6WEl4GPPUvVyYuDgJFnPoxq2a4GDtDEVmuUti5Aqv7gkwR56mUA57u3MZbBP3kKv3tWWbjoIW0ThUzEZzt4u6NiY58yRQQ9AdDL9pLq5VWBh/Ug66YQ/SyWxMaBmNrK0+ZHJ53D59Pi0gXqFZiLNPxjpz6tv81dk/78pZZLf4MmKqQZm55WQ48MJq8bstzZuxigJqgvWuIpXsBY0rqGhOWGk1SaAkNANgT7XO671LorPPwPi3Jb9CRUHnb+3w/L3Egof+kuyNJMA9whuNAtQeoGl3Gmx+wdXwyRNMAJuQuU/oJWSWP1eHGmGhD960D5LqiORhnUU6+/AXk/+6ZtRJ7d741UJykkLL/vJQEat4aYdP1aT8BFhxn/Rt0sQvsv8TTkvw/mIxdsxia5mThEsdYivgEC436XkIRf1dUa1U8gib0194K43Moxr7SMbUt2xOdKYgwQ/FceKgZGevuo0ziitTMYtSh54xFCW8F+NH4L93Rwpgt6sUEg7BlGf76waSrGTIUscsscXbdJdMDfqHnipnw3GqjQjiau4bqCnfkREt7glJqeKldN+Dur+p4J/bpsRvhC2QEiPgzRcKgSC6MMExXvpAqGl1tF+J+Qd0IKn4+VRQ1GYCDBQnC7toeqBn1QFbxORJwWYgEuCcTpATVJz9QlcRd716eNJmTpfJ5jMJxFQBbym2fOcPGE31mp50YLo1DSgARZFjFVh7BeLFeieUKr1GFbKmHDCUJG8DOZz3Wz7fJLWyl0HAtYibgjEL5kF0vEpL39evpT8mZ/NJXn3UQgPe2ShiDucKUXRZ6RWq6iYIXRiR/L4qRAw6bc4iK4N7ln/DDg5bplrcN8KySSDf8Q8/4snL/HqZil5VnMcossnLHxiK0AgnRZNQGUMu9MZdQjseKfXeASJJZmsS6SsqRTuzm5bBmgqcAEmPqizc9HTjVjIM+tY/Dq+1GG0q X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3b9e65ec-b437-4a30-b2d7-08dab277a019 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:48.4956 (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 14/22] avcodec/intrax8: Only keep what is used from ScanTable 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: mMT8t7wzamTA Namely ScanTable.permutated. Signed-off-by: Andreas Rheinhardt --- libavcodec/intrax8.c | 15 ++++++++------- libavcodec/intrax8.h | 3 +-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libavcodec/intrax8.c b/libavcodec/intrax8.c index f88baf8daf..e8e48ac1bd 100644 --- a/libavcodec/intrax8.c +++ b/libavcodec/intrax8.c @@ -25,6 +25,7 @@ #include "libavutil/thread.h" #include "avcodec.h" #include "get_bits.h" +#include "idctdsp.h" #include "msmpeg4data.h" #include "intrax8huf.h" #include "intrax8.h" @@ -576,7 +577,7 @@ static int x8_decode_intra_mb(IntraX8Context *const w, const int chroma) x8_select_ac_table(w, ac_mode); /* scantable_selector[12] = { 0, 2, 0, 1, 1, 1, 0, 2, 2, 0, 1, 2 }; <- * -> 10'01' 00'10' 10'00' 01'01' 01'00' 10'00 => 0x928548 */ - scantable = w->scantable[(0x928548 >> (2 * w->orient)) & 3].permutated; + scantable = w->scantable[(0x928548 >> (2 * w->orient)) & 3]; pos = 0; do { n++; @@ -714,12 +715,12 @@ av_cold int ff_intrax8_common_init(AVCodecContext *avctx, ff_init_scantable_permutation(w->idct_permutation, w->wdsp.idct_perm); - ff_init_scantable(w->idct_permutation, &w->scantable[0], - ff_wmv1_scantable[0]); - ff_init_scantable(w->idct_permutation, &w->scantable[1], - ff_wmv1_scantable[2]); - ff_init_scantable(w->idct_permutation, &w->scantable[2], - ff_wmv1_scantable[3]); + ff_permute_scantable(w->scantable[0], ff_wmv1_scantable[0], + w->idct_permutation); + ff_permute_scantable(w->scantable[1], ff_wmv1_scantable[2], + w->idct_permutation); + ff_permute_scantable(w->scantable[2], ff_wmv1_scantable[3], + w->idct_permutation); ff_intrax8dsp_init(&w->dsp); ff_blockdsp_init(&w->bdsp); diff --git a/libavcodec/intrax8.h b/libavcodec/intrax8.h index 9ef2fc3dd3..217ef75e04 100644 --- a/libavcodec/intrax8.h +++ b/libavcodec/intrax8.h @@ -21,7 +21,6 @@ #include "blockdsp.h" #include "get_bits.h" -#include "idctdsp.h" #include "intrax8dsp.h" #include "wmv2dsp.h" #include "mpegpicture.h" @@ -35,7 +34,7 @@ typedef struct IntraX8Context { // set by ff_intrax8_common_init uint8_t *prediction_table; // 2 * (mb_w * 2) - ScanTable scantable[3]; + uint8_t scantable[3][64]; WMV2DSPContext wdsp; uint8_t idct_permutation[64]; AVCodecContext *avctx;