From patchwork Fri Oct 21 20:12:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38897 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp957381pzb; Fri, 21 Oct 2022 13:16:11 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7cakw9GUSEpbhLZ8UfqUbHzsbEPxJp6wgm+0fFS6GQ4o6a6ZPPG6fF4UYh1Scr5IMUS9wB X-Received: by 2002:a17:907:74a:b0:77e:9455:b4e3 with SMTP id xc10-20020a170907074a00b0077e9455b4e3mr17355149ejb.471.1666383370815; Fri, 21 Oct 2022 13:16:10 -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 m22-20020aa7c2d6000000b0044e9fd71b82si17591703edp.280.2022.10.21.13.16.10; Fri, 21 Oct 2022 13:16:10 -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=UnzmOXY0; 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 8510368BF72; Fri, 21 Oct 2022 23:14:05 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-oln040092075046.outbound.protection.outlook.com [40.92.75.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 270F168BF66 for ; Fri, 21 Oct 2022 23:14:03 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OBshE167FwHLRNmtPbCd/O1aWFEGSS7lHsLRbq30/bI6gRvJYe1aeWoMAOo+Ip3H97p0iDp2ZDV1EXb1yydf8fE/j8t99trPqP1v/aSDLGpgLsRCAMM9L/EcGbqD0sYr61F7yng+pHtvw9wUTIi/dtk0+PDgWkL0M8JwpL6IAHp1W0KA7KMfY7nTiB1PXLizqVRfriZhrDSm5LXfqlf6Ie2/zUMnFOU5hm2COKLnX8rU81Dq3pwlXOtAs199MBD5FDh06ZFU/MCXEkJmC8cPCVcT652kWdmAkNlbsZ+fceNGes6ld8NgmDH0QH+OIafUXgZqF7fYj2ZU/1rVJrG3hA== 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=WeZLpdaJ4aUwkq2LWykSEkrxYZegq/sI9VcmoPYM750=; b=IVGhhscjArJC/J+wr4UK5Rliyk6CC0oCxDZ7Qx4hdaCKhZdGQcnVEX9gt1YwhNbdyZT9i8CFpCv0oqOLk6aRw0odoUsC1JolBbF620hhGTX16q5eUAZnExuZS/rf1erU8W4ueJfM91VFGSJM7nWLakyij44XHJLHZ/PMEz0tBy8fgrLpKwC8PkAqcvfM4QqFLYMRgfY5FA2ZsbdWRCr0a2jqWiJd6Rwt9sEclFWL8mi4dqzxkjlgEhpkMvQdwD00S2Ab+zMUYAwZIRUttYhP4cuHQjhXETb7sKTWS9vL55CJ9ZTP1RJgN+3Ef58ggkfVirk0u5IOX/0FJPDfm1iOVg== 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=WeZLpdaJ4aUwkq2LWykSEkrxYZegq/sI9VcmoPYM750=; b=UnzmOXY0TsgSQTL5B5osLRbjtBKjkN5N4G7X0RnKhp2BuJJTeofo77fFsRQ8+f+PSc1pVy4WZGNF4Gt8KnRsS1za40S8lCCLN16LVAxM0GkmDAO8W3kQH1l4Z9hneOfQojt0Q6O8DJsPKzbZJi4TsrDvTHDZfVvXBc9rTD/OTXVcJUsH6xu2fFhWrUfOMrBBwnczpZs9kYqHxMvys3LDHN44508jR+qGyhiEmwRkqgdKTFg/b884Dtc/I3rpGJVzhT/+Z+RabuvWVHu22QZJdFj0SK7JJhrF8Pc02SwEi7PpIaTzCZur/W6EB43JtgjDLpUSfsaPBVIlxCsWzuAaaA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DB4P250MB1007.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3f1::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Fri, 21 Oct 2022 20:14:02 +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:14:02 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 21 Oct 2022 22:12:57 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [hYAia+KKM7zGeliIN7UnR+SCRk3UmEqIJI/NZFABWlo=] 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-20-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DB4P250MB1007:EE_ X-MS-Office365-Filtering-Correlation-Id: e7d6b0f9-f28c-4dcf-4744-08dab3a0cc0f X-MS-Exchange-SLBlob-MailProps: ZILSnhm0P3nnHDnbJ910YUAai4EXr732/mE/r6RuYOe4Icg7j0LjLrFBDegm5wkzyvzmEI8meDbqRdqvArZx043xgPMgovqMCUdTGpcVnzU4l+QqQyekdJbmWA2vf3dp3uWmKwYbUdysbh/NYlDyIrV/XvWnttRm9SfaadTI2Yw/3JGOFpZFxJLefZp12zQ8C+OvRBICigxXthPnn0gXs0WjO+woFYFwWVUZ8QFHMtUj8l39pkB/to/OSDY/JSu3gqbvq3EVNbfRb+5jp89v9YnutkG/kclxPuaJX4z74ccR8CInWv7BdKBCUJgA7ghyrs9f8l3pR+1hoowlYdEZlSsFSjIDKkJeHkDUSCTPKK8TM9Mx9JaA4SJx9zJXkYOWKY6zGvLed/mumP08cS5Xs7r6/Ub0G/sPK88gdUr/k4KlLPJxR7o34OFvUih/BMkHm0ZbDT42m6SdrlXDagUIjKtGZ2TGCeuZHNDHcj4P4muTDwtPXBweDEaoDvZ22NmX6n7KIlwI9VpbbeSgSBaIBYIbtmhSQYno17B8OJ1rQ4ftY+Denir8220rDh0fD++CYiWLNtOOsfSIv6JGBwoGifpdly2ZcqhOMU8Rl3LBWeMefxcQk+zhmS51uWFK3BJKZB4IEIuqO4gkKaJdBSwfio1Uj4dzhM8jbr59TxR0HoXjNzuRnPO+xOn0326ltZAlM2w0Nx+MzD03zBMfyuWqOag6U/7JbcoKY4tmcbel7FI21drB1l7C9swtMMFTAGyFGWAeBC0iSuMOEbvz5jmD2cKcjy3gg1oT X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YvE/tLLwmaN4yFcSBwKSBNutcw9oVPntKUWbOnk9aMtgwiJoy0ALXU9cotSEazTjnm6UiXQEdfHae/GbOQTI6jiCeTLFB6cU8XaMqt9pexi1aUJt2QWSOOEUeKlUNn8jc0iEgQaLl6QWXzRD38+DI0VblAYsc0Dk3daY0TSbSaq3QPWZ3m/3o1tQ+a/7J531u21wmNFMk4CFBMqMJKdct112CbDeYAfjdSckXKrzlh473Hc46/xZLnou9+NJj8lqzm7r1qhtWfe4TuM4zlXruAF+5KdXtex3ormHyvU5d1tFcJg6lpdxRMazqs6arGjH+JEKk4JlDRbPgf6CBYUlPe36+aLtk+icEFPjTBU1M3i/K2MCbv4SKG007AfHqUgSpnxWh3smLJLs6xEgs9lMkXIzVQT81oYYsMq4RfvbDaYB739/IZjPfgtimR+qEuP5lYvFUmZCykLhH0JDK9xxibdVVC4SNCKNiR4MaCT9fUbsRcNnUIgMgXby2fFodsAnerQp9N3QW/sw2nDWZxveMhXju59yPCr6ntmcQu9RDfXY6UJDXpMSNkgi3QhA3rQfjdp/gy2nsokvwm4Hv4u9on1JoOACGd+f49nt6HFqwJXC/8p4l4OzOTRxb3r+TJ5trScjaWUvvYg8mtJYxN6RggaAlr/7DC3/UxdpiLoh/wcNKDVm8ZA4Osr/FDdlKU5D X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: OQyWQim8hMIQT8vygsY3EztG1uoIjUkcEPQ2u1HdVwU4Lx0NJkdj0lsvtYjI9ISkBMfxgIV1hFcr8bjO1ClZ6bnUKavak0YQQGBkt1EB+InXiZLPwbHgTds2rjbVwiMMJnFi20VSf8GtOGQ14vpKrDydkW7aDvG1U7tHt1hWxHY8jHpvuJ3c3E7kMg/sM6sIWPZzvLN7wi4hULSJHTYw5owZZ8vl69tJoH6PGOFiTfACAPAdFJhPLlxUpcXDLjlzRv9/EkyE48fQD09aLHZZsIldxIcjGYo03F6PBs/x4Rf8WoMJnBcroTpbBGLkcrWpOwC0mx6SLEBKdXN483FubjIhPoY6tUfq8ZL7H/n4EQvsG0HVR2zypfG3WHnMNy+XvuaPXhYGm4Af9FfHd4zQKPnWL+VgH36MDFpnoHw4h4YXCCbV5QqrPoxpCMWXW/g6I/Ar9+F/mxWXBvFlUYrVN8C0DwinBtqEYV9SFdNcCoP2OativWI+qrsO+M/hp3y1ca16FLfHSBLJd30KfDlaXa0y+/2AvVisj5OTMGdJoHLuMx+U9wWxYCsqd/yYBovwAmh3p6ypYb20IxoGPM1gROSSi1JrLzeliOpGdJf+PXiAc/6/qrVuGsUrpT4omiWQA4HlN7bJTcxb864YFKvuxoxzj0WJvKS6H4Wtzqwl26rrjbpvFu4oKgWZhBruHmqbOQ+/vlYzaA9UeUp2oesSZoejP80zQpCBLksP3SugzPI/LMlNUc3LyiDO3d/wUuBb3u7LxU0pjT3bAQFalKDCCsz9imyn+GZ0JSTHKfUPqeKT7T4lstFFUu+4n5o06qrZneY3DWShJR6+EBvvZ5X9DnJtydVpiNcaw1fnZJ69Dwik/Oulnr6eAjD9KPbUJk6l6uyq7jHvjJOcDBMMbD5mNRQagfdQvU1NHWYCObtxdoDbemK6iyhRQW+GJ5OCDE2OdydslPNUX1b8AOalGLj0rSCosmnxhZg6zz3OUGng6n09oQNFMwe67/g0F1i5OQM5+1gNQb7T9ly78e4p6uEbxUkVCfjGdWsBLgK6DkEn4BjKZbsrrtFrkbpo4250V5tFPmdjavjWo5OHnnAbTUkA1GtHcRcXX8XKcGFpezxb9Nm7PWH3W+aJF4auD82O1WRhbtkM5UUiqqfqXJD1wNX900h26kyW9X7NS3o0gyUy3NqAZAlHCqmm6lCq41Hi7GT2NDTOvePQPgrp56UYb5SSvRbdULlic/WqRYMcBk4KR0eAEZ1z+7EDMwBVnVk9DueoEdSk7Jp72ktzwrZyg6Ze2XkqPqZ63Wq/B5UTe06zxNSp9JOMgFY2tWYPD06RcX5S X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e7d6b0f9-f28c-4dcf-4744-08dab3a0cc0f 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:14:02.7913 (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: DB4P250MB1007 Subject: [FFmpeg-devel] [PATCH v2 21/24] avcodec/idctdsp: Move ScanTable to mpegvideo 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: b5AGyPuVRLs6 Only used there. Signed-off-by: Andreas Rheinhardt --- libavcodec/idctdsp.c | 21 --------------------- libavcodec/idctdsp.h | 11 ----------- libavcodec/mpegvideo.c | 21 +++++++++++++++++++++ libavcodec/mpegvideo.h | 11 +++++++++++ 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/libavcodec/idctdsp.c b/libavcodec/idctdsp.c index 50156930ed..7216afb094 100644 --- a/libavcodec/idctdsp.c +++ b/libavcodec/idctdsp.c @@ -36,27 +36,6 @@ av_cold void ff_permute_scantable(uint8_t dst[64], const uint8_t src[64], } } -av_cold void ff_init_scantable(const uint8_t *permutation, ScanTable *st, - const uint8_t *src_scantable) -{ - int i, end; - - st->scantable = src_scantable; - - for (i = 0; i < 64; i++) { - int j = src_scantable[i]; - st->permutated[i] = permutation[j]; - } - - end = -1; - for (i = 0; i < 64; i++) { - int j = st->permutated[i]; - if (j > end) - end = j; - st->raster_end[i] = end; - } -} - av_cold void ff_init_scantable_permutation(uint8_t *idct_permutation, enum idct_permutation_type perm_type) { diff --git a/libavcodec/idctdsp.h b/libavcodec/idctdsp.h index b286bc231c..7224463349 100644 --- a/libavcodec/idctdsp.h +++ b/libavcodec/idctdsp.h @@ -25,15 +25,6 @@ #include "avcodec.h" -/** - * Scantable. - */ -typedef struct ScanTable { - const uint8_t *scantable; - uint8_t permutated[64]; - uint8_t raster_end[64]; -} ScanTable; - enum idct_permutation_type { FF_IDCT_PERM_NONE, FF_IDCT_PERM_LIBMPEG2, @@ -45,8 +36,6 @@ enum idct_permutation_type { void ff_permute_scantable(uint8_t dst[64], const uint8_t src[64], const uint8_t permutation[64]); -void ff_init_scantable(const uint8_t *permutation, ScanTable *st, - const uint8_t *src_scantable); void ff_init_scantable_permutation(uint8_t *idct_permutation, enum idct_permutation_type perm_type); int ff_init_scantable_permutation_x86(uint8_t *idct_permutation, diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index fbe9884b4c..4326f7f9a5 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -320,6 +320,27 @@ static av_cold int dct_init(MpegEncContext *s) return 0; } +av_cold void ff_init_scantable(const uint8_t *permutation, ScanTable *st, + const uint8_t *src_scantable) +{ + int end; + + st->scantable = src_scantable; + + for (int i = 0; i < 64; i++) { + int j = src_scantable[i]; + st->permutated[i] = permutation[j]; + } + + end = -1; + for (int i = 0; i < 64; i++) { + int j = st->permutated[i]; + if (j > end) + end = j; + st->raster_end[i] = end; + } +} + av_cold void ff_mpv_idct_init(MpegEncContext *s) { if (s->codec_id == AV_CODEC_ID_MPEG4) diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 237adf2388..60d2ec751e 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -55,6 +55,15 @@ #define MAX_B_FRAMES 16 +/** + * Scantable. + */ +typedef struct ScanTable { + const uint8_t *scantable; + uint8_t permutated[64]; + uint8_t raster_end[64]; +} ScanTable; + /** * MpegEncContext. */ @@ -576,6 +585,8 @@ int ff_update_duplicate_context(MpegEncContext *dst, const MpegEncContext *src); void ff_set_qscale(MpegEncContext * s, int qscale); void ff_mpv_idct_init(MpegEncContext *s); +void ff_init_scantable(const uint8_t *permutation, ScanTable *st, + const uint8_t *src_scantable); void ff_init_block_index(MpegEncContext *s); void ff_mpv_motion(MpegEncContext *s,