[FFmpeg-cvslog] avformat/avienc, wtvenc: Deduplicate codec tags list

Andreas Rheinhardt git at videolan.org
Tue Feb 23 12:37:01 EET 2021


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Thu Feb 18 03:26:57 2021 +0100| [09e6d3a026d25840bf783cc7e6541976b765d1a3] | committer: Andreas Rheinhardt

avformat/avienc, wtvenc: Deduplicate codec tags list

Also saves relocations.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=09e6d3a026d25840bf783cc7e6541976b765d1a3
---

 libavformat/avienc.c | 4 +---
 libavformat/riff.c   | 7 +++++++
 libavformat/riff.h   | 2 ++
 libavformat/wtvenc.c | 3 +--
 4 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/libavformat/avienc.c b/libavformat/avienc.c
index 1b2cb529b9..9cbf3d3349 100644
--- a/libavformat/avienc.c
+++ b/libavformat/avienc.c
@@ -1018,8 +1018,6 @@ AVOutputFormat ff_avi_muxer = {
     .write_header   = avi_write_header,
     .write_packet   = avi_write_packet,
     .write_trailer  = avi_write_trailer,
-    .codec_tag      = (const AVCodecTag * const []) {
-        ff_codec_bmp_tags, ff_codec_wav_tags, 0
-    },
+    .codec_tag      = ff_riff_codec_tags_list,
     .priv_class     = &avi_muxer_class,
 };
diff --git a/libavformat/riff.c b/libavformat/riff.c
index 388047fc4b..eee78c229c 100644
--- a/libavformat/riff.c
+++ b/libavformat/riff.c
@@ -19,6 +19,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config.h"
 #include "libavutil/error.h"
 #include "libavcodec/avcodec.h"
 #include "avformat.h"
@@ -589,6 +590,12 @@ const AVCodecTag ff_codec_wav_tags[] = {
     { AV_CODEC_ID_NONE,      0 },
 };
 
+#if CONFIG_AVI_MUXER || CONFIG_WTV_MUXER
+const AVCodecTag *const ff_riff_codec_tags_list[] = {
+    ff_codec_bmp_tags, 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 127138d2bc..47dbaeafd1 100644
--- a/libavformat/riff.h
+++ b/libavformat/riff.h
@@ -72,6 +72,8 @@ int ff_get_wav_header(AVFormatContext *s, AVIOContext *pb, AVCodecParameters *pa
 
 extern const AVCodecTag ff_codec_bmp_tags[]; // exposed through avformat_get_riff_video_tags()
 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[];
 
 extern const AVCodecTag ff_codec_bmp_tags_unofficial[];
 
diff --git a/libavformat/wtvenc.c b/libavformat/wtvenc.c
index b53fdf9048..24fdbe1099 100644
--- a/libavformat/wtvenc.c
+++ b/libavformat/wtvenc.c
@@ -839,6 +839,5 @@ AVOutputFormat ff_wtv_muxer = {
     .write_header   = write_header,
     .write_packet   = write_packet,
     .write_trailer  = write_trailer,
-    .codec_tag      = (const AVCodecTag* const []){ ff_codec_bmp_tags,
-                                                    ff_codec_wav_tags, 0 },
+    .codec_tag      = ff_riff_codec_tags_list,
 };



More information about the ffmpeg-cvslog mailing list