From patchwork Fri Jun 17 13:04:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 36300 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1a22:b0:84:42e0:ad30 with SMTP id cj34csp120320pzb; Fri, 17 Jun 2022 06:05:21 -0700 (PDT) X-Google-Smtp-Source: AGRyM1v3ZWgQ/BMr+nQxlzLFZePEe0a47kwgjfvCUDNXfFaKoryJoTp2ZUU5l3UAh6pUT4XXhNJq X-Received: by 2002:a17:906:ff18:b0:711:d197:b942 with SMTP id zn24-20020a170906ff1800b00711d197b942mr9142532ejb.357.1655471120977; Fri, 17 Jun 2022 06:05:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655471120; cv=none; d=google.com; s=arc-20160816; b=K3PUL2eLviEjuom3hmJpN+/f2mLUUPNd8a85Be8kh6I2tkLXjWhDEJdVd+u2YgCHMQ WU31/UHR+HOqOeCwtlc+qXjtHck+iDmjt1zQWmDCxJDOJO2fTE+JL7agV1CucmwvYd/y 3l+YRyhDb+dCoxiFJKD62NXuC/zeOaD4WNa9+I3rzvkf8WxsBCFMC0cqci4Mzcg3tTdl e84YOqikzI+t+7Hdx2ICQh98b2Up4vHCmBV+5gwu7gPrCYwIY7bsVqEKqj5wK7H3r18P WZDku/Bd8qbLy4nyO7bVRkTFXf2npdm4TSp9QdRyIXIwYve0hVkJLRyFMOSCvCLa7Lz9 457w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=+W1Y43ieY9QvQrCgbJ8s6oQdZM/ND0JPT5wOltu7Z1M=; b=SPSygol1bFWPJ+x+wCDd03qga74FqqWVfFJ5NNwlKG+vaho798+R8w26M/Abn2IRdk IFxd986jQJgvOdL/ts9LNOtifVZAooWiAWYnxiC/9itk0WsgQVe2tc0GyDa8sw17vw28 +dhP2l3LmCV6S3NwrStPoRVb9pRrwA4D+pDU8i6XscpsDpn7B3nnmB3tJLO9Ychz2DzY fKZGZ3X/UTClhtBpNUiZICN98G2EXeUB27vsNPFZCt5jCxNOPJhYhCjzWl16s44MGFoU 7jrIe8G+yqAsczesT2NOMRzrJ9pwJARxPzwdSKGolNggNZ79VLi4OknizVQETSaddLDg 5wqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=TpdKZKlt; 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=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id s8-20020a170906454800b00709af14e386si4887040ejq.205.2022.06.17.06.05.19; Fri, 17 Jun 2022 06:05:20 -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=@gmail.com header.s=20210112 header.b=TpdKZKlt; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5DA4368B8BE; Fri, 17 Jun 2022 16:04:59 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B8D2968B610 for ; Fri, 17 Jun 2022 16:04:51 +0300 (EEST) Received: by mail-lf1-f47.google.com with SMTP id h23so6853944lfe.4 for ; Fri, 17 Jun 2022 06:04:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=zx0Rz9OpLvGAnNegaIt9ohdbqln3jszxLa7y6ojgMPQ=; b=TpdKZKltOJiVFRI5N1C2wh4/FAH7G1cpi0NVcnJR4/IHcZaTEP46fv9sOkdKg040Rf JZF717a9jGRx9JaCwSS+jG9ZvvI+CPVqsRMaSwC4LHHUq1sVAs37FWNGuCQRZtdgjtsQ HZRgFsyB6G48f6/fSJpKnNaUuXFEZ/isQzJ2WcOvG0yjd2jqiugsMdK5X1oJgYrZNuBB 23viaCplLrqF41iZIWHlfL6p1xs1AXwwQ09iitHJQFphSW8Kp7Hd8cGjSoCN1BSFwOWn mGs5n40eGASIh2IHIL3FTVHT7g3AvHIZ4wdlVbt5Jki9mSRPh5FXTk9biB43imcAScHT gsOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zx0Rz9OpLvGAnNegaIt9ohdbqln3jszxLa7y6ojgMPQ=; b=7+ABFz7ZBOl3XHteAaBxEiPqZvBAW2/i9tan7wCWcqf30YPbekSVqn9YrB+7si8XxP BFh6aihO64g2q5i8gNMLY7tNBW3laSQ7Q2ZyzbIulCVonoRes6lpD65nOU2zXiS9XCrq AOqzPtMgtOakpNf7QbIVUqRWyHNifGrQmhN3/72GcEaSyPNPLftIp86BGxXMjRpAT4sn EwxapVmudqasc1+yB+CrTpgYg1ozLkeDWeaKyBqxIXcHCBWqnr/9W1zmY4roek6/sgA8 Xb/b2IXMBIqtOoXk/Rr7YrP2ycy3h4pRJYhyfawV15X6KA8A5+LsqFn7bDlzkCBeI+55 SbCw== X-Gm-Message-State: AJIora/dj+kMvoL5myWi7mGHBGjMWq2T5OZ9gCRxqIAJlDKdjsU99i1z GUfHkQR/1Sqn2BgI0LgBTMyvhgfyDtg= X-Received: by 2002:a05:6512:73:b0:479:2674:f1b6 with SMTP id i19-20020a056512007300b004792674f1b6mr5430856lfo.134.1655471090939; Fri, 17 Jun 2022 06:04:50 -0700 (PDT) Received: from localhost.localdomain (91-153-198-187.elisa-laajakaista.fi. [91.153.198.187]) by smtp.gmail.com with ESMTPSA id k20-20020a192d14000000b00477a287438csm638487lfj.2.2022.06.17.06.04.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jun 2022 06:04:50 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Fri, 17 Jun 2022 16:04:38 +0300 Message-Id: <20220617130443.188377-2-jeebjp@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220617130443.188377-1-jeebjp@gmail.com> References: <20220617130443.188377-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/6] avcodec: make AC-3 bit rate table available in a separate header 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: cYGTBS09e5zu From: Jan Ekström This makes it possible to include it from libavformat --- libavcodec/Makefile | 8 +++++--- libavcodec/ac3_bitrate_tab.c | 22 ++++++++++++++++++++++ libavcodec/ac3_bitrate_tab.h | 33 +++++++++++++++++++++++++++++++++ libavcodec/ac3tab.c | 6 ------ 4 files changed, 60 insertions(+), 9 deletions(-) create mode 100644 libavcodec/ac3_bitrate_tab.c create mode 100644 libavcodec/ac3_bitrate_tab.h diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 3b8f7b5e01..10697d31f7 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -190,8 +190,9 @@ OBJS-$(CONFIG_AC3_DECODER) += ac3dec_float.o ac3dec_data.o ac3.o \ OBJS-$(CONFIG_AC3_FIXED_DECODER) += ac3dec_fixed.o ac3dec_data.o ac3.o \ kbdwin.o ac3tab.o ac3_channel_layout_tab.o OBJS-$(CONFIG_AC3_ENCODER) += ac3enc_float.o ac3enc.o ac3tab.o \ - ac3.o kbdwin.o -OBJS-$(CONFIG_AC3_FIXED_ENCODER) += ac3enc_fixed.o ac3enc.o ac3tab.o ac3.o kbdwin.o + ac3.o kbdwin.o ac3_bitrate_tab.o +OBJS-$(CONFIG_AC3_FIXED_ENCODER) += ac3enc_fixed.o ac3enc.o ac3tab.o \ + ac3.o kbdwin.o ac3_bitrate_tab.o OBJS-$(CONFIG_AC3_MF_ENCODER) += mfenc.o mf_utils.o OBJS-$(CONFIG_ACELP_KELVIN_DECODER) += g729dec.o lsp.o celp_math.o celp_filters.o acelp_filters.o acelp_pitch_delay.o acelp_vectors.o g729postfilter.o OBJS-$(CONFIG_AGM_DECODER) += agm.o @@ -1110,7 +1111,8 @@ OBJS-$(CONFIG_LIBZVBI_TELETEXT_DECODER) += libzvbi-teletextdec.o ass.o OBJS-$(CONFIG_AAC_LATM_PARSER) += latm_parser.o OBJS-$(CONFIG_AAC_PARSER) += aac_parser.o aac_ac3_parser.o OBJS-$(CONFIG_AC3_PARSER) += aac_ac3_parser.o ac3tab.o \ - ac3_channel_layout_tab.o + ac3_channel_layout_tab.o \ + ac3_bitrate_tab.o OBJS-$(CONFIG_ADX_PARSER) += adx_parser.o adx.o OBJS-$(CONFIG_AMR_PARSER) += amr_parser.o OBJS-$(CONFIG_AV1_PARSER) += av1_parser.o diff --git a/libavcodec/ac3_bitrate_tab.c b/libavcodec/ac3_bitrate_tab.c new file mode 100644 index 0000000000..9ae8794a4c --- /dev/null +++ b/libavcodec/ac3_bitrate_tab.c @@ -0,0 +1,22 @@ +/* + * AC-3 bit rate table + * copyright (c) 2001 Fabrice Bellard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "ac3_bitrate_tab.h" diff --git a/libavcodec/ac3_bitrate_tab.h b/libavcodec/ac3_bitrate_tab.h new file mode 100644 index 0000000000..44fc5f59ec --- /dev/null +++ b/libavcodec/ac3_bitrate_tab.h @@ -0,0 +1,33 @@ +/* + * AC-3 bit rate table + * copyright (c) 2001 Fabrice Bellard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_AC3_BITRATE_TAB_H +#define AVCODEC_AC3_BITRATE_TAB_H + +#include + +/* possible bitrates */ +const uint16_t ff_ac3_bitrate_tab[19] = { + 32, 40, 48, 56, 64, 80, 96, 112, 128, + 160, 192, 224, 256, 320, 384, 448, 512, 576, 640 +}; + +#endif diff --git a/libavcodec/ac3tab.c b/libavcodec/ac3tab.c index 48c89a8ba0..75865fd7d2 100644 --- a/libavcodec/ac3tab.c +++ b/libavcodec/ac3tab.c @@ -94,12 +94,6 @@ const uint8_t ff_ac3_dec_channel_map[8][2][6] = { /* possible frequencies */ const int ff_ac3_sample_rate_tab[] = { 48000, 44100, 32000, 0 }; -/* possible bitrates */ -const uint16_t ff_ac3_bitrate_tab[19] = { - 32, 40, 48, 56, 64, 80, 96, 112, 128, - 160, 192, 224, 256, 320, 384, 448, 512, 576, 640 -}; - /** * Table of bin locations for rematrixing bands * reference: Section 7.5.2 Rematrixing : Frequency Band Definitions