From patchwork Thu Feb 18 03:42:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 25750 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 8889744A234 for ; Thu, 18 Feb 2021 05:46:52 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DC9B068A132; Thu, 18 Feb 2021 05:43:17 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 01C2668A477 for ; Thu, 18 Feb 2021 05:43:03 +0200 (EET) Received: by mail-wr1-f53.google.com with SMTP id n6so1142080wrv.8 for ; Wed, 17 Feb 2021 19:43:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to :mime-version:content-transfer-encoding; bh=hwuV7BFQPpOvYbJkFEEZfdwRMwZP6cTLKf07IMZ/wQU=; b=Dt7/RmNPC3V6iQA8cSIsL66DSB8rEoKmmhj5w8vep3JvaM4ztD4Ssnr+9CndAnyBuV M1T782IRPhDPoknVfn/lABjlzNkUaAmuQmtKdt7IM6gNE4Th2XqDcF1nE0qofcvwXnNu Yy3lqdVsr8mPkOgyMgFhp1X1yHMs79Yi3QxjGKWKl5/+6f4nRo/n9d/zeiremDaJMqRq AOHs7KB8wArUEhzMf1VpvCuJN+w0UmkWB0xWmeS0IZlEui/kplJnbLtAHlFFe3egngNM 1A2sYKWViosM5+HDw758V2J3Ayb8r+Drj6yiKfQzg7SZQQPzl5fRIenBsZECBXuq13wl KXSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:reply-to:mime-version:content-transfer-encoding; bh=hwuV7BFQPpOvYbJkFEEZfdwRMwZP6cTLKf07IMZ/wQU=; b=ZsskMig6aeW7f3BHmcIl9YxC5v9WMBQXswsDDu4RVvO2D0jUYYvJhHST+60T8dQICY uJYc5wGgkgWLUaRmsD+d2n5C2qL2ErhthVEmFYpruD6aGiTT2HdlnsLKL26e0kcoqn2j kkU+osMStgPiWWRCE7s2zElehL/NzPXH4QKKIkcrvnb1T2m8mrL6EwFQWzdkz79Fe/VY a7okKnq6mZEyw0ZC/tW4gZLJa8Y44ofQKhyo54ZwcEHZHkbf7wHhEPUZRfllkmDuh5vw avICdDkwHwLUbygVFniVTwHvmOu51fHu+dpEZPgkBOOcc4B/XPrSN8JcifwlCzTw5str epLQ== X-Gm-Message-State: AOAM5303BGUBBBOVET59F4/RHUhtqLhHID0f1OXTWimB2blOJAPRwJXG TMSfgzqI84/LIujBfmJ+gNLx7lXFBKA= X-Google-Smtp-Source: ABdhPJxnkLR9DIgX/eaji/8hZfKAw1xc79S5+O4GOixLhe2Mf+rRBrSDuqSvZZqCO4dm8qcJR1lrqQ== X-Received: by 2002:adf:a59a:: with SMTP id g26mr2144425wrc.271.1613619783093; Wed, 17 Feb 2021 19:43:03 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id p9sm5643855wmc.1.2021.02.17.19.43.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Feb 2021 19:43:02 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 18 Feb 2021 04:42:11 +0100 Message-Id: <20210218034214.2090223-26-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210218034214.2090223-1-andreas.rheinhardt@gmail.com> References: <20210218034214.2090223-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 26/29] avformat/aiff: Deduplicate codec tags and codec tags list X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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" Also saves a relocation. Signed-off-by: Andreas Rheinhardt --- libavformat/Makefile | 4 ++-- libavformat/aiff.c | 54 +++++++++++++++++++++++++++++++++++++++++++ libavformat/aiff.h | 30 ++---------------------- libavformat/aiffdec.c | 2 +- libavformat/aiffenc.c | 2 +- 5 files changed, 60 insertions(+), 32 deletions(-) create mode 100644 libavformat/aiff.c diff --git a/libavformat/Makefile b/libavformat/Makefile index 890c7592e7..d6c62f3014 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -81,9 +81,9 @@ OBJS-$(CONFIG_ADX_DEMUXER) += adxdec.o OBJS-$(CONFIG_ADX_MUXER) += rawenc.o OBJS-$(CONFIG_AEA_DEMUXER) += aea.o pcm.o OBJS-$(CONFIG_AFC_DEMUXER) += afc.o -OBJS-$(CONFIG_AIFF_DEMUXER) += aiffdec.o pcm.o \ +OBJS-$(CONFIG_AIFF_DEMUXER) += aiffdec.o aiff.o pcm.o \ mov_chan.o replaygain.o -OBJS-$(CONFIG_AIFF_MUXER) += aiffenc.o id3v2enc.o +OBJS-$(CONFIG_AIFF_MUXER) += aiffenc.o aiff.o id3v2enc.o OBJS-$(CONFIG_AIX_DEMUXER) += aixdec.o OBJS-$(CONFIG_ALP_DEMUXER) += alp.o OBJS-$(CONFIG_ALP_MUXER) += alp.o diff --git a/libavformat/aiff.c b/libavformat/aiff.c new file mode 100644 index 0000000000..0f25b436bd --- /dev/null +++ b/libavformat/aiff.c @@ -0,0 +1,54 @@ +/* + * AIFF/AIFF-C muxer/demuxer common data + * Copyright (c) 2006 Patrick Guimond + * + * 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 +#include "libavcodec/codec_id.h" +#include "internal.h" + +const AVCodecTag ff_codec_aiff_tags[] = { + { AV_CODEC_ID_PCM_S16BE, MKTAG('N','O','N','E') }, + { AV_CODEC_ID_PCM_S8, MKTAG('N','O','N','E') }, + { AV_CODEC_ID_PCM_U8, MKTAG('r','a','w',' ') }, + { AV_CODEC_ID_PCM_S24BE, MKTAG('N','O','N','E') }, + { AV_CODEC_ID_PCM_S32BE, MKTAG('N','O','N','E') }, + { AV_CODEC_ID_PCM_F32BE, MKTAG('f','l','3','2') }, + { AV_CODEC_ID_PCM_F64BE, MKTAG('f','l','6','4') }, + { AV_CODEC_ID_PCM_ALAW, MKTAG('a','l','a','w') }, + { AV_CODEC_ID_PCM_MULAW, MKTAG('u','l','a','w') }, + { AV_CODEC_ID_PCM_S24BE, MKTAG('i','n','2','4') }, + { AV_CODEC_ID_PCM_S32BE, MKTAG('i','n','3','2') }, + { AV_CODEC_ID_MACE3, MKTAG('M','A','C','3') }, + { AV_CODEC_ID_MACE6, MKTAG('M','A','C','6') }, + { AV_CODEC_ID_GSM, MKTAG('G','S','M',' ') }, + { AV_CODEC_ID_ADPCM_G722, MKTAG('G','7','2','2') }, + { AV_CODEC_ID_ADPCM_G726LE, MKTAG('G','7','2','6') }, + { AV_CODEC_ID_PCM_S16BE, MKTAG('t','w','o','s') }, + { AV_CODEC_ID_PCM_S16LE, MKTAG('s','o','w','t') }, + { AV_CODEC_ID_ADPCM_IMA_QT, MKTAG('i','m','a','4') }, + { AV_CODEC_ID_QDMC, MKTAG('Q','D','M','C') }, + { AV_CODEC_ID_QDM2, MKTAG('Q','D','M','2') }, + { AV_CODEC_ID_QCELP, MKTAG('Q','c','l','p') }, + { AV_CODEC_ID_SDX2_DPCM, MKTAG('S','D','X','2') }, + { AV_CODEC_ID_ADPCM_IMA_WS, MKTAG('A','D','P','4') }, + { AV_CODEC_ID_NONE, 0 }, +}; + +const AVCodecTag *const ff_aiff_codec_tags_list[] = { ff_codec_aiff_tags, NULL }; diff --git a/libavformat/aiff.h b/libavformat/aiff.h index 0ed10a241a..7c7c55cb50 100644 --- a/libavformat/aiff.h +++ b/libavformat/aiff.h @@ -27,35 +27,9 @@ #ifndef AVFORMAT_AIFF_H #define AVFORMAT_AIFF_H -#include "avformat.h" #include "internal.h" -static const AVCodecTag ff_codec_aiff_tags[] = { - { AV_CODEC_ID_PCM_S16BE, MKTAG('N','O','N','E') }, - { AV_CODEC_ID_PCM_S8, MKTAG('N','O','N','E') }, - { AV_CODEC_ID_PCM_U8, MKTAG('r','a','w',' ') }, - { AV_CODEC_ID_PCM_S24BE, MKTAG('N','O','N','E') }, - { AV_CODEC_ID_PCM_S32BE, MKTAG('N','O','N','E') }, - { AV_CODEC_ID_PCM_F32BE, MKTAG('f','l','3','2') }, - { AV_CODEC_ID_PCM_F64BE, MKTAG('f','l','6','4') }, - { AV_CODEC_ID_PCM_ALAW, MKTAG('a','l','a','w') }, - { AV_CODEC_ID_PCM_MULAW, MKTAG('u','l','a','w') }, - { AV_CODEC_ID_PCM_S24BE, MKTAG('i','n','2','4') }, - { AV_CODEC_ID_PCM_S32BE, MKTAG('i','n','3','2') }, - { AV_CODEC_ID_MACE3, MKTAG('M','A','C','3') }, - { AV_CODEC_ID_MACE6, MKTAG('M','A','C','6') }, - { AV_CODEC_ID_GSM, MKTAG('G','S','M',' ') }, - { AV_CODEC_ID_ADPCM_G722, MKTAG('G','7','2','2') }, - { AV_CODEC_ID_ADPCM_G726LE, MKTAG('G','7','2','6') }, - { AV_CODEC_ID_PCM_S16BE, MKTAG('t','w','o','s') }, - { AV_CODEC_ID_PCM_S16LE, MKTAG('s','o','w','t') }, - { AV_CODEC_ID_ADPCM_IMA_QT, MKTAG('i','m','a','4') }, - { AV_CODEC_ID_QDMC, MKTAG('Q','D','M','C') }, - { AV_CODEC_ID_QDM2, MKTAG('Q','D','M','2') }, - { AV_CODEC_ID_QCELP, MKTAG('Q','c','l','p') }, - { AV_CODEC_ID_SDX2_DPCM, MKTAG('S','D','X','2') }, - { AV_CODEC_ID_ADPCM_IMA_WS, MKTAG('A','D','P','4') }, - { AV_CODEC_ID_NONE, 0 }, -}; +extern const AVCodecTag ff_codec_aiff_tags[]; +extern const AVCodecTag *const ff_aiff_codec_tags_list[]; #endif /* AVFORMAT_AIFF_H */ diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c index 81189316ff..5abc0c9643 100644 --- a/libavformat/aiffdec.c +++ b/libavformat/aiffdec.c @@ -430,5 +430,5 @@ AVInputFormat ff_aiff_demuxer = { .read_header = aiff_read_header, .read_packet = aiff_read_packet, .read_seek = ff_pcm_read_seek, - .codec_tag = (const AVCodecTag* const []){ ff_codec_aiff_tags, 0 }, + .codec_tag = ff_aiff_codec_tags_list, }; diff --git a/libavformat/aiffenc.c b/libavformat/aiffenc.c index c4ffe9f6d0..53a2f97e22 100644 --- a/libavformat/aiffenc.c +++ b/libavformat/aiffenc.c @@ -305,6 +305,6 @@ AVOutputFormat ff_aiff_muxer = { .write_packet = aiff_write_packet, .write_trailer = aiff_write_trailer, .deinit = aiff_deinit, - .codec_tag = (const AVCodecTag* const []){ ff_codec_aiff_tags, 0 }, + .codec_tag = ff_aiff_codec_tags_list, .priv_class = &aiff_muxer_class, };