From patchwork Fri Sep 30 02:17:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38472 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1c:b0:96:9ee8:5cfd with SMTP id c28csp1398667pzh; Thu, 29 Sep 2022 19:17:39 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6XwKofRI91wg9cq2rnWYFNwaz0EoDqiqw9XvZaAilAC+hcwPJJQXrSoUknQKjY0Omf/V0k X-Received: by 2002:a05:6402:2201:b0:44f:443e:2a78 with SMTP id cq1-20020a056402220100b0044f443e2a78mr5866787edb.76.1664504259666; Thu, 29 Sep 2022 19:17: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 y14-20020a056402270e00b004582a378873si1088467edd.447.2022.09.29.19.17.38; Thu, 29 Sep 2022 19:17: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="GFG5f/AS"; 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 9A10C68BB94; Fri, 30 Sep 2022 05:17:35 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-oln040092069096.outbound.protection.outlook.com [40.92.69.96]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B1AF668BB3E for ; Fri, 30 Sep 2022 05:17:28 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SFR1l0540SE9wkUwuqPJCUaBuTICRPTs76VqRw3snm4q9jNjAKUVxYjXlY8KqEqzBBlj25YlVzBcM/MU37w8dGe5mAV1V09m5kzvDPokX+Nz3E9EOx0sj0Zr9jgUiuUE8aiDTjn0TglAcwN+Xze+kFFMF1y1xTiwiZQwLAZ71Kh8D90gTWnX1FbPV3bPuYP4C04LBugMZDwTCbjx8pICNBQ1eBZ6vEDhHXzYkbc/mrlSTAfc9fkuNkG57u1RhOZzzX4krwvJfDnKlB9kILx/xzvlqGqkEAx4T0gy2+dVtkmlTH3DD8gNk9c00Ra6aVrGmYbR74BN0emkPFC5dKAV+A== 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=wmc91s3P1Zcib04ztesKE7ZArAN5uW1MyNKFx6vLrE8=; b=Avva6DvpnG97uqRFclTAXvR/0wgsbRmublGbCe3omfHAozr9tVrPgqIQvSa5O4Rx6B34PV+irdD/pDV/3kqOtFdA7cq/i+tfMVNyeyUGtBtdcTdDxRjsWl9nMtceyxEREvPjR0TR0KujMuPfXgR22Ap8oRnvAFd9UuEDC/SKmYBq8R2t2QS9BDz4n6HEEtBttP/Ss9n8gz2kI9ojjaSb5K3eB7UAfQjcamFdbdsE+uxRMUtcQIpFc3+b314G450mKIVdaapoP/I4ZtJ6kMIkbr7Q6gG+y/eN3RBPNhlUdfI/YvGw8tWOG20LwwSzpplYDFFAUnmCK0L4+g9yHjsfbQ== 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=wmc91s3P1Zcib04ztesKE7ZArAN5uW1MyNKFx6vLrE8=; b=GFG5f/ASMt8BN+p1RUX4rv5oGumeKx3xmXEZTCquKlOwcZn9+dnSKb4PX293KpWEQF/kZxEwL1vXK+ME0zwwsLIDmgF9NiGa5JPPL0L/wLkvGTuQBzH45JjX5+zBFtDC3Pc3CBzYxP7FXcWgQ4bRIrcQ102Bv6b3JS8cnFVOKgJXdfDYoDb3YEdkIpeC5BNuhu04Oh+jKA4wMkl9Il4zGelmmBHoiAWqxeaVDywLyRztkxVjq51AND9JfRuHNC8h4BMVezCZfumuyARjgekfPRnJcPF+SYiKV6o0deguyuAlslWC3QWJyfiEPI8WKfNTmjhiC9h6xBzowV/gU16uyg== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by PAXP250MB0422.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:285::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.23; Fri, 30 Sep 2022 02:17:26 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::68bd:2fc7:ac52:38f8]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::68bd:2fc7:ac52:38f8%9]) with mapi id 15.20.5654.025; Fri, 30 Sep 2022 02:17:26 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 30 Sep 2022 04:17:22 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [xgLfcWPSiLE7tSpwKe4C870r4yPlYQxwuqmf5v3aihw=] X-ClientProxiedBy: FR3P281CA0160.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::15) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20220930021726.3048145-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|PAXP250MB0422:EE_ X-MS-Office365-Filtering-Correlation-Id: 6c5acf57-256a-4d6e-3d0d-08daa289eb1d X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmougXX/gXRJ/glWGV8cWqUROIPgdfbXUoLLTM1g/Jf9bAS0SIvmXQ+Qd5f8zcEi1d7dQtS2kTD4SbVNuMikYsbbccE3VDX1Lf4ERJ0syCuL2anfz6VK9gsHTtvSjOIFh6dFSRqJrdg/76hgeZFxul12lwd9pcAVaheWxa+JMoRzUgdNH1lPJgH3JeQQ9t1/fE/Ld3G7CvhwMd94uGPdxN5QzzPYnFoXousTdVbJeuhtDydwXQE0z01/Yki32XRASL6vaeAyT9tvylpG8DtfhZpUa1p+n8qrkFE/3ZN029LemCrxYAkgIugyo0KcSpxBmlUibKikuHO/WOmuBsPIH4xmZlheAfsRsCcjiYTHKaT6bZXg+jhRmFyLfCjNQMI+T/jZye4THITLocluVWrFJhJf97oUZI7CXzpMHXbvFO6hFgL3f5edRhwLgAylOoXg8s5S3v65PDmlYqGA6+OFnWHkkUAQRB4kHP1mUNB4fDAGAmXox9f38IaRl1YT+xvd26ximwGAAZI/WOtIuqbezamZs/AXhpk2fGqMA6ZwNVFraOGeHXg5l/+hjaLLCNKzshc/+5QNVHibI26PwiIEEZYrx2lW1G5WhIxSN407ft2/jfvn9GobL067U4cYcb6WJ9bcT3rcWM1FLAtQPZwixqxzdcgPFguzV2CcNHjt3+kR7wxx/x9er7ueVgUSdK6nLdIfX1DSbwbkxd1/vMSRVljWof2qdEd6xh5Kog2bXOoASrM3tc9aAKoyJw7TnQ7ug+A= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6jdWnwCBOkaRuzt2UxRhVt6rc/NPs8lq+9uFYkox4T9KoeFw/7Zd3bGA/HHUrg9a2LYZ09vPLYg0WZ7MxF7nQl2Tu+BGf8rrmX5EZ5JbC6vINWpwWsIJsgOoTxm3LGKspx5Jo+ho63I5BdYrcr3MUluagBGgzCH2jjRWvpAgVq4ljA4pBtXlv7CMgH572GjQU0Fyq7nj+ti8YTlmcXXBwK+zFAvIdHEeDBPqVqKPTZCLX1vswuuK/41dQezWtt1s6URYf1N7r8RG+cdgzXB3Eao+gmAExcwZifbFLFYAIGN50PkO39jKaCSYUbjnDIb1R4dLnBi/C+WPp8H+KPcOl9284vQO6AyRghknSd2H9wM5er9yWrnYMY2o6EWzc5gpxejgnMeBiyk8yqnGROd2rQhTRaVkJ5dNS5pxW7Ni+0AKpNBMJEGg9qI/2hLXziz8ufByoPjo1pR5/DnNAedwMCtiZUplOQXpPI1lKxYZFY52DRhJiPFrBN1JeJ4C9GK/P7po6RQ4yjjbhVuGSM574CVABsWBDRCJtCDRkgnaCSP2cE0PHgmWK6cyaPTMz2oWC8JEZcH8rTNvEf02Spbi9CCsDSC0+JVs7g4cwzLfRxIgGyekUxbUBC8JF1PHQRou0hIXXJLnUxiV3Sdxcj05RQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JUT/vMdNcLrsTkjkco8JElWH17xQplFNMvUwcGQNGHe7ZYQTFiGOAS8sp92YrQgxDxC78gRo/b7K0AQiuy5At0pF7drnctv+MQSn8fZFtD89zCEDp3S91RTMb+heWxHtXdQhux6QKVEubA5TWzfJAiSTDcyEHbPYukm+ekEx8/H8mG8rTUSLDkjiyXcLSCOKTJpRwAbdmRN5J4L005DyM8HGmSK0BstSQeR4bBU58mjGxbgPuQprFAB35smxT5Ea8wKhxZ/LNTxITP64irAMgPOyTf5yPYDfLScOa6cKA2/S+rHXheSpdX8bMY9078MFYOPv1KVPQLyAYizuxDe1mXw8EAlJ9kyLAjcIQriSrjG4otm8YxE+CR0Riokxub5+xOIf7jreXm1q2MxJnt8/JFiOUAvGAT4qemxzzbkis6IbZlkHOSSCrYwwL/39rhilsUfY7e1Pb9hhd2rcL6Ra1Tbx8Ten1JA/KZ9B05DxOrJykEdocKG65qKJhRpYg2Rwf+oC00rAtR8/HZEYdl3iYXK8/CO+JKkymkTYvHuoAinW1HtZvnJTFelh0L07YCAJYQh6TqiFiYgp2Gd0gJBi5yagAi1QPKCvY2TnMb4CMx29s4CtmIbR0liAy6oXrWHlu94VO27SOkJDupHEluHihdOUPJzf4hXqYSs+zG+3vbbYx0+tfU7v6JJv4aB3ERJufYX3ucwWKP3FZfyoMFeU9gFWOc6XavcQvO2y1KyoYQXObFg7OCnGMVAmfeAlVZvaArtX6C+07XWf17xvfMhcU2s13leulyTRBJjtM+ZOtbDIbKVEcJJMQJdnDC/p5o2C7b+g7uWAreX0r5KXI9HlZ1FodeQ3iAydUbhHij8fNNFUCwyljcG7TJxvq+C4yZb3wSeOMXUF/1E0ELygpfpUftL7e+KOv9M4+KzZo+U/6lU+604+odIT+vnDux2TRtU6+nDa49XxZ831hka8TuE4nyPV+/MtxWuXT3FJt2wDOR0Ua00JEzKjV5ZhpOau4uTqxqaHUVpeW2XHTUAa7YiQSG61p6M2805ztYdDFG49Ur5C6C8SBWwwXZT+dYYNxmy5TYd2NI5wfvvVeLSMXvn3A9GhiaeQKsva19yMhKgXZGIjBrogn2UNytfZ8Bbg79Acqtm5zzhsQRvMJAH07HLUVOLDBBSqfqqutOJWuQQ+KzxuAZctI6NirfSmqf99vpuQgiK0n/6UBe9KtAWZWoYoVn9gPNY/awlRysNDQb+PiqbmFyzlobLALoJbSawks6rVRy80DkNM5qgs4Ew2FcY5YfeRiXvPC63NkXAWKch3Zx9meLMPaMtVmGDVuDSxZfMv X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6c5acf57-256a-4d6e-3d0d-08daa289eb1d X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2022 02:17:26.7951 (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: PAXP250MB0422 Subject: [FFmpeg-devel] [PATCH 1/5] avcodec/mpeg12vlc: Move MPEG-1/2 RL VLCs to it 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: LqhYkE977MZK It is better place for these declarations than mpeg12data.h as RL VLC are just a variant of VLCs. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg12data.c | 1 + libavcodec/mpeg12data.h | 4 ---- libavcodec/mpeg12dec.h | 10 ---------- libavcodec/mpeg12enc.c | 1 + libavcodec/mpeg12enc.h | 3 --- libavcodec/mpeg12vlc.h | 15 +++++++++++++++ libavcodec/speedhq.c | 2 +- libavcodec/speedhqenc.c | 2 +- 8 files changed, 19 insertions(+), 19 deletions(-) diff --git a/libavcodec/mpeg12data.c b/libavcodec/mpeg12data.c index 4da96d7da3..e301310b9f 100644 --- a/libavcodec/mpeg12data.c +++ b/libavcodec/mpeg12data.c @@ -26,6 +26,7 @@ */ #include "mpeg12data.h" +#include "mpeg12vlc.h" const uint16_t ff_mpeg1_default_intra_matrix[256] = { 8, 16, 19, 22, 26, 27, 29, 34, diff --git a/libavcodec/mpeg12data.h b/libavcodec/mpeg12data.h index f51faf4607..bc39655fbf 100644 --- a/libavcodec/mpeg12data.h +++ b/libavcodec/mpeg12data.h @@ -30,7 +30,6 @@ #include #include "libavutil/rational.h" -#include "rl.h" extern const uint16_t ff_mpeg1_default_intra_matrix[]; extern const uint16_t ff_mpeg1_default_non_intra_matrix[64]; @@ -40,9 +39,6 @@ extern const unsigned char ff_mpeg12_vlc_dc_lum_bits[12]; extern const uint16_t ff_mpeg12_vlc_dc_chroma_code[12]; extern const unsigned char ff_mpeg12_vlc_dc_chroma_bits[12]; -extern RLTable ff_rl_mpeg1; -extern RLTable ff_rl_mpeg2; - extern const uint8_t ff_mpeg12_mbAddrIncrTable[36][2]; extern const uint8_t ff_mpeg12_mbPatTable[64][2]; diff --git a/libavcodec/mpeg12dec.h b/libavcodec/mpeg12dec.h index b4e94a92ce..4c015d3096 100644 --- a/libavcodec/mpeg12dec.h +++ b/libavcodec/mpeg12dec.h @@ -24,16 +24,6 @@ #include "get_bits.h" #include "mpeg12vlc.h" -#include "rl.h" - -#define INIT_2D_VLC_RL(rl, static_size, flags)\ -{\ - static RL_VLC_ELEM rl_vlc_table[static_size];\ - rl.rl_vlc[0] = rl_vlc_table;\ - ff_init_2d_vlc_rl(&rl, static_size, flags);\ -} - -void ff_init_2d_vlc_rl(RLTable *rl, unsigned static_size, int flags); static inline int decode_dc(GetBitContext *gb, int component) { diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c index e1f09b7ede..f636afe42d 100644 --- a/libavcodec/mpeg12enc.c +++ b/libavcodec/mpeg12enc.c @@ -43,6 +43,7 @@ #include "mpeg12.h" #include "mpeg12data.h" #include "mpeg12enc.h" +#include "mpeg12vlc.h" #include "mpegutils.h" #include "mpegvideo.h" #include "mpegvideoenc.h" diff --git a/libavcodec/mpeg12enc.h b/libavcodec/mpeg12enc.h index fbbc43f891..0455e5e4e2 100644 --- a/libavcodec/mpeg12enc.h +++ b/libavcodec/mpeg12enc.h @@ -25,9 +25,6 @@ #include #include "mpegvideo.h" -#include "rl.h" - -void ff_mpeg1_init_uni_ac_vlc(const RLTable *rl, uint8_t *uni_ac_vlc_len); void ff_mpeg1_encode_picture_header(MpegEncContext *s, int picture_number); void ff_mpeg1_encode_mb(MpegEncContext *s, int16_t block[8][64], diff --git a/libavcodec/mpeg12vlc.h b/libavcodec/mpeg12vlc.h index 70aca645cb..4fb19371f0 100644 --- a/libavcodec/mpeg12vlc.h +++ b/libavcodec/mpeg12vlc.h @@ -28,6 +28,7 @@ #ifndef AVCODEC_MPEG12VLC_H #define AVCODEC_MPEG12VLC_H +#include "rl.h" #include "vlc.h" #define DC_VLC_BITS 9 @@ -49,4 +50,18 @@ extern VLC ff_mv_vlc; void ff_mpeg12_init_vlcs(void); +#define INIT_2D_VLC_RL(rl, static_size, flags)\ +{\ + static RL_VLC_ELEM rl_vlc_table[static_size];\ + rl.rl_vlc[0] = rl_vlc_table;\ + ff_init_2d_vlc_rl(&rl, static_size, flags);\ +} + +extern RLTable ff_rl_mpeg1; +extern RLTable ff_rl_mpeg2; + +void ff_init_2d_vlc_rl(RLTable *rl, unsigned static_size, int flags); + +void ff_mpeg1_init_uni_ac_vlc(const RLTable *rl, uint8_t *uni_ac_vlc_len); + #endif /* AVCODEC_MPEG12VLC_H */ diff --git a/libavcodec/speedhq.c b/libavcodec/speedhq.c index 11d3311794..6dbba02776 100644 --- a/libavcodec/speedhq.c +++ b/libavcodec/speedhq.c @@ -38,9 +38,9 @@ #include "idctdsp.h" #include "libavutil/thread.h" #include "mathops.h" -#include "mpeg12dec.h" #include "mpeg12data.h" #include "mpeg12vlc.h" +#include "rl.h" #define MAX_INDEX (64 - 1) diff --git a/libavcodec/speedhqenc.c b/libavcodec/speedhqenc.c index 747ed679bd..4a009bd070 100644 --- a/libavcodec/speedhqenc.c +++ b/libavcodec/speedhqenc.c @@ -34,7 +34,7 @@ #include "avcodec.h" #include "codec_internal.h" #include "mpeg12data.h" -#include "mpeg12enc.h" +#include "mpeg12vlc.h" #include "mpegvideo.h" #include "mpegvideoenc.h" #include "speedhqenc.h"