From 1df1083b6c8cb2dcfa7bfd183b032ce4cabd69e6 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Thu, 18 Feb 2021 03:43:13 +0100 Subject: [PATCH] avformat/wav: Deduplicate codec tags lists Also saves relocations. Signed-off-by: Andreas Rheinhardt --- libavformat/riff.c | 4 ++++ libavformat/riff.h | 2 ++ libavformat/wavdec.c | 4 ++-- libavformat/wavenc.c | 4 ++-- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/libavformat/riff.c b/libavformat/riff.c index eee78c229c..270ff7c024 100644 --- a/libavformat/riff.c +++ b/libavformat/riff.c @@ -596,6 +596,10 @@ const AVCodecTag *const ff_riff_codec_tags_list[] = { }; #endif +#if CONFIG_WAV_DEMUXER || CONFIG_WAV_MUXER || CONFIG_W64_DEMUXER || CONFIG_W64_MUXER +const AVCodecTag *const ff_wav_codec_tags_list[] = { ff_codec_wav_tags, NULL }; +#endif + const AVMetadataConv ff_riff_info_conv[] = { { "IART", "artist" }, { "ICMT", "comment" }, diff --git a/libavformat/riff.h b/libavformat/riff.h index 47dbaeafd1..0548279c6b 100644 --- a/libavformat/riff.h +++ b/libavformat/riff.h @@ -74,6 +74,8 @@ extern const AVCodecTag ff_codec_bmp_tags[]; // exposed through avformat_get_rif extern const AVCodecTag ff_codec_wav_tags[]; /* The following list contains both ff_codec_bmp_tags and ff_codec_wav_tags. */ extern const AVCodecTag *const ff_riff_codec_tags_list[]; +/* The following list contains only ff_codec_wav_tags. */ +extern const AVCodecTag *const ff_wav_codec_tags_list[]; extern const AVCodecTag ff_codec_bmp_tags_unofficial[]; diff --git a/libavformat/wavdec.c b/libavformat/wavdec.c index ef144502a2..e99de8f6d3 100644 --- a/libavformat/wavdec.c +++ b/libavformat/wavdec.c @@ -821,7 +821,7 @@ AVInputFormat ff_wav_demuxer = { .read_packet = wav_read_packet, .read_seek = wav_read_seek, .flags = AVFMT_GENERIC_INDEX, - .codec_tag = (const AVCodecTag * const []) { ff_codec_wav_tags, 0 }, + .codec_tag = ff_wav_codec_tags_list, .priv_class = &wav_demuxer_class, }; #endif /* CONFIG_WAV_DEMUXER */ @@ -978,7 +978,7 @@ AVInputFormat ff_w64_demuxer = { .read_packet = wav_read_packet, .read_seek = wav_read_seek, .flags = AVFMT_GENERIC_INDEX, - .codec_tag = (const AVCodecTag * const []) { ff_codec_wav_tags, 0 }, + .codec_tag = ff_wav_codec_tags_list, .priv_class = &w64_demuxer_class, }; #endif /* CONFIG_W64_DEMUXER */ diff --git a/libavformat/wavenc.c b/libavformat/wavenc.c index 1027f107ee..b65b8b0940 100644 --- a/libavformat/wavenc.c +++ b/libavformat/wavenc.c @@ -514,7 +514,7 @@ AVOutputFormat ff_wav_muxer = { .write_trailer = wav_write_trailer, .deinit = wav_deinit, .flags = AVFMT_TS_NONSTRICT, - .codec_tag = (const AVCodecTag* const []){ ff_codec_wav_tags, 0 }, + .codec_tag = ff_wav_codec_tags_list, .priv_class = &wav_muxer_class, }; #endif /* CONFIG_WAV_MUXER */ @@ -612,6 +612,6 @@ AVOutputFormat ff_w64_muxer = { .write_packet = wav_write_packet, .write_trailer = w64_write_trailer, .flags = AVFMT_TS_NONSTRICT, - .codec_tag = (const AVCodecTag* const []){ ff_codec_wav_tags, 0 }, + .codec_tag = ff_wav_codec_tags_list, }; #endif /* CONFIG_W64_MUXER */