From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 1024540D86 for ; Fri, 21 Oct 2022 20:13:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8155768BEEA; Fri, 21 Oct 2022 23:13:08 +0300 (EEST) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-oln040092067050.outbound.protection.outlook.com [40.92.67.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2B87968BEB7 for ; Fri, 21 Oct 2022 23:13:02 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WIsVibnnQhUVnVYv7MRDPi7QMb8Ft7VWu8CK2cJXd7ulhVSvvdRveEapRGLutlgCw0AdyiOp8Mbi04Klgcq41EwohOmXekGIg/IuxVEJNb8WZ93iCfXOnpFxtbINpRCbRmxOXhw1TeLjylNsIo1vezzkhpFMDjL87Wwtx2KZ0bDV6URALlhzuUfZ+WvnKuBXlT/J1xrPU6S55tSq2WGuNW9y+QzL0FaUp58X4j/APQLRNYUmQo+XBF6m8kWEkjtc4898IhRHhIwgCfCQS/NgOVeeSDW1d3RX66C18WGccoPzws9v34hMO6p8tl1p24QKr1WQZ7fkaLcAqCdRZSVT0Q== 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=Q17+zcRBxUWse4Pj4SGEFNH+jyh7gno77WfrlXeR/tA=; b=Co4ILDbJVyhwfn9rfRHU/HRu9MTlN8y1arQHA7YQQsf/IFJiH2/vnSjkP7v40T9re/99QVI3xfM1HXBKLwLf3ZgumC7qqltaJnRk3S6OLqNgmJdP3bGWWUHwMys0TS58X/CpDBoPU9lMx8hrePsnxw0O1LQHKsG2qZK9ZE/TdP00iuuyMDauHQlpgyDQp+NlQZ83EiiUfAxNXGl3mlpIJXkjuf6a7S0ZUXwu0uWZt1P7nJ2188SwDY/8Ng5/G7JNb+ycOPO5MGCpd9MHiuXvAUoogMpTN+h21umlY171gm51GJB3Pjk3RUkkoy9hJB2+LORoe1mFcgfMz0rPbSc07A== 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=Q17+zcRBxUWse4Pj4SGEFNH+jyh7gno77WfrlXeR/tA=; b=Glg8AjxTs/9k1ZgBom+VUHkgSrLIFlclHERMociCd0kiIOGjNbtMyJ1Jbhmi80uVT13HJBHjfHVDZNwKUNeutWDFkIPSPOA1ha3WbozFtFV8W762pRa5wvB83vmWrEDrVDfQoS0uW3o+qw/HFthcTsyEaGGceUCnbfOn25HypWSzRoGkbV2WpkfPVi6f+Z7iwml09toCx4VNh/XEaaHgHAcfC5GRjeAx36tLnu9D6dQu4LPoksEdoR8hGl+1I084JUtGxrzFj2Wy32DlQTTC+u+kcrnnTWpQLf1NMkbaQOvnxjxtmZLSD8ZTK2ktI4eFJVzgDTpmbGRj/+aPgXJMhA== 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:12:57 +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:12:57 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 21 Oct 2022 22:12:39 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [AxKD09OCj4J145fHpud62Ky5hzuLnLylWRQzOhXC7fc=] 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-2-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: 20a6f28f-7f3a-437a-dd85-08dab3a0a526 X-MS-Exchange-SLBlob-MailProps: ZILSnhm0P3nnHDnbJ910YUAai4EXr7328lY0xvIVIA+6BWPu/xNmd/HrlFihhonT1ZPgNnZQsLMsNFkmYflO/l8sLy6tcMH9wTBK11Xyvwfiphepc2ZnKEUb2/j8nc5O0IRJ4D9LUPhiPvblKCnna7FuYvlINQsD4nHGc4fZ1iVlCxCcINifguj8ZRW8d2368Iwqw8paBnFgM9IwDuGJUetihqwwuGeq5bIYm+h8QF9aLUNRVbRrXKiCuYwKjJppTrxkTIbgigwYppJyDs41cbpMHbnHEdYpwPwE8kybQ8V1FWJsLI5aCl415xqYrgIOe+Ox4t4fQ7xaGx9D3TT01CP6dZkheIraleUaFkeJsMpAZSIWBKzKsRrwgiWKokrQtiFcLINuDj1GgkWzSEhaJyV3sl20O1GqRksn8nQn2PbS2MeZ99euOixqj0joXSIuvr1FPPPVaiBHcDB2Zkg+Ks4xGc2X5V9LDyAtZq6LLQnIA6YyuL8G1zk5yO8r/91xJhl4TE3iJzM47SeJCyGkkzuBF5iCvLpmSMlMu1T2lLONcrzYrTrdnGa4adJOtcbTOCmVi6nzBA97PD6j5J661Rj3ARt1BrwqYrmawv4JgJtaiNJQezZLRrPfses3JER6Zst0JlsHeXE+B4bndOdwEkZVROju9ZDChkWiNWrBdNKpcMDwhXLOhdj1zgesCO1sD2NQLy6c3g03UZWRGgvBr/g6hWQBvHwPoY8EIXQtMTBUW8oI6LxsYVo6DnTfc+zUanfbZhyKXMVRp9AxLicziTDwhzQ2pCeD X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dgvz8ThZ0vbSGAinY0pZysich4aLY3DOKDBS9AO5Sch4BBLwwZIJozaw5D1RBViC1hnKtsb+qCEhkBm4uIENuNbmtE5SURpTjoaGgATpaI50lThsfYuFTWP9U1wK1xbTZJGfnsGYjRf0S7p91YoflvJQ1rkHtYqlUIOZonbYoqQrew/QGBsVW/MwQClj4Fvfm9qGISh+q5gwxepfwLxRKI0XoLIXRCndUHQbd0Nm32NDk3MgpTl+v9TSlGrDBHRHgUGcFyeBsnbOaj3YYOW6cVrNsxT7ktIi4S+6+xseOsE1kusNb4SMARjQNdpEDrYxxJXKX6PNhV5jm4o6e8PjPtUOKg9keQkNh+d/+ZVCmCloqlRMhZdx7AiWZLQSglYI02x9FvFfGKo7OL+R8ll/ek7o49Mlvoptc5JSf/G6XBrMZKVneiyFNR6hMLCL59Y3CWQ9P+EIOx90JmV8Re9vftPuXL6EHK/F1zl0IIaeaTZpAmB5gTSgjQK+DS6qb0hVqilpd4NYfqNo8F4+AjopvINPwoszgoi0YNMmvtFgxfJ03Lw/jW+v72qKgBjoOoPnnFhbBu77pEREzbJ4TKl2RK9H7l5dc8guPwZaXWMEOTog2huMyimvxodbdXzRHIpxezUr/jMYWaT7KAjgnS0UFYuAbeEh0OZn7wDdQY9IHvmHeOsevdTGwVCF7NPFx57N X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?AE8p4K9MEGPmagh5aajKnsHxVj1cCi258zcjSMX4+lFaUIoy81AijQy/3z/d?= =?us-ascii?Q?A+gM/YBk1Mi2HRYePOrjhkWnnkXYlsy+uvadSQ+k1wo03YDk1hfCGzGH6dhW?= =?us-ascii?Q?DbJTLHg/qlq6Dzcyix1Xr0B8mAD3V2ZXDf8Clyt3aEmo8UmcEozbKjaBzZf9?= =?us-ascii?Q?GaokvvdIdhpW+JHnQYVdsX9itlcxDKiVj4U4b/be7X9fBouHPdsSHMLMkB8t?= =?us-ascii?Q?SE49uZHCaNhaFo6mTrZmZNT4BaTPBnj2ievaZlQ46eSCd/kFQ/w5X8NF2qlo?= =?us-ascii?Q?HvbdJsqeIvOFg2szXr7tdX1oYUjZw2n8Xfhm+hKV1zNakrrdZPN1rxwB6s6Y?= =?us-ascii?Q?od2Or8zlMpjNH3/5PpP005cBal+OG2yGdByU3XyVZAc/baWtX0yyMD+byrOy?= =?us-ascii?Q?df+Jx5h7CELLGQXsq7WrplZhche3l/3v+R9D+Llgr3gM1lDigrz5MCAk5+iL?= =?us-ascii?Q?QjEvvBXRzVdahEXh90L7h/9/eTEs5FMi1Kvk7RKTHqic6A4FiRGAZHAZVYuz?= =?us-ascii?Q?eDDdI0ldHz5hXRDhvQzedpfBuG9WmRYerf3KizaNoZ3UEO456/nsQK2tzoM2?= =?us-ascii?Q?4eAQhitIiJyhhdCVBg9qEKtsSHZ65WJVRBHhdkU9wZi3acMldUaTFIGBBkO9?= =?us-ascii?Q?18DbEntOcLNTfo+wFVIk0jRLT9HYYcvz8hCCLju6sbXEEmjRBXeyJZ8mMbt+?= =?us-ascii?Q?uWJdjfRfS+KxyqPsnwQB4ujCi9cjFMlwjPfW/NbPOueFlBWxGVmQo58NAhD0?= =?us-ascii?Q?SvK8PJ+btf4014/BFdGvKheR33YyvEc+ts9dNsT8w40lQ7t3ucSuccgh68xs?= =?us-ascii?Q?HGYt4cvbGv59BikHEwB2pIcqC9r47UB75vp+kXaSok1YtjUr57zog6RxJM2k?= =?us-ascii?Q?TRdHi6812mTY2Pe/aUVNvubEP8fFLvc9MJ5NiKhwPHf6gLwdw2GWfUZcwh3G?= =?us-ascii?Q?d58GU2pOu+1FadV03KIPiTb73hVI/A5rtonEwsujpuZj5yGfdayEoYPvKePt?= =?us-ascii?Q?qr1Jr1hUT/f+lpizyGW0UF558uCO23h+cspnEoB42hwKKT1/aHQnoIROWeMV?= =?us-ascii?Q?691lXSv2Q3/GF1z/mYXSHzBbYem1nBUB2JpDhlqMu/ksGx9kVqgfbsyqT+Q1?= =?us-ascii?Q?3D8Xo6MZOu1e+tQxBH3SyhtRYHqmlw28lRBpdN0uqienBjMHX7DTBAAbppZD?= =?us-ascii?Q?qyJP3Zg46SrO3glJtZryj5bmbttBqnMRsBa2GFVfz7iaZDImeRrYjR/Ue7wQ?= =?us-ascii?Q?Kiq50u2hBdMuGk6RhAGO38Z36JrGrKbV2viittk+AAbD5ECPLKO/Ai2uZQMb?= =?us-ascii?Q?RR8Ofu2A2eksS3vOX3NdjkL/?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 20a6f28f-7f3a-437a-dd85-08dab3a0a526 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:12:57.5147 (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 03/24] avcodec/eatgq: Don't use IDCTDSP-API unnecessarily 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: The eatgq decoder uses a custom IDCT and actually does not use the IDCTDSP API at all. Somehow it was nevertheless used to simply apply the identity permutation on ff_zigzag_direct. This commit stops doing so. It also renames perm to scantable, because it is only the scantable as given by the spec without any further permutation performed by us. Signed-off-by: Andreas Rheinhardt --- configure | 2 +- libavcodec/eatgq.c | 21 ++++++++------------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/configure b/configure index 16b2084945..84d7be8bfe 100755 --- a/configure +++ b/configure @@ -2821,7 +2821,7 @@ dxv_decoder_select="lzf texturedsp" eac3_decoder_select="ac3_decoder" eac3_encoder_select="ac3_encoder" eamad_decoder_select="aandcttables blockdsp bswapdsp" -eatgq_decoder_select="aandcttables idctdsp" +eatgq_decoder_select="aandcttables" eatqi_decoder_select="aandcttables blockdsp bswapdsp idctdsp" exr_decoder_deps="zlib" exr_encoder_deps="zlib" diff --git a/libavcodec/eatgq.c b/libavcodec/eatgq.c index a6c3e72f85..627615b4e8 100644 --- a/libavcodec/eatgq.c +++ b/libavcodec/eatgq.c @@ -39,12 +39,10 @@ #include "decode.h" #include "eaidct.h" #include "get_bits.h" -#include "idctdsp.h" typedef struct TgqContext { AVCodecContext *avctx; int width, height; - ScanTable scantable; int qtable[64]; DECLARE_ALIGNED(16, int16_t, block)[6][64]; GetByteContext gb; @@ -53,10 +51,7 @@ typedef struct TgqContext { static av_cold int tgq_decode_init(AVCodecContext *avctx) { TgqContext *s = avctx->priv_data; - uint8_t idct_permutation[64]; s->avctx = avctx; - ff_init_scantable_permutation(idct_permutation, FF_IDCT_PERM_NONE); - ff_init_scantable(idct_permutation, &s->scantable, ff_zigzag_direct); avctx->framerate = (AVRational){ 15, 1 }; avctx->pix_fmt = AV_PIX_FMT_YUV420P; return 0; @@ -64,15 +59,15 @@ static av_cold int tgq_decode_init(AVCodecContext *avctx) static void tgq_decode_block(TgqContext *s, int16_t block[64], GetBitContext *gb) { - uint8_t *perm = s->scantable.permutated; + const uint8_t *scantable = ff_zigzag_direct; int i, j, value; block[0] = get_sbits(gb, 8) * s->qtable[0]; for (i = 1; i < 64;) { switch (show_bits(gb, 3)) { case 4: - block[perm[i++]] = 0; + block[scantable[i++]] = 0; case 0: - block[perm[i++]] = 0; + block[scantable[i++]] = 0; skip_bits(gb, 3); break; case 5: @@ -80,16 +75,16 @@ static void tgq_decode_block(TgqContext *s, int16_t block[64], GetBitContext *gb skip_bits(gb, 2); value = get_bits(gb, 6); for (j = 0; j < value; j++) - block[perm[i++]] = 0; + block[scantable[i++]] = 0; break; case 6: skip_bits(gb, 3); - block[perm[i]] = -s->qtable[perm[i]]; + block[scantable[i]] = -s->qtable[scantable[i]]; i++; break; case 2: skip_bits(gb, 3); - block[perm[i]] = s->qtable[perm[i]]; + block[scantable[i]] = s->qtable[scantable[i]]; i++; break; case 7: // 111b @@ -97,9 +92,9 @@ static void tgq_decode_block(TgqContext *s, int16_t block[64], GetBitContext *gb skip_bits(gb, 2); if (show_bits(gb, 6) == 0x3F) { skip_bits(gb, 6); - block[perm[i]] = get_sbits(gb, 8) * s->qtable[perm[i]]; + block[scantable[i]] = get_sbits(gb, 8) * s->qtable[scantable[i]]; } else { - block[perm[i]] = get_sbits(gb, 6) * s->qtable[perm[i]]; + block[scantable[i]] = get_sbits(gb, 6) * s->qtable[scantable[i]]; } i++; break; -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".