From patchwork Fri Oct 21 20:12:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38891 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp956810pzb; Fri, 21 Oct 2022 13:15:07 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6uGb9yFngtdFGuiVsjvV5YnF6C4z2eCkRuR6l3NQprM9mIGK8N91lqHuBZyCVwfPhk6cH8 X-Received: by 2002:a17:906:dac8:b0:741:545b:796a with SMTP id xi8-20020a170906dac800b00741545b796amr16733042ejb.240.1666383307484; Fri, 21 Oct 2022 13:15:07 -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 i21-20020a1709061cd500b007825bd02a6asi16883067ejh.54.2022.10.21.13.15.06; Fri, 21 Oct 2022 13:15:07 -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=DPCFH0N6; 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 B179768BF3F; Fri, 21 Oct 2022 23:13:49 +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 E5BF368BF09 for ; Fri, 21 Oct 2022 23:13:48 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JuQGvfGcUlqbijof3GWreLs46dkVn8m19Of5GYsysdA3LzYkSxRmhWjCMogSJNVmXr19jgK+vW+ivyJmBTmCdsv+78tWloebnzr3grNv5tDAK5P+yqL6tauFzWPtILBq7zVG6RjgEXybZkAfI6DZgCawDaZyYc30pJsXzk7pCXHGkZG8dG3/kaYq+zt/iNyKx3HQ5Q6WQq4X7QMeVdWOPjTl7wRABec8XRtH2bItW867lfmyT3Uyke4p04p9YUQIqTDe+wDHMidGVLnHmKAhB9oHIE4r0eVfu4LvUHmdobQWUzL47HJ6As1kD9inWrgXYwqSKoznLAAESipVJ4a0qA== 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=pIt/FRcJW4VLVnxb0QHy9Gjkg/sLegdn/s6khRfzdS8=; b=eqTQgx2ow/rfcVrr1Ay2T56v8KKvFPwTku+V23bz4nlsxOTYkx676UAT8BNoypcCYUWnPvvIC1h47CUYe1o3obBWoBA53+zxkmzYVsS3r7rzcu1uQ2d6G9Q+zDLi9cPiikbCLAdj/bEDNtVYoQoKtXPUpjSZhGhvDJ7iC4GBsWDd39sfN+ppiS44ouuX0UJdIUfK6Ual+uCDHXNOiqKndA+tDotZ/5HuEBdW2pB3TRmCTolLINSLEnwVKXWYmy4SESGfK8Se31b3QgxhxFdMiQPSWVC15O3mr97vT/HNi6LcDohZb5bHYFJsuvfvf/nVy2osSWwjMgytcnOa3vgtNA== 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=pIt/FRcJW4VLVnxb0QHy9Gjkg/sLegdn/s6khRfzdS8=; b=DPCFH0N6l3D/05S8hja/pjdvvpYldz76tTbcTTULbYH8QxUprTnOKIebqAEczzhN9PGCLMQVpXZ4vUFZFHUwYB+3n+A1bZr3pFdtcDYm4GrENBZUqIB4D1VXOp3YBctTIeZotSDPsFeamr6mnoDXCXFhCMUHVExzg9BlXiPioej/gLWAHPOD7QOGGmt5cdcESkVO55PNDpPXL9yHmqnz/+omfkSPFDOQayIqfabnxYR22GFGJE8aKBr+UAhSzgEmUkKn8VZzjNppWolj86yBo9EjSxMU2pztpqhTr/HlJ8+Chpc/ZDN8y4vsZVQC61bt8PbLbR2gqO+qblSLa31T0A== 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:47 +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:47 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 21 Oct 2022 22:12:50 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [BvJUY2V979RwmUxY1RzdOFC2lTsF6xAvlWEOph926VE=] 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-13-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: dbef9e3b-fd0f-4d6b-b41a-08dab3a0c323 X-MS-Exchange-SLBlob-MailProps: ZILSnhm0P3nnHDnbJ910YUAai4EXr732ZAE5assxEuU/fNPiASwg/xVRDiE7pyyTJUwDRP4t2ZGBW0KkKHbMss7MNmdCDPKdHYkhKuHlc2jrfi8aM5hngqKUJim2OavMd18BLFmuRNs2lMsVIlhiac6dlLeO1+cNmP7t9fZSIodGjPTvEXO8aAIRqhEeLtWneU+T832ZLVPA14c0Hs1HZ8WZ7O0igUQ6cR6EGLLfWthJ61V+CSggkDNogAT1m1S90E0rwltoX4rBrZL/4YJ1OFN5xVDGiALWN0ncm3/ViTmzfcUZAw/RB0NJHkh2Db3NDKGbVpUmKCjHUkXCyvyUlW8T7Tmc8H7MLndXMIYRD0BvpqweEotjxX6AFxEAw3EXZxhXVWh8po7oU014Sg0PBcYGn323ish2MMoSKyn9yHAwJ3VmEjrRTy2jcb2mBMEeZOUhblzbcSp0u/VExsryrC49MtIY+nnOP2n7jjgLfuQ7V2NCOTf50LFcUgkvjsp8cXzUe8J1CDuD5jLCuhZdxUTEJnPPtmY1Sn4UpJiUjRGc5b/dQADQsl1g3BvrWd/kTAQo2XPxrGG4yr+1Z/lfN5lNpGcox0o+7w6z6p6JDRdLTASoOP35raeCGZSaP+pbeQEs5guMRHajKRtezCoq98zzwDSePX1fi4p5wqsWCLlerrfmBASiUY46Qkk6x9K9Lvb38qTcOp91NIKcrNE+nh9C+z/zcc4hSeV8YwVKuiNhHOpEKB+rpTIih/mzqQ8iIexI1Hq6KafuqcV95Edrp0wVLi7v+j+Y X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jUQyQcFYtBTEOIf8KKKGCnlRPi4uLiNnwKgdO3b8fuW9kyqLdjWCfM35t0v4fZTsqfghxnR9gfW//RfpcmCS8CfrXOCihGaGa/la9D56BFP0DB5KE6A3LzL31Hf5cLpNZrcfxJQ+7NcplZfk2/+grahFf54pOFrJBArT4pNIl/bkjbdt7aiYF7UP8ziYPJpINKEJB1DxVNIA8SEWFrTQEiBmEe4OH40L4XRGOHnZo5MxOlYwFBmbzrTN1zqvlOLX/uPh4Ob+t8Vw6X64ovGn0vSYAY43C7wpc7zv4a12JZGbF6V19W/grBhSbbeu1PqnGwhaIcISiiP/gaouSWCiC8muSiMwGJvoFlnSYH7kZNa/xBSjcfdQR/mid2KzkIye3R1cWgpmMUWsKyF1NYWOzm5buL97usFu9rec3ah14db6ReaArjrmo0LZOnlR4mIR690sIcjUhl7IHj0Hd/P9RCnNc8ruXtM/uxk8tYQO5aBPqNfKOtvYxrInFh+Cv9mMEpu2j7S0bqokC3fvSHm2H0O80grEwG6veS+LeQhj+fbQmWMVXtTcmrKVqH1I5aFa+g1MhxXx0oc5DCbnzalOl79PVGGRFnMSlDiZ+pP+84SxHDL/RxRRXn9wBtrnOD+JBwu00pyIJv0SlSdcYcfOShyXW3XoAJ7MBYvOo8TJkQUaGQ/4yM2aKglqXuAOEo6N X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: tt/gMywiccJncHoE6KjglYLhbOQ1GMI4SRdkbo2BVepFlJ3KZH+WdsNMwvEG1jE5rEKBYMUQu5gsMF2gaE7sW/1sUTMY2zabbXSkJSovU7ac01jP0BVe7gffmnHz08n7yduR1r+rJysECf7GRLO8nN2romW/yImyng9A+dFXNVYJ6Uzha50EGhKoRozH1fftuNTzLPErsnJ9ZXkCS3sfsHFPFOOo/MalagW81VeRoCAwaM5+fqXb8QnVRqHQy+QgbgbSB8QIRfGnP7z4U2YPKoQoHQIfFYPwdJ69Z5gVo8NAeeckPxS+QIx9AM8aekg0Xf5/H8CHGkH06XrE6qk3ikv4RtPjKSrzRm9ZeGSSEMV6XVrF5jLgwTS02Z5Ygj2N51inexg52i014+3VWJPx/GfnxQYQ8TgakYXwqA0Jt2KRq9GCBRCxygjR5PH3p2IbynlfMmeYAhH2NMjLLau8y8/IOqNbD/NYqNzZ54D7EFWPTgtMlxX3XfA9wi7WsA6XfK+oFtno53fXqPieXZpVLvumu1sUEQXmCo3kjhDrwpwYGCts+uc+MIrzczZvXwTYGhuqJ8Y7sWHpmcRIIWAYgrMMpx92Ru2FRQzA2UmwWQfFdQbx2zDGlnbPkjvc1nvj1Ws3cbNXltGWesJEeeaGRHbvvPD0QK86gqlWPPZpuY0ZWHiiB66++i7NlGhLl42T8sf+nKNfawjpVoqYKRjx13YrM38lgmIMCaozXNQ9HGveEydU3qf/crr3jGmc3eiMLFY9G1GBCf+gk2pWLv1cC4srJpPft8tKThTcMPI2y7d+omJ7iMI2b376IiGCPE03p/oNIeHormtbO4EP9JSSUxAPjUZnYrpBZG/zhdzSIqpcjGw9Cz/0W4h+LStHUL4x01vo2d/pcDFLDJJuHFwQqJcztrHag7uZlQFWJJfkvFd+OThEX0GtuXhy6BFfZMhQvIoO4VCHB286SHjCdaEk5r+tQVPHx18S8fxpdfajLqsNYLUWRJxgn4OAz43QYSHe8qM1WlEvDlK2XwcQVF5Xyz8xxuBkK38Vskgkwp5ZLzKILLFKqWleXGcI2F8urHdKUZStFCaEaNi4pTuj3HGiHDaZb+YDCG2h5gaAPdMRCRjhxmgAAmO3VL0BIsKWc8BKFqQN8x+5+9I/SwdA9QTJ3miComir83pOzrrnUryNs+CW5d0SrnzGFxmXSUsMcqhWfXizoNagSc6AA1SZDniclMkTsQ73raDMGnXIJIrzaN7MduJwadUXobIAKJ99/K4W8uv/aajZoLzHlttugwbN6E9YBZUwZQz4S65OrlwcSqlJsJxUOQ58j5fchGJ+vW/x X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dbef9e3b-fd0f-4d6b-b41a-08dab3a0c323 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:47.8102 (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 14/24] 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: /ekIDyXMtbBS 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..d6668338fb 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->permutated_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->permutated_scantable[0], ff_wmv1_scantable[0], + w->idct_permutation); + ff_permute_scantable(w->permutated_scantable[1], ff_wmv1_scantable[2], + w->idct_permutation); + ff_permute_scantable(w->permutated_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..8e22361f1f 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 permutated_scantable[3][64]; WMV2DSPContext wdsp; uint8_t idct_permutation[64]; AVCodecContext *avctx;