From patchwork Thu Oct 20 08:45:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38855 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp46366pzb; Thu, 20 Oct 2022 01:48:39 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7pJ346VXuSCdb2DacJ1jJgAmzd6ndhy9omHeXYtcD5YJWJc2FdoDiJ1RQwLjyrcWa1aBHF X-Received: by 2002:a05:6402:1d86:b0:457:e84:f0e with SMTP id dk6-20020a0564021d8600b004570e840f0emr11113118edb.241.1666255719469; Thu, 20 Oct 2022 01:48:39 -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 ne7-20020a1709077b8700b00788a70eed08si16390229ejc.610.2022.10.20.01.48.39; Thu, 20 Oct 2022 01:48:39 -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=L0MjtZQN; 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 2DC8C68BECD; Thu, 20 Oct 2022 11:47:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2067.outbound.protection.outlook.com [40.92.58.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DF37F68BE3E for ; Thu, 20 Oct 2022 11:47:16 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gYafaAWV3KGx+TRQlyQcPznvtmc22DDyP6W8j8xswdabPOZkjKy+EONiUdjgDTTHzRXZAmK9gPGgCzcO4+nCK/pF5RjLM1SkUv206t155NAXLNYlNTX9XCIg/AxHKR29GMI5tG8kO8eAhv5jTkaKqZvX/7lrtAzkLrlIkbhx9I/3pxshHRKWup7VdXrI9lRHg8rAqUJjP/u/iMq6L8eju9oPhHVKQB3pi/t0JomeXsp/a4770v1+7EirT4+oeqrke+cvC/Jvnz6q3oxV/Rq3fZODOaCNSZSsBVvHrWKF5r1cMbEmOBPQtEWfG/yDZJJf6CcL0p6L8Cv1fChs4ajJwQ== 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=PUY5Mkpvu+noJkHKiMPl8cWH147pkYWWMRMI6/+CdXopE+EeFPK6uaYeRoJ5o5RVWuYq0rllDsBr/hv7bRZAgypD2UFcvL3jpFV3JXWy6skkt1coFoNQIWc//MoNRpy+Xydck0AM0hNJjI986UGyODcvTgLNmVEyozN5oE2EuZ3MOUudq7N6U9J+3o9Mxfsdej5KlWkVn/s/Vl4m8GEYSLC3bLerumHiK0+3jMx4aGjFS4GHzV3fdHSy4hUvhshAc1CXSTAtn5ehgq3I6CUNAzC/QyQcwYAEKvw1Wy6NnMl15A9RRYB/3YPHEfywT0F1+toFSdINuaFSAcAX2oX4Lg== 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=L0MjtZQNUKNENik81vCfURXiV2MqZ9ybaD/XelBk3LTh6fZcXzZnzkWZNvcjms/31R3nIwtvT3uHvVL8FO4znhTt/6N+I0DdFqnT590aOhd0ldXjEwjlmKYdMq4T8UkTAPnQtW74GbMOBBs3YeUDPwhavLQJ1m7kNBoHAkpEbXzvPKxfBDJF3aRrFeN53IttXzfiIvb7WoY5iaKmIkW2+Pu9X8bB5p1lSrEUPdt2So70Jci19okGS5lkM9SIuF36tigx1SK5W5b7ZTGst5NxVvtejZruB7bBl/Nyo+OIh6y1pJqX/6/GqSt/nCLTTY9hTozOqaZInPxZWRSFoBcs4A== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0393.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Thu, 20 Oct 2022 08:47:15 +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; Thu, 20 Oct 2022 08:47:15 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 20 Oct 2022 10:45:39 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [uONl/sDDsuYFoiBSJn35xh7wP8wR+cOopV/lvpxpIxA=] X-ClientProxiedBy: AS9PR06CA0774.eurprd06.prod.outlook.com (2603:10a6:20b:484::29) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20221020084540.2378553-20-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0393:EE_ X-MS-Office365-Filtering-Correlation-Id: f994c64f-fb2e-420e-6df1-08dab277b019 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqqpqVHbY8r+ej275oS7ZbB0BvQmlJ0dEycn5DlcywDtA6Y36LGPm0CnyIocATFP5xPsIB4fe5NrnUaoBZxX/DXQXmZlfFp4kVNQYOMIu8ZVIXQovVxYallnZS4MQY+TDPVWDFBdldt3e0IgddBi/raqMcVTFSxSlipIlvcV35k+t9ocO9Edcaqc1dT1l90QhKeawM8KT350W30jz47/dknED36DI1424lXIhF6gMgZZjlJKRNJlAazG2sbCoUVR0mBLVO8Qkzhr4zPDHXh8P/fK0FGRNDtdkTjbLza7WCK67v1QB39e2keVOF6VvREeQAZIT1vdHWBiyrhObd8J+ueggY1XiixVCX7bVrWZUuYnHS+CBdejW4aR7d4wH9z1czdbxmDoPl8l0JlDz85xlXkVelEGEmNTJalarXR7y9BaCRxiQLlUlvqfwcb1Z810uzYxR3HNW0x643NlpAB/hrTLukGiccqFaKgwtM9HVlhxYZIJQ0EYB2oijNVsv0ZH/pIbWN2uxGzSa7GyUE7Lp/nSK6BKqAEweq7H6yHrc4faNonKYilHy8ywOr5V00y8R3Pv6XkXi3Hf7grFSG+J3rgj+7KQfhqwy1kdj/n6OWyr67zwI4mL6GcvBrC8pSLJdg3FDpdXKY8Rg0sdcl/GpS1rvFJGKVRbc2sdHxITigA8nxVHGELbS1dl5Z9vjuLUsAlXUNo1yb9EdIyZRpFuFMFjHguGQz8Lcvuuhd3y4Sud2LDASgkvzayFm+IJ98PGLI= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DlpDFBAqfZB/jR6t+mk/FEoLUIcUiCGCjj1rcKbPNldT6QS564Nn7cmA7R00TnhEO7HWSK/m1padc9ysSkPKO2a3fT2y0/Zz8evXvzYlvzSMIhyJ+BiMAOVE9BckMQTyKPM6uEVcRdgxlY/hkaPxmRgDgyzLswzO9KaqtUIkvVmq+rrenJUn2oPkXMzYw0hDZgnFnKyDKgUxARJhLU8b/cwp+fO648vu9pxjtGUgDsaDSc5XCN+ltCrl+66TyatrtQh7HnINldHuXSFln2TaA9A/9QT1fBwiJzNDKm6FRopCTnGW3oNiVfDWvs9RGtCwWt5DMltj2jx/UqtvhEC+ofnQFf03Hxk/ADkombkHgTDuLADmWtHuQT7HpsEbC3i1pvx9r/bxKoS+ht6lvkHpEZygEx6XVFAugKulXZDNq1F4NQgI6a89izgOqAmZ0UfdlVEbJC+bPgyBCXLvEMfa9QFAPptI53lo5yCKCNe7YcqJfBe6+r/klC0zljavoifsT+0LZiYvJ4ePS1acOlniv4femd3fg94ez6XRdSxOui5K0L7UVWtrJq/5hTOTCaqAvnZWEZpapARi9NSxt1xvJrI3AU3hB1612UPb7sY6NKVzMMowh6FNpI4rD9nYaTD/SIGZY+GbHwPRe9NfgXEhXe6NXoHHKf9h4pxHwU4QvmyivSg0XXL+ioxppXiQAzex X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ct+ECmmIX9m35hYkh0vY7F20cVosXMRdsrKX84eckrrPuQCysROQi3c6HgUB7BJecw2hpU2cBQc7NbdBx4lPz/gAsbyT7cyo2Siabei3lwTtybfQ18bjIWHRRSF4vziXMlmNaE1QKphhHzEcWdKK9r2M9wgvTnuyJHwcmNZed+cyHzFZJSfBIvgTlSSOW2olcU8okILOJJX0eu8KblgwKkUiMH3ofiV4sX84v1zX1PJkeXDF2wcT2dwuEJ8H0V+Ra3amGZp75Axzm9cyw3bIct01I+cxvp//JBsAJLmkdbvBAr5qDbxFgZ6A6OGqqUMtuzMtxiQdc1GdfskHt9EpdTJrGBBMkZk4GGNpVShCNvLc7YO0yJSTotnNSCah1o8YydIY2fVt76i0m0xApox8YyN7trGxg8emb0PO/XAdF6kaQ4BD5KiR0Apm26++jF9tAeqhGjcoxHEh/2XcdnW+voXHefWEyfLPM+YpcRGsyFIXDIy7sUqaMwyhlXthnib8ELAhaZfmx+NAyVe1+Sm5hICeoewuv03Iv+GhmtVpEgInCYlqAfg3Gv0u++jbcJf9HCFOmZYAN9oMFjDJaaOD8+mVvwxWHz6QW4+oSjFQlURyVEkrxsI2FiJCu+/j39/ZWVX3ii7Y34ZS2IzgfPwdgeC88gDZ5xdJPQvNpLzfjvGsrEih4HrQ8YAU8BPY7maGPZ6dMtTn58+h3yIDrfXImVXc/DDjKhUyeLtmY5qG2tZ6KnyZFOeYdI+ITRmsZozqPcO4GHIgOJOWfDRFlJOUG3DL5OP4JXCwKZzrLXTGHX563lrqPmrOjhk4x8dpP0dBci//Ejdq9iRIk8kLFxa47X0oFNVmVMByi35opYN6zj+v3ILe9/hKRWBXa2oU6Z/NfmzKFlaw2BgaF5dl0EWfC0zwDsNEHF+OFObQJj+wZicD95z4k4yBC+trNb0xjv15y+UzNYKlExy/CqYccelyBwnT0JSaZFIkrZpv1Dkd0EndLlWviNEwEQGmNi8ibvlSGf70ByuPzBMaPzGt8UzAHKzkJ4qpfJBdkSHmjwVP3o9ncM9RJSDKqW+r6i/TOJG/3g/kZlFHBdrc6fkMJKNKPnCSbT4GMWgHTuohEl25desl9mLOXFrvZcTm1AvmqWKOsQv4OJrpfQ2sS/As9Ku6ljYaN7mt7vjYNUlQxdlmYNg7TaMncjvOoIBhxqcmgs1+KAxfhBXeSj4dmjAKQQ88xGc0BMqCr9hTBVtPdSTS5pP0ZfjX3XAo3CXHNabrquxK9Qakjt8e/X82JR+ivjHSsEDdc1HQAIoNFM9nbiAgSo0= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f994c64f-fb2e-420e-6df1-08dab277b019 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2022 08:47:15.3373 (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: AS8P250MB0393 Subject: [FFmpeg-devel] [PATCH 21/22] 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: 390VbxjQnnFZ 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,