From patchwork Fri Oct 21 20:12:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38889 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp956467pzb; Fri, 21 Oct 2022 13:14:40 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4ODXTIRq80FV0CzZ/UXd8X6d7cKS6AF7Z2ppC5rPWoe4lPIq/LvMWqJrsv0G1XQZxoLUlV X-Received: by 2002:a17:907:1c17:b0:78d:df89:26c6 with SMTP id nc23-20020a1709071c1700b0078ddf8926c6mr18010132ejc.20.1666383280278; Fri, 21 Oct 2022 13:14:40 -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 p26-20020a170906a01a00b0078db89b2566si18695826ejy.699.2022.10.21.13.14.39; Fri, 21 Oct 2022 13:14:40 -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=jzVafIdH; 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 D455568BF2A; Fri, 21 Oct 2022 23:13:46 +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-oln040092073083.outbound.protection.outlook.com [40.92.73.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 778B368BF1C for ; Fri, 21 Oct 2022 23:13:45 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lweESvHdmUWTShLN/bcFjYTGEipm19R/azXiAdtJEG79bEYTKtHtv3vEGWOYWbX5GKq98oDmBvN5H7yKzJsQkb2MNAUUZqtFMgjLLli0kAvI8BOTwIiR3eeefv7eB2b/q1Hcs6aUK6CvPEdzoQ0Sg4F7ehahrfeNxCeCrwtyLlpK6PIuiNekHgZiMde2N6pt8fsy0qkLbwyXsR/ZH79IFHutFq7DMzeDv21RRlxAZUnMEmCzSbCgXY1LhUPhu+lFG9IufwwxcKrXfSyby+XUQIUZ/BHSBJkCwhOvTAQOuVlco1Jk9Fyb98q7j1riZHh/e4JAIX+t1yZhXAr7QFCACg== 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=EKHchI4hKKgjPSa+76+QU2ROABi77J3J3dfTNDYzS+g=; b=ee3oz+WwhNpicm0bP8VjRW5J+3H7LbRJXJc2kSEFUvtzEWLzlZ5CKgHdGr+jU9N0ZLzTXmpBFJby/KTS60W3boZRwLNRTbDQcbaEb5WC+xj8ECwP3lNW69oZyUu8FxU1gq74LVxA/MGCY7bwRYrcKxTW2GtInEUue4IrYn4n+DITiZQdszOHUgRqehbDu3W7HRKYWg+biDhOug94oFJTZIunMXbxINZ4Sh/rC6IISyka7gEBJD1GNBEnCXDsXyX/1MFSRv/BwDoeLB5HTZhtrif9LcWu8Y1NZsIZV11JQOh911G24cF3nI7dn6UVP6ECfgejG2Jx3UN80qKuOSG8yg== 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=EKHchI4hKKgjPSa+76+QU2ROABi77J3J3dfTNDYzS+g=; b=jzVafIdHO5QGeXq5LnEJPfpb9ihWikVJRCrDrO6vqQ2GGFVnAB35YxZlhHFw3SknLldu3GdnLdW/FA+5O3WR+HQvzNpr5TgBEWoycAQn6fwjqFJmP39byEOdIsuM40GGkMrvZjQ1XIgZJKlOVTpfUJQlI4V3wUqIdpAuP6HXmPU20FYWx9Y/YplT2w2sqsc68gRrpqQ4jFJtt+FWLyDX4DKFXoXRALsFcMRsVl94lH15Aoec8K2VKPmQ/nQ5Io0n1gj+d4STdJ+0BwXKXT/NDYmdNIh4p6PTYF1sf51aKzkwK3aaWAs+XEEiekT9Jv+mZa43kogplqSKYBnnjES0jw== 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:44 +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:43 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 21 Oct 2022 22:12:47 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [if8Aouub3rKKkq/u4EMXNyQ0hhDEAToESMS+yoxhqdc=] 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-10-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: ed36f6be-6f86-4fe4-f2ac-08dab3a0c0d1 X-MS-Exchange-SLBlob-MailProps: ZILSnhm0P3nnHDnbJ910YUAai4EXr732GLpF7LsTwCxs8MSDKgVGq+Lw9YwnT4iNPj2/Iw+b/OuGDDPYDJHM4/HmGQoAHvsbWixSxR8+6r4/h1/D7lI8KHrexNrJR9OAU2cPhYvRj+/sv3fY60RqQYYl1hbqdkFdf8RHMJ6TFzxw/idy0r7pTWWd0HtgKlx/yRVA1Y2Wjb/cMENVG8hPH3Yuu8DXozAdbmDwCBwQ8wYJ/r3Rb1OhegVLMifAMAOgN9ApfbE0fwWsk9JEJQpL3x6EcuBUjIyBqDt76qB2e8u2kK34ctX37QCD7sGdDliJP7I/6didGswkWDxJmlcYFXPIepn6X7l9ZNdfT92c1YXJaqgL0Cj9C80W6yMYshQw4ShgFgqhg7oKBv/uYi184ar4E6+yGfwsnjrPToazUzU8ViS5fXX3q/c1ZbhJeYPUdRAiQLZf8OFQHpTEcCSjjMN2C+gFvqkfB+Gat0+5wHc6p70prh9OUmp72DFwQAmXvlfIDODc2rDnoeNJWd26Gv5c6jqqD2Upj31OxDuo0c/lZ0HOydpbLvwjVQ5RvB98rfcdkdTh+6sz0/DMY1lrr0Njg8/tWfkdl36CMom1BhUWqXo8v88MvkbkGSLqRNJrKhl1fmFhe3/KT3uJJdHqxtpO2Ez6pmBNkvNS6cpICvWokdDy8ZK9XrXvX2ULmI1u9Lo7MOD5G/hzaMszKhL5EO965J+HR+/FPMmmvoX2+tt1qVFkEC7aEsYNfpAxQiCja+Hhmy/aSuTIjwnTu5E2qxBEATvPvw1u X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qKnWqkCc45D1kHoRVQ5lu8FKFZ1L33X89jYZQAgUDztVqwvqHS3lulhHaxi5oLLCKV2K1S8t+ZysKaEOg1Xgr5nQaX2nIuGxNdKvcM/EjxSsGyivR9buj6pV5fqFJRPVpqiyNGqslXTYKCtWBxj6OPG8wCets9zjCsvmajGpbnlh1CNpUMk7FOZnidpmS699ARjnXYA++qPCwAvuWVnVw3/RP2KfMZ7jg0qQOPidqz9QBScol+eKtFiIDd1YYD9o8K1uFbGQQ4OYnmQFI9AySq33fO/zuOB/Sx1yCiWqFsewKj75EMqAcwblng37b8pLefo1H/pOh1PRRs031PlZEo6RqGSiHkaI022WR3c+dj15yrANWYxa9MNTjSEBGN88goNPRj/57jR2sv23t0AVPjYPAqhRx0WuSqWU22QxOOC8Z2ZBOxpYwz+s8339opmQ98VCvyyU5TbqNpsoOgda5FjFHek1YwghNtMmBKGrdg2eeSxRvlb8p4OG/xoHMBfs63vx9KNwUnLvL07d3N301h28frJ68f4eTSqGjUsNjFlUgzQXwO36h6oNDlhDOh0Zaovg0M87US5O7kLNLWa08TrjxVJJdje6KYiA0VNx7oYjowXJ/NvpmoYKza+60Ht0AX1WLzb8zlxOVbec0Kj3Jet7SHmVM9qai+pPVmAUFoPK+9VGNXy5YFN0vsLAYlUP X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: V68EMDixW9ZujHwm1r1wMg4JCEux5pmxNvrvqhXOeEoS6sVuRsCZ8dVoG8/Tin7nJ/Oxzx5ui2oOi44PqnrEqCu9ZJ6T2A4LWN+jL86AZaspRNffCzJcmWK8cYEvCG0MkrJIWL2tkD2rCQFN8nZYUJaJEMP8k3vLopL/e/qK8sHQatR3BldI8hZsWgDKrISKjeqxDud5IQSvRTJ5aqt5NWrq8XhBO6bBT22zlbJTKQv7+OU345nwZ9BXAaa09WCuwCtmj1E/pG86/sl680Ty7z5lVJK4O+18b/gthK5D4EHIi5s3P1OLozIXb0xtJVgHqs5sUlo0BiZdgXz80rqF4DLgAA+cyIWRel9XLRMEbLPczK0OR0sQLL4/AeJclhLyNiXXKs8hDO88iqumxKq4lDTL7dR31xBLcH95hgXI9XGzzFve+j22y9hCHSrbz/7AGpQsHIJl8kJnJuHeKYpPk5yCYlh+HN5TdXL4lzpXm0A9dw8ev2qt5jTQcd6GZ1jWal8z4ZeF7bZfj6zyviC03YN5tWD5drPuwUzY5pQ2QilxmNaixr7un52sjzGanjQf9C5AmJ3Lv3siy+dQlaZ7GRumEI0vT/HkdkTPRNJ13I4m3AvnFebleqnYRJ4p1J83F6/a3u1lX10cWgCsD1Obr4+KAypPb130bIyuIgx1C1IL6qlhdET32gfUuuTn4oO+lorbKphA80s3TFsqedl683t2pdeAU+PfMvgLNefh8+odP65jS23WtRm3khz5oSdvjzd7CQYeIfUFgnaEFyMw/TKMVLPBYfQg2K5/ggQgeni4KfYaWRzQaFI1vdRuFBVl2R5L3znwQpqYMPAFaOpQoYrjbAxL/uvUS93W1F5Tc6yhLmhrByEKXNmfy6lbBl6LOaiXJPut4Zplyqw1qnkXNOYyRLHfdQxiMLtKZi+i08VHIS7ZX7jHFEDDEVSu87P8k7fmzg13UovuRF2y0GXtM+yTW6P8h6LTyS4cFuTAyk1ElYVYw2ixNKzZV7/jb5tKQlCdruQZCZZyCzINHQw2x4cvVeQ3+Pkh6aqGGfcprog3Qvfh1FqhqV9N2CgqIYA0gwzt+P3wSfwysKyVtexu0wYgJHgpMTj6Lr/lCeifzY4BP/SoxUONJNHaTFcIB5uvdMxKRjEKa5oMzAd5gBGGVXSvdYreSvy/Cdoj7BFSsGN+JxoXqJoULBe2epgc5ItFKRxvgz3VdCynHDv/91Tp3Cgc+KflMgxX+zQTi/ACkNrcA+QzaoKbKjMH1Imu4z81DlIaAi1pMpGkWOgXfnFy5fMPzDQaG6EdpOGwBRb88bYYLAJ48/mwzRcT6F1x9ka1 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ed36f6be-6f86-4fe4-f2ac-08dab3a0c0d1 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:43.9500 (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 11/24] avcodec/cavs: Only keep what is needed from IDCTDSP-API 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: eMLBfDBebPlQ Namely ScanTable.permutated. The rest of the IDCTDSP-API is unused as cavs has its own idct. Signed-off-by: Andreas Rheinhardt --- libavcodec/cavs.c | 7 +++---- libavcodec/cavs.h | 9 ++++++--- libavcodec/cavsdec.c | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/libavcodec/cavs.c b/libavcodec/cavs.c index 6d54e8eae5..fdd577f7fb 100644 --- a/libavcodec/cavs.c +++ b/libavcodec/cavs.c @@ -792,15 +792,14 @@ int ff_cavs_init_top_lines(AVSContext *h) av_cold int ff_cavs_init(AVCodecContext *avctx) { AVSContext *h = avctx->priv_data; + uint8_t permutation[64]; ff_blockdsp_init(&h->bdsp); ff_h264chroma_init(&h->h264chroma, 8); - ff_idctdsp_init(&h->idsp, avctx); ff_videodsp_init(&h->vdsp, 8); ff_cavsdsp_init(&h->cdsp); - ff_init_scantable_permutation(h->idsp.idct_permutation, - h->cdsp.idct_perm); - ff_init_scantable(h->idsp.idct_permutation, &h->scantable, ff_zigzag_direct); + ff_init_scantable_permutation(permutation, h->cdsp.idct_perm); + ff_permute_scantable(h->permutated_scantable, ff_zigzag_direct, permutation); h->avctx = avctx; avctx->pix_fmt = AV_PIX_FMT_YUV420P; diff --git a/libavcodec/cavs.h b/libavcodec/cavs.h index cbc163fb4d..244c322b35 100644 --- a/libavcodec/cavs.h +++ b/libavcodec/cavs.h @@ -22,12 +22,16 @@ #ifndef AVCODEC_CAVS_H #define AVCODEC_CAVS_H +#include +#include + +#include "libavutil/frame.h" #include "libavutil/mem_internal.h" +#include "avcodec.h" #include "cavsdsp.h" #include "blockdsp.h" #include "h264chroma.h" -#include "idctdsp.h" #include "get_bits.h" #include "videodsp.h" @@ -166,7 +170,6 @@ typedef struct AVSContext { AVCodecContext *avctx; BlockDSPContext bdsp; H264ChromaContext h264chroma; - IDCTDSPContext idsp; VideoDSPContext vdsp; CAVSDSPContext cdsp; GetBitContext gb; @@ -220,7 +223,7 @@ typedef struct AVSContext { int qp_fixed; int pic_qp_fixed; int cbp; - ScanTable scantable; + uint8_t permutated_scantable[64]; /** intra prediction is done with un-deblocked samples they are saved here before deblocking the MB */ diff --git a/libavcodec/cavsdec.c b/libavcodec/cavsdec.c index 3e8be65968..b1fa9a981d 100644 --- a/libavcodec/cavsdec.c +++ b/libavcodec/cavsdec.c @@ -521,7 +521,7 @@ static inline int dequant(AVSContext *h, int16_t *level_buf, uint8_t *run_buf, { int round = 1 << (shift - 1); int pos = -1; - const uint8_t *scantab = h->scantable.permutated; + const uint8_t *scantab = h->permutated_scantable; /* inverse scan and dequantization */ while (--coeff_num >= 0) {