From patchwork Sun Apr 7 21:09:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 47909 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:24a8:b0:1a3:b6bb:3029 with SMTP id m40csp2147456pzd; Sun, 7 Apr 2024 14:11:43 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXSIiCHDYVgkSYUlkRk6c1FrhD+JYJBf+uOehmTFVF2OArMLgqD5eWdqfU19h5hro6TOHeunlBLlfTYwbZOUYzyzSgXYgydfH5ryQ== X-Google-Smtp-Source: AGHT+IEAAIwjHjnmDLtLBplygP9j30D7bpYNw2tPoVJ4TPAY2C/1vybBGR3y3VKq426FZWNRGOiA X-Received: by 2002:a19:8c4f:0:b0:515:b9c2:9545 with SMTP id i15-20020a198c4f000000b00515b9c29545mr4707007lfj.60.1712524303352; Sun, 07 Apr 2024 14:11:43 -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 sa42-20020a1709076d2a00b00a51c7ecfa3bsi1181332ejc.489.2024.04.07.14.11.42; Sun, 07 Apr 2024 14:11:43 -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=UceX1Uy4; 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 01DAF68D1E6; Mon, 8 Apr 2024 00:10:04 +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-dbaeur03olkn2106.outbound.protection.outlook.com [40.92.58.106]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1CCB268D265 for ; Mon, 8 Apr 2024 00:09:49 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F7Z1DB7gzDXjLiqYFMRLbwTMKoDNjzRKTpfnx/a55teAtiKanhbo0bF1IgxRR9osvs12hLCuPz3JtxAQqrQTu6VQYr+WH8ZxI0A2xPf1FN7LxnO4c4wdG6CU3yyNY9xKHvvDnh/4ehxvaJcIRIY/Q0qwv2d4/i4mkqk0tB7ElC2NVS8t8pzU7gdg8MfDHq7dGHTEBSYJ7kpdY8IDTmycsfS5xs+bLYW7qhENBZxYbampV6wXXW0GfHBSn5h6z/fXen6YG8ET6x3+IkVOALBGiSakEJwrFmz1wpjngPMLzx0YXIhkLLKbKYbrbD/ShwQLFg+HChWBE9xLd636k1Bukg== 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=jRTwocHRPymmux4bYkrzRiL11fE8wT1djHrUUc8iRiQ=; b=GbNX5QkE+ppa4bYhYVZ1+RmWf4nQ38UJUH1qdhluNGoCJOC9mGM+pNjNMStX0wQI5xn9A91dcX0SgSb3Vdnn6UDkwZNG46YeBJV0qkyYHk5EhFlHt0yK0mGcCg2uQXJ3LyKevcOjfRJi5vG7mq9Elw7+rUb7Dt8qim9BXMeT5wtAflxdaogrnamI5cUEscAx7gWHSnFhXpBi6JWLq0h1jexyCXlccU0pT1J9ykH7K3D3oQd46sicJuh/2xHnhhDJX9VHksFuA8tyG+ROwNPggDyrogLtcK0u7TQm/wt7DnKtWA6fnGZfTHfodKe0ku+DEEgpB3WtQcelD2lTf4gP8w== 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=jRTwocHRPymmux4bYkrzRiL11fE8wT1djHrUUc8iRiQ=; b=UceX1Uy4U8CbofTC44CtF41wlHDU/oHstF/Ibf/Ngz0e7eXEXR++Xp+qvgy4sJzjqCPKfX9mV/vYL48GhZlUYnq031Ra5td7Ti76xxX6dR7Df60pDi5ePKdm3/AIuM3PN2s6TcYU3/2G5HAPMD5Lk56JM+cikr51ROZqIkUPYHjoqOgeBrmsb4ZN3AuBWTB//GYglqBo4I/BUzIv7cRvjeC5CSB4MGR1Gwof+7D4pUFsGRPkQGznukrv1ZhEwXc+7aObzxYGt813d2b/Z1JhT2M28Ere4mksNCCItSUMSun9ika3IssZDRak45jtWwHEma+fTRgiGRwok7rLKXy/2w== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS8P250MB0234.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:379::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Sun, 7 Apr 2024 21:09:37 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d%4]) with mapi id 15.20.7409.042; Sun, 7 Apr 2024 21:09:37 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 7 Apr 2024 23:09:05 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [Wer4PepgfN75pwG+w/YqJ9zM8oSyuWUSOEDlyvMU1Tw=] X-ClientProxiedBy: ZR0P278CA0038.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::7) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240407210915.895619-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS8P250MB0234:EE_ X-MS-Office365-Filtering-Correlation-Id: 57ae1227-450c-4954-a28f-08dc57470815 X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnpOxDCcKCE3ew6GouC7ydNhvX/tL61IpNS/sUy20Tstht0xKBsnbt4DpNdKFhzkYgFFJURfR0MxqFsYOw/Z0qK1gWlL7mDdSBX/gatlLjHxXoMf7r91CTjovKQrrvKmwLVxMDGwMthV2gsTR8fLuQu/1k0BnIcMago2uPsXTJE1hKeLqftq9+LvXx6hpAVUjgPaqSfSkMGBh3HTMCwlrKqeYlwtd8noMnaWDlLW9B0njrcbwfO8Y4KauX04DePt6G/RnKCf/yMAIiodrLlnxq+d+sQwo4YaspVxFVWrlzHfnrrGGzMQbjPI5t9SlbimldAmdn1xb+ybiQ8m+r6LnyizAS5G6v94Jijq4olmbRwjjc3jQk2Y/9apuwZCap90fDp5w0HSQlqIndcG5uZGcU0l0FNUielxMSEZpVtsMdIVh2U2Qcfh3vz+U2yP7VQs8Oivu7wCpypl0YG4/Ahds2wOsM85Jupa70whd/tKdOouaiLKTL81r1jYecDvhVGMb5tgo2fk7+Ur0sz4gJThNrG7tfK8SHyydveY71jhEIGvr8tHmpeLnV6M0XY3TncPufyri2nT16imw9tck7JgMSRWyvIOGvMgwx8fOQNckgMF4lfobQv29gRQIKPFoIMBalt6H1XBZjX5QQF7kz4AoxL6nJKGVNGF/vNEUJpjK7cn2vsywfcuAE75by71s3GhvkZQhoTdQ760YvOAt+aFzwrhwtmr8k5s6cFjmVxXd8hzybfYs9Rr9jO93ofhrqHhxCQ= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: djhZE2BHwU4zFt6h7JKb4+ux3yKVWYIIiYEIOB2CFEL4Ba0fJ3UZ+55+yfnSeYOgs8zWd+ZxddO1Kw8t3Ql402KC454+UQp3yMw23UhWSufvUjTM8Cmkqqjc1PJ9j6kOUrFi2Msy4PQpmiYRWyJJgVqRLCGfWrTVSe1rhZYthE8WLkouWk5lMEtlmLIF84+KySIAZ/fadGZ0k1zYW0JI+LRrZDvreGwNJjIF396KM3hSZw/6jPkaebaTfbPRtBxVZPAzLbmmt0OH4WIZdzWDyqC+Rn5PEToHIr9DzW15JusQU8djC1i1gZyULImDyvtlKNQA9bUvAsfrqV7X4bDVpmiw30qlg5q56vBXoaahtkRSpBlqEyD8+58nlyQGrgF2fOul0p2s1jd3nNs5fV83hHDtd9mhNtO7xGk9mgON5M0LakkPmsRSB8mfFHdO9BV56Xxut87qSqssyG4S5f9xsRdKLYXw0QP0GvXZ5Y761ST8EWwCT7pLYHM1j2Pm4pIVPX9L672T/E4M3SCyFycIsBvNdOebn+A/JJfPGMvDjk8VWM4Z11jSVUj1g9mB0VEVSYzwPUnLQaTY1d/sMpVo7JvYVwKl6yGqXG1neHhQT3U= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QQ1nAG5Hmj8eZVi1guIULD9HxWq8h9CASipt7QHp8SjVhpqlYol/2U4nk9emVeFF1Vq31xUGyY3PqYdmReqRHJjGFoJNTNCurwRTkYmtSEWUhkpDdSKD/wayRCM4ZqvhYlHBSAIzSrk14+cfI9R5S/XsexnGxvxWMrWusmKavM8hkm01vXsfMWdWkKLdy5OvNUfQtAmczzq01X+quT8K2eeciKve/+Se5i1wOf8vDia4kCpSpKgjx5HqEy8TvQcu3OS+wynpPQPcWKxeNu8QEFCsB0wYHoh3GawRdVGtC59Gs8mileXZt+7jfUjog77+0aaq8USm3hBTH9lCPRSOBfir9sVHpvNQ7y6ldNt5+38TQtyFPsLMVm6v2VHll7mP3qAJ+qf23YQqcBM2Ds2Ek2EbLlSPUROUps1RijeqvcdtGr9l5Dggfwew2P5tD2PDgkQeXEYRr9o80QmlyzRuQTbvO02Jt59YhWwrSKeR/1huLz41BA4RZcR+69BmrDAMv/6Ovom+LIR/Z2geE/QrgfcDtQLNHRqAg/+VfcOL3TtbhZ49eykj5d0kaWOI+MvG8mJgYPDA+nt677WgCWXlFYyyz6eVOc7D6pUyZiBhfk2NcclI/oOx5ggHY4gIIJ1e0zmVVZvWiIms0IWdkihZsBmTLa9jvhwDsQc/yvEWcIxiur3StKBPxhttAN5NuLJRNJzdV1knbPfMF+q2TKinRrpVZowlCv71El3Ij9RRXmvCrTbS3zau8yFK4LDP3TFXe8wnqMwqsUj/Kxts4ELhUTLWacAXVinVr47ZzseErZ8dYr+/AdvAlpWnKHYZqorvYkEqe/1yfohUyHKHI7naB0vjIXNoWMyDUMKS11kMd+QBApcEfNnxn4RRHEgQLHRX6dCwHPT30YV27ddPNenOktNS8E3qD1gVKqt1MiCZ1/o5PerZJCtJ1uLq+xjshg34BRYlEjHNMg/D1xPTIlTe64BWiAHs3JreIXk7BHGGM7Kel2aio9h628BC6OUJDbrnouppIvC7SoBDBxaYE5GKlrVGk7gYbL5BMpAqOM7W2PrOzS/1CSB4W3UZUAGQytcSKjitj95W/oiQbhrMOfjk38cVuRA/ugwZIUAaKTuFXaZAbMho47y3IGoyD+WhiYwaVZXh1M7/UFO6UhM8NCtat+jOTt31npuB6xr+IyZ7s2CJg7xG3awyGbNxn+vP9hb3pDG61apAf7CLoQBYNBTGVQ2hVIbLQK+20NuGIQkNoftJJGRYBAc6tvu6DjPdcuy1kHgZ7b1OKTLHbvPkcUcFsQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 57ae1227-450c-4954-a28f-08dc57470815 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2024 21:09:37.1316 (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: AS8P250MB0234 Subject: [FFmpeg-devel] [PATCH 07/17] avcodec/ac3enc: Remove disabled code for RealAudio variant of AC-3 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: AZwLD7s6BkAE Implicitly disabled by 4679a474f06c229b10976d7f0b4eee0613c2715a. Given that no one has ever complained about this, this commit removes the now dead code. Signed-off-by: Andreas Rheinhardt --- doc/encoders.texi | 3 +-- libavcodec/ac3enc.c | 43 +++++++++++++------------------------------ libavcodec/ac3enc.h | 2 -- libavcodec/eac3enc.c | 9 ++------- 4 files changed, 16 insertions(+), 41 deletions(-) diff --git a/doc/encoders.texi b/doc/encoders.texi index 8dd709186e..c08e40ee45 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -144,8 +144,7 @@ If this option is unspecified it is set to @samp{aac_low}. AC-3 audio encoders. -These encoders implement part of ATSC A/52:2010 and ETSI TS 102 366, as well as -the undocumented RealAudio 3 (a.k.a. dnet). +These encoders implement part of ATSC A/52:2010 and ETSI TS 102 366. The @var{ac3} encoder uses floating-point math, while the @var{ac3_fixed} encoder only uses fixed-point integer math. This does not mean that one is diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index 32aaf89ec1..12bd3b25f3 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -874,8 +874,8 @@ static av_cold void bit_alloc_init(AC3EncodeContext *s) /* compute real values */ /* currently none of these values change during encoding, so we can just set them once at initialization */ - s->bit_alloc.slow_decay = ff_ac3_slow_decay_tab[s->slow_decay_code] >> s->bit_alloc.sr_shift; - s->bit_alloc.fast_decay = ff_ac3_fast_decay_tab[s->fast_decay_code] >> s->bit_alloc.sr_shift; + s->bit_alloc.slow_decay = ff_ac3_slow_decay_tab[s->slow_decay_code]; + s->bit_alloc.fast_decay = ff_ac3_fast_decay_tab[s->fast_decay_code]; s->bit_alloc.slow_gain = ff_ac3_slow_gain_tab[s->slow_gain_code]; s->bit_alloc.db_per_bit = ff_ac3_db_per_bit_tab[s->db_per_bit_code]; s->bit_alloc.floor = ff_ac3_floor_tab[s->floor_code]; @@ -1812,8 +1812,6 @@ static void dprint_options(AC3EncodeContext *s) switch (s->bitstream_id) { case 6: msg = "AC-3 (alt syntax)"; break; case 8: msg = "AC-3 (standard)"; break; - case 9: msg = "AC-3 (dnet half-rate)"; break; - case 10: msg = "AC-3 (dnet quater-rate)"; break; case 16: msg = "E-AC-3 (enhanced)"; break; default: msg = "ERROR"; } @@ -2132,18 +2130,8 @@ int ff_ac3_validate_metadata(AC3EncodeContext *s) } /* set bitstream id for alternate bitstream syntax */ - if (!s->eac3 && (opt->extended_bsi_1 || opt->extended_bsi_2)) { - if (s->bitstream_id > 8 && s->bitstream_id < 11) { - if (!s->warned_alternate_bitstream) { - av_log(avctx, AV_LOG_WARNING, "alternate bitstream syntax is " - "not compatible with reduced samplerates. writing of " - "extended bitstream information will be disabled.\n"); - s->warned_alternate_bitstream = 1; - } - } else { - s->bitstream_id = 6; - } - } + if (!s->eac3 && (opt->extended_bsi_1 || opt->extended_bsi_2)) + s->bitstream_id = 6; return 0; } @@ -2233,23 +2221,18 @@ static av_cold void set_channel_info(AVCodecContext *avctx) static av_cold int validate_options(AC3EncodeContext *s) { AVCodecContext *avctx = s->avctx; - int i, ret, max_sr; + int ret; set_channel_info(avctx); - /* validate sample rate */ - /* note: max_sr could be changed from 2 to 5 for E-AC-3 once we find a - decoder that supports half sample rate so we can validate that - the generated files are correct. */ - max_sr = s->eac3 ? 2 : 8; - for (i = 0; i <= max_sr; i++) { - if ((ff_ac3_sample_rate_tab[i % 3] >> (i / 3)) == avctx->sample_rate) + for (int i = 0;; i++) { + if (ff_ac3_sample_rate_tab[i] == avctx->sample_rate) { + s->bit_alloc.sr_code = i; break; + } } s->sample_rate = avctx->sample_rate; - s->bit_alloc.sr_shift = i / 3; - s->bit_alloc.sr_code = i % 3; - s->bitstream_id = s->eac3 ? 16 : 8 + s->bit_alloc.sr_shift; + s->bitstream_id = s->eac3 ? 16 : 8; /* select a default bit rate if not set by the user */ if (!avctx->bit_rate) { @@ -2297,7 +2280,7 @@ static av_cold int validate_options(AC3EncodeContext *s) parameter selection */ min_br_code = -1; min_br_dist = INT64_MAX; - for (i = 0; i < 19; i++) { + for (int i = 0; i < 19; i++) { long long br_dist = llabs(ff_ac3_bitrate_tab[i] * 1000 - avctx->bit_rate); if (br_dist < min_br_dist) { min_br_dist = br_dist; @@ -2313,8 +2296,8 @@ static av_cold int validate_options(AC3EncodeContext *s) } else { int best_br = 0, best_code = 0; long long best_diff = INT64_MAX; - for (i = 0; i < 19; i++) { - int br = (ff_ac3_bitrate_tab[i] >> s->bit_alloc.sr_shift) * 1000; + for (int i = 0; i < 19; i++) { + int br = ff_ac3_bitrate_tab[i] * 1000; long long diff = llabs(br - avctx->bit_rate); if (diff < best_diff) { best_br = br; diff --git a/libavcodec/ac3enc.h b/libavcodec/ac3enc.h index 1cb1aac4b2..dad53cc4bb 100644 --- a/libavcodec/ac3enc.h +++ b/libavcodec/ac3enc.h @@ -256,8 +256,6 @@ typedef struct AC3EncodeContext { uint8_t *ref_bap [AC3_MAX_CHANNELS][AC3_MAX_BLOCKS]; ///< bit allocation pointers (bap) int ref_bap_set; ///< indicates if ref_bap pointers have been set - int warned_alternate_bitstream; - /* fixed vs. float function pointers */ int (*mdct_init)(struct AC3EncodeContext *s); diff --git a/libavcodec/eac3enc.c b/libavcodec/eac3enc.c index 527f77e33a..5deda083c3 100644 --- a/libavcodec/eac3enc.c +++ b/libavcodec/eac3enc.c @@ -134,13 +134,8 @@ void ff_eac3_output_frame_header(AC3EncodeContext *s) put_bits(&s->pb, 2, 0); /* stream type = independent */ put_bits(&s->pb, 3, 0); /* substream id = 0 */ put_bits(&s->pb, 11, (s->frame_size / 2) - 1); /* frame size */ - if (s->bit_alloc.sr_shift) { - put_bits(&s->pb, 2, 0x3); /* fscod2 */ - put_bits(&s->pb, 2, s->bit_alloc.sr_code); /* sample rate code */ - } else { - put_bits(&s->pb, 2, s->bit_alloc.sr_code); /* sample rate code */ - put_bits(&s->pb, 2, s->num_blks_code); /* number of blocks */ - } + put_bits(&s->pb, 2, s->bit_alloc.sr_code); /* sample rate code */ + put_bits(&s->pb, 2, s->num_blks_code); /* number of blocks */ put_bits(&s->pb, 3, s->channel_mode); /* audio coding mode */ put_bits(&s->pb, 1, s->lfe_on); /* LFE channel indicator */ put_bits(&s->pb, 5, s->bitstream_id); /* bitstream id (EAC3=16) */