From patchwork Thu Aug 25 16:33: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: 37484 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:139a:b0:8f:1db5:eae2 with SMTP id w26csp452374pzh; Thu, 25 Aug 2022 09:37:01 -0700 (PDT) X-Google-Smtp-Source: AA6agR7qvWo47u2Q79ZjjgkcViIso06cF8DofAfH4yNLuO75cSnG/vvViGSjsb4w3y8edaHRceG3 X-Received: by 2002:a05:6402:2714:b0:446:eaa5:79f2 with SMTP id y20-20020a056402271400b00446eaa579f2mr3954913edd.22.1661445421423; Thu, 25 Aug 2022 09:37:01 -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 ho41-20020a1709070ea900b0073d9af9347bsi5211622ejc.673.2022.08.25.09.37.00; Thu, 25 Aug 2022 09:37:01 -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=WjmH8pKL; 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 DD46968B9C1; Thu, 25 Aug 2022 19:36:58 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03olkn2069.outbound.protection.outlook.com [40.92.59.69]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BCDD468B926 for ; Thu, 25 Aug 2022 19:36:52 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Em9bZK+LTqo+pdr7f5o2C6MqjEFyEB82pIBUp1iyL54/3EYpwmTYx2p5effe7reJhGv3nMQ95dbh5pyr0NsjUl93S7/iqpO+6hcXSDEHV9wAhghRXDn6YQZeTKc345vfYf+r1n2fHuwWEPTCQYmCV85B3v5PpxNNM/+4dmgovRd+YOf4bfVbFe/qHen4pfG4LOgBl90V9nYCPWuoE0LSHV4d5cazkbsZKkL6KoWzhTDwnGuQhQDH41xcDElRtBn/DJTdls8flmzpVR+n1MUNgKD3YYOND10nTAvbW3B4wiNGUOAKW3ZUBBGeG0/aJDsIPivc8kywM0qKz3XO9dwEkA== 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=nBTYkZrhl2yMYkU887m7excsxmkZtgvrTvqpE6VHvd8=; b=BP5d1TDsPC8myw2mS9lJfDVgUYjU5fSUP4fAxiln7hzchk1RYSNfeRmZJj2k0xG4bMnyTBKN9wqDiJn1kKpcNXvVDeDjnoHOy4wPLN9v/fK9W3KF0FCBamnV8pGNumaxJPD6q9KWf+5OXWjChtRk6FZXHiH8/uxO2+iO0sNUqtzCFFXkLw8lqpbD6XbCufJhZPTyJ/DWc9oR7kpWbxWJQ8+E/kDyy7Fr394MviIRIf+lZK9EcdDhf/bVZ0e7Qx/Cjo/q5tqRdCSB1ZZv73hvvluVC2LGeLyUhhnSixLo1RPIce54HsWbqWhewf1Aj1T5pxK6/TWtnMPqA0z48BKnFA== 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=nBTYkZrhl2yMYkU887m7excsxmkZtgvrTvqpE6VHvd8=; b=WjmH8pKLVAusddlqYRiwoJPpPec2QtoMgHh+7YzraNoDh0ybCwRvsko0UE2oo78vjD2rC7EAaBN6iRrcll5sgJZZGJnlcuDvggkAzPNfbstqqx2SF9NfILmWsaMXyp1QZVUvR/1Xotwwl/gODTD2iu+6JW3Qdzi1dzUk+64JvSp+3Q8Yw7MC+DgiU/mTTrTgCX+TOMhFEHC828Yxm6iNUk/gjBfXp0am7YvbKtKtx2rLxfd9gIZmirqaGwH78fzGxE7do9jXIQPzQKobrTfv7meztUZHH+F4ecsHdrkHvCgUy/VzS9XwnamQbU1BwlCboOJQI1NzH7ZNO18joJ+WvA== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by PR3PR01MB7017.eurprd01.prod.exchangelabs.com (2603:10a6:102:79::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Thu, 25 Aug 2022 16:36:51 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46%11]) with mapi id 15.20.5546.022; Thu, 25 Aug 2022 16:36:51 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 25 Aug 2022 18:33:57 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [IVKdmC1KiZbQlCwsgKUfd7X/OK2ZjIv3] X-ClientProxiedBy: ZR0P278CA0051.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::20) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220825163400.420541-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9c5e5284-3b4d-4dcb-f09f-08da86b802eb X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWxJUMtMcNsrDd7vkjDy+zOV6bc6hIswZLd7Ld064YHkYgMjxzD14EkLTx796E1mUKsC9U0LB1u/wtQ5nebVwWaydxKSaMMEX6DnF3+yhAbPDe8ej/9Isc7SAex8V8t593XWeuH7oq+3PgVdl2vyOct8L0YkfLdKVMVtSYCf/gv5xP66ppNv1dD4Bcyf1hCNiLnko4q31Wv5zC+Iw+5EH449hE+oUFg5XMpURPD/OsJeifCqCV5Qze23vzCi5Kq1TOYEwp4b3iY8EuN2L0GtZW7H9Ygy9MeqtJgpL1zwKLqeLMnRqZ3tCimpBqUHc2IQMP+IeLiq2UerhJVbcruONRoS4HfVMd+cP9VI+u9hiWQzst9PA1klIryfCz0yN2P1QsF72VZAAAtUeB5oXY4OyvpyY0pWUNg22/W7aEti1IIa5dzvIR7saKPdVVeTt/JL83vEoDIvYWKQK676jHutYUp1Pl3wdKuZ/sV+PKNbEzvzDTOxUde1uikW29qfPtl0OoEurjgTzZXgq1ahvIrFeJJIi+NsO/b+bMTn8aK/ec2pbOOz4MHShnLGk34EObFFA9FzXRizwquEFuS0+/w/94awjbj74/RYIWVPkxzmLA1mGaSF7qCAiIhtz29XcGNfmrWpAVW3SaUYFbFKs4NKzVHHBGLyZeFDS6zU727JZK6wnEfB/r4NdNUMlNraZ7J4n+7v5uhfChRRsx3Gpqwohr5IwGMr4c2rzQ= X-MS-TrafficTypeDiagnostic: PR3PR01MB7017:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aaBELF5q215nQ/k2U0NJsfA5o8wsgqsvWJ5DtV4tRTid9/Yi6VevMe8zwTiFrhqTQnV9oNGOC8q/O7hrAwwBN9+1aP6xmc1KZktw8bJ4ylh8LgB7AUSbwDe6IGYCOxO5zloqL2bOKCYNJBfc9N1h2VwLLdA0lkS6QbAk7RSvoE/wchB/uPb6A66I1rggWbAEgHnCwn68nrseB/LZKZRKw++6J3OcIT+NPdsDBmdalLEKDdCJDgHKoHm+yvOV20vApbfm7Wj6VenUaq0ZJjSo1SR7BqPqvy0pY2Cr1ac6WpY1p4URUhe5ajX2gUdEyagzIXU3upA1l61+ZHMEh2WZniFAm2l3pk6Grfu5PPvSSjWhzVbiv82mhIR9PxVQvJES3NehqfqC8h4FW4aJhQEqai4bGuZsy0wHfrGwkh/cXf0R2Rc4aPTGkDhJci0NFtpRFIdbiOsw4HbsTsnVYcWyfJ8IBFVtHvyAzW2IEjrOZVgKn4t0IfLRIk/KaJS+nhcVvjYhad9V6Aq/Jet4t86C5ErECeQHBo3MX9SAEUBoZ1Flrm9CkLxwKmfSjBcTUfsgbW8TidqFNtDPQp9LEcIFd5W6z7Hkcwe3oIL8zHr7Ry3/EQmkgTiklawxSowy1XfLzTcOXy/PCXXfaRi4HUTMoA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LJludwIlxnq0agiHdpgZa4uKtukCJ8y4zaiSanSozjl0l/ttIv4S5GUsQf7yDr3d5frKx8iipFeVsgG8603lLtjK3PQJxj6Yi0wRhzQt5wNaXueqbAPKLa1CC5t4m6hxFpdz1RRFmz9h3Gu0XVjrx1N0OzGHgHvOe1AO3T+CEOc3iFZfH9YtHwYQCJPMxsQmBTG/IaAifkB8z6qPj3MhuY/BKiFntyF7B4h64dcrY7NkaTA5w+zPomPcpu1Ixlgg65f2cm1DeiJCEbsHI1EwQkh0Jduw5d6IssVoI3uGuZF1zf4K16VY5omzcZgBCrAMG62e0DBbJZV2SqPvsbzmHlTrb4EQH+Ux0A+k7Q2ZbOcAFuU5rTmGgtcN2dg3LfGnnj/uaSt+SKA2saMAvFKW2a4Hs/4SKlJXKXhXvouX2/vyeFP/5r/alUsF0gF9+p96/lc0Qum8uZHFihmcrx3sv+IEKwxn3vH32yZOfeJDfi+kgU//4ZaBjGBWoJrEZfHxTIx62mt7tiIesSMSQEBxBHyhGMpCX/xtoBaeP3nD2L4qVLBLc0rop6Z75BCp8hlseMLlEjqMFgZRJPzyjGA6vqVL1uGVxDXhkUGMfpOAQ5GNK43MEBh1R+/D2OTjpXtVrUGclrvdMMbRE4Hoe7jbtGI3GS04XLuZdnF/4dTdDEhnXq5D2EGJldWHl6FS3ugu5hTJclLpbr9mykyCn3zKzFe1FpgkwpW/EQxrnV8fhU7HeoFGNLz2hgksvJprumPB6QUYv+VS4WEUQ9GayOmHBb7XDvh8mk8OikKOlGFqAdABMDyg/KrSnZH5zo/oqhIwBx3SyoNmZN3Dn0M3srfKhCTWNk+xlUCSPNpAlhDr4O5yHl+SUMcbv786I8NFHb1uZzmuM/vbrSr1OEJG0EsDJtLEWil4wkKuCAZt3yEP7/l7yDPqyAzcwudoxy9C4SAbFdljsr3Mbnq/IXFz8eRYcE1VSF9o+65cuzfd+tfjbmKZMRt63JIxWu2DZpyt4WdVnFeqcqubSS0YDJT7qcHolpyaF+sNechNxqihY6WSvy4qCEo4i3jDb9UaGETAfmRGBQzJa1sx5xQqjPoD9N2p49aBcHkQiOfL1Qb++fdyHMRnUNUDAZmBB2wCtMjXC5GdbwUm1Ukm/ZWsc/jn8jwt5oZGTnMprUV0YLMJ3uznlWuOdvGRD4eQOUN7FtWu6+RtJaAQhpOPAN9ry+skH20NHUqL09WaFGeoYK/ggA4jZ/VDG/ArOg9RUvKW1F6ePc8Pg6UXNbnNit/NqSu946ygzgM5hI3xGUeuebGIZs0OXc4= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c5e5284-3b4d-4dcb-f09f-08da86b802eb X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Aug 2022 16:36:51.0124 (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: PR3PR01MB7017 Subject: [FFmpeg-devel] [PATCH 18/21] avcodec/internal: Move ff_samples_to_time_base() to encode.h 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: q48bFfXymIuJ It is only used by encoders; in fact, AVCodecContext.time_base is only used by encoders, so it is only useful for encoders. Also constify the AVCodecContext parameter in it. Also fixup the other headers a bit while removing now unnecessary internal.h inclusions. Signed-off-by: Andreas Rheinhardt --- libavcodec/ac3enc.c | 2 -- libavcodec/audio_frame_queue.c | 2 +- libavcodec/encode.h | 12 ++++++++++++ libavcodec/flacenc.c | 1 - libavcodec/g722enc.c | 1 - libavcodec/internal.h | 12 ------------ libavcodec/libtwolame.c | 1 - libavcodec/libvo-amrwbenc.c | 1 - libavcodec/libvorbisenc.c | 1 - libavcodec/mpegaudioenc_template.c | 1 - libavcodec/wmaenc.c | 1 - 11 files changed, 13 insertions(+), 22 deletions(-) diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index c57904b01b..3fe625a659 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -30,7 +30,6 @@ #include "libavutil/attributes.h" #include "libavutil/avassert.h" -#include "libavutil/avstring.h" #include "libavutil/channel_layout.h" #include "libavutil/crc.h" #include "libavutil/internal.h" @@ -41,7 +40,6 @@ #include "codec_internal.h" #include "config_components.h" #include "encode.h" -#include "internal.h" #include "me_cmp.h" #include "put_bits.h" #include "audiodsp.h" diff --git a/libavcodec/audio_frame_queue.c b/libavcodec/audio_frame_queue.c index f2ccd69281..08b4b368c7 100644 --- a/libavcodec/audio_frame_queue.c +++ b/libavcodec/audio_frame_queue.c @@ -22,7 +22,7 @@ #include "libavutil/attributes.h" #include "libavutil/common.h" #include "audio_frame_queue.h" -#include "internal.h" +#include "encode.h" #include "libavutil/avassert.h" av_cold void ff_af_queue_init(AVCodecContext *avctx, AudioFrameQueue *afq) diff --git a/libavcodec/encode.h b/libavcodec/encode.h index e5d6b754b1..296ffd312e 100644 --- a/libavcodec/encode.h +++ b/libavcodec/encode.h @@ -78,4 +78,16 @@ int ff_encode_preinit(AVCodecContext *avctx); int ff_encode_encode_cb(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet); +/** + * Rescale from sample rate to AVCodecContext.time_base. + */ +static av_always_inline int64_t ff_samples_to_time_base(const AVCodecContext *avctx, + int64_t samples) +{ + if (samples == AV_NOPTS_VALUE) + return AV_NOPTS_VALUE; + return av_rescale_q(samples, (AVRational){ 1, avctx->sample_rate }, + avctx->time_base); +} + #endif /* AVCODEC_ENCODE_H */ diff --git a/libavcodec/flacenc.c b/libavcodec/flacenc.c index 00f78fc814..73cf185314 100644 --- a/libavcodec/flacenc.c +++ b/libavcodec/flacenc.c @@ -32,7 +32,6 @@ #include "encode.h" #include "put_bits.h" #include "put_golomb.h" -#include "internal.h" #include "lpc.h" #include "flac.h" #include "flacdata.h" diff --git a/libavcodec/g722enc.c b/libavcodec/g722enc.c index 2c0a5019dd..7ba283df61 100644 --- a/libavcodec/g722enc.c +++ b/libavcodec/g722enc.c @@ -32,7 +32,6 @@ #include "avcodec.h" #include "codec_internal.h" #include "encode.h" -#include "internal.h" #include "g722.h" #include "libavutil/common.h" diff --git a/libavcodec/internal.h b/libavcodec/internal.h index bb3312dd42..2c67bff1d4 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -182,18 +182,6 @@ void ff_color_frame(AVFrame *frame, const int color[4]); */ #define FF_MAX_EXTRADATA_SIZE ((1 << 28) - AV_INPUT_BUFFER_PADDING_SIZE) -/** - * Rescale from sample rate to AVCodecContext.time_base. - */ -static av_always_inline int64_t ff_samples_to_time_base(AVCodecContext *avctx, - int64_t samples) -{ - if(samples == AV_NOPTS_VALUE) - return AV_NOPTS_VALUE; - return av_rescale_q(samples, (AVRational){ 1, avctx->sample_rate }, - avctx->time_base); -} - /** * 2^(x) for integer x * @return correctly rounded float diff --git a/libavcodec/libtwolame.c b/libavcodec/libtwolame.c index 9929248485..3da57bb779 100644 --- a/libavcodec/libtwolame.c +++ b/libavcodec/libtwolame.c @@ -33,7 +33,6 @@ #include "avcodec.h" #include "codec_internal.h" #include "encode.h" -#include "internal.h" #include "mpegaudio.h" typedef struct TWOLAMEContext { diff --git a/libavcodec/libvo-amrwbenc.c b/libavcodec/libvo-amrwbenc.c index 3c94bcba32..a2d7f33ef7 100644 --- a/libavcodec/libvo-amrwbenc.c +++ b/libavcodec/libvo-amrwbenc.c @@ -29,7 +29,6 @@ #include "avcodec.h" #include "codec_internal.h" #include "encode.h" -#include "internal.h" #define MAX_PACKET_SIZE (1 + (477 + 7) / 8) diff --git a/libavcodec/libvorbisenc.c b/libavcodec/libvorbisenc.c index 3353776083..718e9d1912 100644 --- a/libavcodec/libvorbisenc.c +++ b/libavcodec/libvorbisenc.c @@ -28,7 +28,6 @@ #include "audio_frame_queue.h" #include "codec_internal.h" #include "encode.h" -#include "internal.h" #include "version.h" #include "vorbis.h" #include "vorbis_parser.h" diff --git a/libavcodec/mpegaudioenc_template.c b/libavcodec/mpegaudioenc_template.c index 839bd98dd1..67b8069102 100644 --- a/libavcodec/mpegaudioenc_template.c +++ b/libavcodec/mpegaudioenc_template.c @@ -28,7 +28,6 @@ #include "avcodec.h" #include "encode.h" -#include "internal.h" #include "put_bits.h" #define FRAC_BITS 15 /* fractional bits for sb_samples and dct */ diff --git a/libavcodec/wmaenc.c b/libavcodec/wmaenc.c index 99f0100dc1..95b992859a 100644 --- a/libavcodec/wmaenc.c +++ b/libavcodec/wmaenc.c @@ -27,7 +27,6 @@ #include "avcodec.h" #include "codec_internal.h" #include "encode.h" -#include "internal.h" #include "wma.h" #include "libavutil/avassert.h"