From patchwork Fri Oct 21 20:12:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38884 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp956190pzb; Fri, 21 Oct 2022 13:13:51 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6DF7rTNyByalctY/ikWYM/WU8B1/SpKON1ovaS+Tyv/Dix39HxxGxhbFKiCY45MMDf9kvk X-Received: by 2002:a05:6402:34c7:b0:45c:c02c:e256 with SMTP id w7-20020a05640234c700b0045cc02ce256mr19683371edc.198.1666383231621; Fri, 21 Oct 2022 13:13:51 -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-20020a170907a40700b00779e6c93108si19589309ejc.598.2022.10.21.13.13.51; Fri, 21 Oct 2022 13:13:51 -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=T+58a7w0; 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 D132F68BEED; Fri, 21 Oct 2022 23:13:32 +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 873C468BEF0 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=lO4k4iFZTEdv88H0z4fBAHbP3mOUwbHks5sm5zVJ+Dntptbpctjm05YyRAS9RDv1duVuTSEvt7Dr4NGbX8gp4NemRNvh3iUhhq4fPo+gNVtvVZQ2qTP0ygouhPcUTX1vE4uqA1i5tC1ZdsfF7M+VqhDdYRDwf371lStpB+aVtOypzpSjTrCPnfO1SffHE4vWrjCjqte98hXeWSBGGP76S1GEOtpOL7y9awA6be1t7vKTUXpe3lNmYSAus+oUu5TRaJb47n5dE2Cw0uuY/mtsBO0D3uErLHVPONhlV7e69UKEyFjnmxjx85wkjGdB3ockuIyxV0ZNT1pfBJRbCVAACw== 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=KHtSusZys2esEUBsAVB+cKdlJLBN8JMdRULYemVOixk=; b=BTr15nZCPYq7Ksprl0F1URt6HD5LqSXTyuSCz8pL58yTHZkP5FBzNuIm+5LJ2TiGYp9Om/ToFCzn29DJ3OyyLRxFhOtEYA3+R/QD6QWBtJMBA/uCtQRFEPlDRA7uYhjM72oyzZgndbqVSa9unx/5zKNNrwx1KlcEuq33COvCThtBgFwot56cx97fzucuZOjWtBp3QSXX3xS2CLZPu+Ymh55zZRdzQWLe86nAl6ePKZGYfVDDeIrCEhWwyoBhl1eP7/V5RYGnr+WszVwdQuA5hfLdoNkmAxQWksk5Fq6bvPhZZP0wMZ5m2BlC5Zj+AS+pmmLV000KMEnyFQseOZ5Pkg== 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=KHtSusZys2esEUBsAVB+cKdlJLBN8JMdRULYemVOixk=; b=T+58a7w0UTs7g8TsFz1HtPF+g3Zqf29MxmsZtxYBMPPCN+fqYRmQeDn1a1HNW75RQxT2jByLj4ZMyYNdRGQ55LWbDc8XTgxl8Rb6ZYo0k7BT9kwNl40iT8CYYdDJUXpXkHj4+ckkQIts4tYcCesgnHww0Yt6KcN43NZWvg3QhVx3uwUZKBOK9561KSprMy8I595gfcYQBdyut7WV9VYULveLYYcColUY06qpXlL/Gw5X3Mhzz+OR61jIChsTi/5UZ1H4MKQscDdyp7iM2hr6EFHddkG3FUcEqMlYcxbxM0ZcSckQs8oRnyaO4MgAxhAoMZKyKuu2J/gTmTGPIS490Q== 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:24 +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:24 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 21 Oct 2022 22:12:42 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [FhDOfX54mV+y01QdNZUc/wdDZO0uXDO5fS8+smrvhmM=] 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-5-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: 199265bb-994f-4067-31eb-08dab3a0b56d X-MS-Exchange-SLBlob-MailProps: ZILSnhm0P3nnHDnbJ910YUAai4EXr732E2L2OUZl2zSlWAoFyLK48Cf5sqrnEmqllxlbsPbxXxYtksPQRcmf1AQGpjopRWmQnLjmq4UtV7EhRK5v/6Y7pPVxv/9m0/HLbaucGek7DK5Hal6JwWTvKquv7GFUeJG/cpdFA11PRlYO8bPnE2EN1/5xw9a7ZmCQvGqsJYrGuI1jpjWik/y1RAF7q+YtHrhXw7a+0ncFXIC3xRjRWjKQUHOs9Q8dOdFMrSAURuAlZfkClnobEyZ8piAgiLKsGhifD9FK05iJHYf67hQX6c87SG9ABll9JikBTvEnsObj6e2Euq298pzb4URRwYUueZ7JA24ScXnJqrcvr3fR/y5Whd/7MEFj90+s29ij20/zYD6X3W4NqMdFUnQ/wF2SRLOHLR9yr1eaH1NV/1YQhdg29po35o9Ke5hnxhL92G5zEdlONkhvTCWu7UKXh4Hlt58Xg/afXswMLoZUqc8Si/lLOQ6VXt3jgmM7qz4skgt4JKAeBADUTuIDA7pScPktkXhFS0/sMPbu9r5mB9JLM8UQ7JCE7u7afiBTTB0axwXVok7I4u8lIY6VRyhqKULbBNNM94/ki25qnh1mLJ7DB4HR4FHISNM5usXbRziD1q8kH/QP9pyxUOe7jb7sYWNqa3B+TO7Ugye2oPDT5PVueoyP8nYpF4WJn+sAusxqVKZC2h53GJcAHXtvcnHbQB035ulEH0tQYUZjSjHB9NLn/Nnbxxh6z8AMkpHUh4zxK6r8yUO/gztMRIKSZ+79zzJfBdL0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wrIAC+P/FGFxJdR2Cl1Ett0UI++HOtjJFHZemSFRybCwXU3EV53mtWtzlZljFa2NLwkvKy8q8Ard3jtpS/5xl87FQ+AIbtzgq7UvfnGnONFGtPgd7wg6edtirRLIPmWRlujeQgUXd79/5+qnHArBYqxwlf2kZkxgFekL1wZMNoK55OL7aFX3085aqd+nMQ053RG3bjKhXdgqcUF5y2/8m7aSQ4hWpRPKtTJqw/zZrvFR289QVFOf6/kY5xvEIHy7JJg5cUtLpkFre9LEOLJjUDsXWhyXdYghWQovsqepcvruFq5cRL4FPrsb4dYQUwxI9py4m8HKYxDY1yGW7220zH4b0mLewdz0KlXZ5+/GS99nwvqoGFU82yVDTktDvrqloqR+ErMdPdgt6Ee+i2uBHbUyTFBRdJ8YecBH6ztsUhad6aj5SLX5dczUk3vO5Re4Y3l8DPDBLMvfRCwXh61q9GLV5bHYsQkSoT1znh31hwlXBMfz0jNaWQLdC8hFNrMjQbO9nfGVxNXwANbzS0XfKr6NIo4lOfVLr+/NHTWxkfB5Nukvddwu0eJuxwxOprvoWCQP6XRpti9GeTI/k7TZlIEp45UMgIT6R/AnLd89Me7EG17hdh1kkxjNs/bvB0LBnN7f4c2k4yr5HO/fqvXBO4p/jZiOOadWU4PUidrytlMBYhOPd++kD15Ok5UxVmcX X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: fOQ1LfoWh3VYUJQOWsm5tNpSn6rqYgPUKr1HsdqAE3r4IKpePo+ePT+4qBjX2zfda5ZBB+8LP2O1z78wF/MFXeWbawIheOLp8+RcLDJCwDG10DILO/glzUd8xKtWZQ10t7Y07D4ancCIT3PEwq2LBsJ6bYARZzk3pWvgkW6btqis1glV57WjAJ7tSyMm5LCdigGOZuQZW9APHPCnBWbqlO6kHvesX/xIlxw8tIZUbVPjThvupKzGU4JChyuYWXbwK6u6RVPHyW0U0+1yyZpNyk1orrCmZ2NfVVugE4sHUTrg7hyMIr8kFw4TW4rhurrrV7UDQrVQ/R8mGu26yhfwX8E01Fr1CQAQStcRSuLIVf/YVMke8hbBJEjIUZMrgn0x9O5wDWpWf/xza7HS3ZMt0mVIviCvraKqLxq62LvqWvRWX5nALSqr0ZF8h0wKJdPvTzaKNP5bj17c+dSMW4CSuu9EzHDnQ5WORHr1TzWzu3oih6eU1FClzHAu5Kg/pw89Ly7r4R3n5ccPC/LsPYgXvDOyKEmbqiCqrXmn8rZ58jA6fMUA6SxFnC5V7ORHuhQWae76O+fEc9ey9g5riLih+mEErpW13vyaF0gppbTY5HBvm3zu0mdiTvzvgcNjGvq1I8JTLW9Iv+MZ0kMUlL1rHY9xI+QI7MFpLMmOTFbcgVKUQ/XhE4v7IhdJaJ1E5y8ONaTYwV8iVFqrRASDVwHe5OCZgvG5kASllzRl3OsX3YYmJ+ZEZ8LP+ls6SEX34VBz1iudH7pPY/qBc+mzQON/bjiSw0x+lVDSzAM/MkGL70yZTqEZpkMSozz/rd2lUm1ZlJ0CECdiuu6KsRDqGQaJjdlDUw+++CppkKvJuUzwSgwWteUb481EjCBfcbfl9lEl64jboRJ2URqZgkyo4UbivicUWF3aJNCa61cj6ft6HXyRUlqq3OAHZGdPX98/Gb4/Jg5/iCN9j2Np//wh1bhKK9rrNPh+4re3mT3FKV9uRiR61jFpJj3/qPolgICSwsLP8X8iSqG2fVZK49YDRNu/20XSJb1lBJs+Bni+CTpVJ6xkDoTHYfxYmnZ1dMO4rXGg0gVHzrRacV9rEcKWNuelRoiEuHoOmm8hkO6dTDtDsY5oRbBKepV5ZtadmqMfwsCsY8hJZlsXBz2b+EH2cUbZWUgIGUTSYCrJyGfZx+rlOQ3vHsDpx+DMVcGFjKMDTEug0U099FY3Exx/bUM+rO1/ur7BTsxc3pQYk+TAgPTVoAP/1b+w7gZjTyMnVCB40qf19ohbCXDWJPjwCZYlJ+fOp0euAiL+QJJyw1kWHP5XN4xpdnRmYRQi8pu1kO/SgWCt X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 199265bb-994f-4067-31eb-08dab3a0b56d 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:24.8516 (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 06/24] avcodec/imm4: Remove useless 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: 619St5kJ90xA Also rename the scantable variable to idct_permutation to better reflect what it actually is. Signed-off-by: Andreas Rheinhardt --- libavcodec/imm4.c | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/libavcodec/imm4.c b/libavcodec/imm4.c index e2aa20813a..ccec5dff43 100644 --- a/libavcodec/imm4.c +++ b/libavcodec/imm4.c @@ -51,9 +51,8 @@ typedef struct IMM4Context { unsigned lo; unsigned hi; - ScanTable intra_scantable; - DECLARE_ALIGNED(32, int16_t, block)[6][64]; IDCTDSPContext idsp; + DECLARE_ALIGNED(32, int16_t, block)[6][64]; } IMM4Context; static const uint8_t intra_cb[] = { @@ -129,7 +128,7 @@ static int decode_block(AVCodecContext *avctx, GetBitContext *gb, int block, int factor, int flag, int offset, int flag2) { IMM4Context *s = avctx->priv_data; - const uint8_t *scantable = s->intra_scantable.permutated; + const uint8_t *idct_permutation = s->idsp.idct_permutation; int i, last, len, factor2; for (i = !flag; i < 64; i++) { @@ -152,17 +151,17 @@ static int decode_block(AVCodecContext *avctx, GetBitContext *gb, i += len; if (i >= 64) break; - s->block[block][scantable[i]] = offset * (factor2 < 0 ? -1 : 1) + factor * factor2; + s->block[block][idct_permutation[i]] = offset * (factor2 < 0 ? -1 : 1) + factor * factor2; if (last) break; } if (s->hi == 2 && flag2 && block < 4) { if (flag) - s->block[block][scantable[0]] *= 2; - s->block[block][scantable[1]] *= 2; - s->block[block][scantable[8]] *= 2; - s->block[block][scantable[16]] *= 2; + s->block[block][idct_permutation[0]] *= 2; + s->block[block][idct_permutation[1]] *= 2; + s->block[block][idct_permutation[8]] *= 2; + s->block[block][idct_permutation[16]] *= 2; } return 0; @@ -172,7 +171,7 @@ static int decode_blocks(AVCodecContext *avctx, GetBitContext *gb, unsigned cbp, int flag, int offset, unsigned flag2) { IMM4Context *s = avctx->priv_data; - const uint8_t *scantable = s->intra_scantable.permutated; + const uint8_t *idct_permutation = s->idsp.idct_permutation; int ret, i; memset(s->block, 0, sizeof(s->block)); @@ -185,7 +184,7 @@ static int decode_blocks(AVCodecContext *avctx, GetBitContext *gb, x = 128; x *= 8; - s->block[i][scantable[0]] = x; + s->block[i][idct_permutation[0]] = x; } if (cbp & (1 << (5 - i))) { @@ -495,14 +494,9 @@ static av_cold int decode_init(AVCodecContext *avctx) { static AVOnce init_static_once = AV_ONCE_INIT; IMM4Context *s = avctx->priv_data; - uint8_t table[64]; - - for (int i = 0; i < 64; i++) - table[i] = i; ff_bswapdsp_init(&s->bdsp); ff_idctdsp_init(&s->idsp, avctx); - ff_init_scantable(s->idsp.idct_permutation, &s->intra_scantable, table); s->prev_frame = av_frame_alloc(); if (!s->prev_frame)