History

lavf: add functions for accessing the fourcc<->CodecID mapping tables.

Fixes bug 212.

Anton Khirnov committed 14 years ago

Commit dd6d3b01 parent bc901994 files · +63 −27Browse files

Unified · Split

4 files
  1. doc/APIchanges +3 −0
  2. libavformat/Makefile +27 −27
  3. libavformat/avformat.h +24 −0
  4. libavformat/utils.c +9 −0
doc/APIchanges+3−0
@@ -13,6 +13,9 @@ libavutil: 2011-04-18 · 12 unmodified lines
1313
1414 API changes, most recent first:
1515
16+2012-01-31 - xxxxxxx - lavf 54.01.0
17+ Add avformat_get_riff_video_tags() and avformat_get_riff_audio_tags().
18+
1619 2012-01-31 - xxxxxxx - lavc 54.01.0
1720 Add avcodec_is_open() function.
1821
libavformat/Makefile+27−27
@@ -10,6 +10,7 @@ OBJS = allformats.o \ · 9 unmodified lines
1010 metadata.o \
1111 options.o \
1212 os_support.o \
13+ riff.o \
1314 sdp.o \
1415 seek.o \
1516 utils.o \
@@ -25,8 +26,8 @@ OBJS-$(CONFIG_ADX_DEMUXER) += adxdec.o · 9 unmodified lines
2526 OBJS-$(CONFIG_ADX_MUXER) += rawenc.o
2627 OBJS-$(CONFIG_ADTS_MUXER) += adtsenc.o
2728 OBJS-$(CONFIG_AEA_DEMUXER) += aea.o pcm.o
28−OBJS-$(CONFIG_AIFF_DEMUXER) += aiffdec.o riff.o pcm.o
29−OBJS-$(CONFIG_AIFF_MUXER) += aiffenc.o riff.o
29+OBJS-$(CONFIG_AIFF_DEMUXER) += aiffdec.o pcm.o
30+OBJS-$(CONFIG_AIFF_MUXER) += aiffenc.o
3031 OBJS-$(CONFIG_AMR_DEMUXER) += amr.o
3132 OBJS-$(CONFIG_AMR_MUXER) += amr.o
3233 OBJS-$(CONFIG_ANM_DEMUXER) += anm.o
@@ -34,14 +35,14 @@ OBJS-$(CONFIG_APC_DEMUXER) += apc.o · 1 unmodified line
3435 OBJS-$(CONFIG_APE_DEMUXER) += ape.o apetag.o
3536 OBJS-$(CONFIG_APPLEHTTP_DEMUXER) += applehttp.o
3637 OBJS-$(CONFIG_ASF_DEMUXER) += asfdec.o asf.o asfcrypt.o \
37− riff.o avlanguage.o
38−OBJS-$(CONFIG_ASF_MUXER) += asfenc.o asf.o riff.o
38+ avlanguage.o
39+OBJS-$(CONFIG_ASF_MUXER) += asfenc.o asf.o
3940 OBJS-$(CONFIG_ASS_DEMUXER) += assdec.o
4041 OBJS-$(CONFIG_ASS_MUXER) += assenc.o
4142 OBJS-$(CONFIG_AU_DEMUXER) += au.o pcm.o
4243 OBJS-$(CONFIG_AU_MUXER) += au.o
43−OBJS-$(CONFIG_AVI_DEMUXER) += avidec.o riff.o
44−OBJS-$(CONFIG_AVI_MUXER) += avienc.o riff.o
44+OBJS-$(CONFIG_AVI_DEMUXER) += avidec.o
45+OBJS-$(CONFIG_AVI_MUXER) += avienc.o
4546 OBJS-$(CONFIG_AVISYNTH) += avisynth.o
4647 OBJS-$(CONFIG_AVM2_MUXER) += swfenc.o
4748 OBJS-$(CONFIG_AVS_DEMUXER) += avs.o vocdec.o voc.o
@@ -51,7 +52,7 @@ OBJS-$(CONFIG_BINK_DEMUXER) += bink.o · 3 unmodified lines
5152 OBJS-$(CONFIG_BMV_DEMUXER) += bmv.o
5253 OBJS-$(CONFIG_C93_DEMUXER) += c93.o vocdec.o voc.o
5354 OBJS-$(CONFIG_CAF_DEMUXER) += cafdec.o caf.o mov.o mov_chan.o \
54− riff.o isom.o
55+ isom.o
5556 OBJS-$(CONFIG_CAVSVIDEO_DEMUXER) += cavsvideodec.o rawdec.o
5657 OBJS-$(CONFIG_CAVSVIDEO_MUXER) += rawenc.o
5758 OBJS-$(CONFIG_CDG_DEMUXER) += cdg.o
@@ -68,7 +69,7 @@ OBJS-$(CONFIG_DTS_DEMUXER) += dtsdec.o rawdec.o · 10 unmodified lines
6869 OBJS-$(CONFIG_DTS_MUXER) += rawenc.o
6970 OBJS-$(CONFIG_DV_DEMUXER) += dv.o
7071 OBJS-$(CONFIG_DV_MUXER) += dvenc.o
71−OBJS-$(CONFIG_DXA_DEMUXER) += dxa.o riff.o
72+OBJS-$(CONFIG_DXA_DEMUXER) += dxa.o
7273 OBJS-$(CONFIG_EA_CDATA_DEMUXER) += eacdata.o
7374 OBJS-$(CONFIG_EA_DEMUXER) += electronicarts.o
7475 OBJS-$(CONFIG_EAC3_DEMUXER) += ac3dec.o rawdec.o
@@ -112,7 +113,7 @@ OBJS-$(CONFIG_INGENIENT_DEMUXER) += ingenientdec.o rawdec.o · 37 unmodified lines
112113 OBJS-$(CONFIG_IPMOVIE_DEMUXER) += ipmovie.o
113114 OBJS-$(CONFIG_ISS_DEMUXER) += iss.o
114115 OBJS-$(CONFIG_IV8_DEMUXER) += iv8.o
115−OBJS-$(CONFIG_IVF_DEMUXER) += ivfdec.o riff.o
116+OBJS-$(CONFIG_IVF_DEMUXER) += ivfdec.o
116117 OBJS-$(CONFIG_IVF_MUXER) += ivfenc.o
117118 OBJS-$(CONFIG_JV_DEMUXER) += jvdec.o
118119 OBJS-$(CONFIG_LATM_DEMUXER) += rawdec.o
@@ -122,9 +123,9 @@ OBJS-$(CONFIG_LXF_DEMUXER) += lxfdec.o · 3 unmodified lines
122123 OBJS-$(CONFIG_M4V_DEMUXER) += m4vdec.o rawdec.o
123124 OBJS-$(CONFIG_M4V_MUXER) += rawenc.o
124125 OBJS-$(CONFIG_MATROSKA_DEMUXER) += matroskadec.o matroska.o \
125− riff.o isom.o rmdec.o rm.o
126+ isom.o rmdec.o rm.o
126127 OBJS-$(CONFIG_MATROSKA_MUXER) += matroskaenc.o matroska.o \
127− riff.o isom.o avc.o \
128+ isom.o avc.o \
128129 flacenc_header.o avlanguage.o
129130 OBJS-$(CONFIG_MD5_MUXER) += md5enc.o
130131 OBJS-$(CONFIG_MJPEG_DEMUXER) += rawdec.o
@@ -133,9 +134,9 @@ OBJS-$(CONFIG_MLP_DEMUXER) += rawdec.o · 2 unmodified lines
133134 OBJS-$(CONFIG_MLP_MUXER) += rawenc.o
134135 OBJS-$(CONFIG_MM_DEMUXER) += mm.o
135136 OBJS-$(CONFIG_MMF_DEMUXER) += mmf.o pcm.o
136−OBJS-$(CONFIG_MMF_MUXER) += mmf.o riff.o
137−OBJS-$(CONFIG_MOV_DEMUXER) += mov.o riff.o isom.o mov_chan.o
138−OBJS-$(CONFIG_MOV_MUXER) += movenc.o riff.o isom.o avc.o \
137+OBJS-$(CONFIG_MMF_MUXER) += mmf.o
138+OBJS-$(CONFIG_MOV_DEMUXER) += mov.o isom.o mov_chan.o
139+OBJS-$(CONFIG_MOV_MUXER) += movenc.o isom.o avc.o \
139140 movenchint.o rtpenc_chain.o \
140141 mov_chan.o
141142 OBJS-$(CONFIG_MP2_MUXER) += mp3enc.o rawenc.o
@@ -164,9 +165,9 @@ OBJS-$(CONFIG_MXG_DEMUXER) += mxg.o · 22 unmodified lines
164165 OBJS-$(CONFIG_NC_DEMUXER) += ncdec.o
165166 OBJS-$(CONFIG_NSV_DEMUXER) += nsvdec.o
166167 OBJS-$(CONFIG_NULL_MUXER) += nullenc.o
167−OBJS-$(CONFIG_NUT_DEMUXER) += nutdec.o nut.o riff.o
168−OBJS-$(CONFIG_NUT_MUXER) += nutenc.o nut.o riff.o
169−OBJS-$(CONFIG_NUV_DEMUXER) += nuv.o riff.o
168+OBJS-$(CONFIG_NUT_DEMUXER) += nutdec.o nut.o
169+OBJS-$(CONFIG_NUT_MUXER) += nutenc.o nut.o
170+OBJS-$(CONFIG_NUV_DEMUXER) += nuv.o
170171 OBJS-$(CONFIG_OGG_DEMUXER) += oggdec.o \
171172 oggparsecelt.o \
172173 oggparsedirac.o \
@@ -176,7 +177,6 @@ OBJS-$(CONFIG_OGG_DEMUXER) += oggdec.o \ · 3 unmodified lines
176177 oggparsespeex.o \
177178 oggparsetheora.o \
178179 oggparsevorbis.o \
179− riff.o \
180180 vorbiscomment.o
181181 OBJS-$(CONFIG_OGG_MUXER) += oggenc.o \
182182 vorbiscomment.o
@@ -301,28 +301,28 @@ OBJS-$(CONFIG_VMD_DEMUXER) += sierravmd.o · 118 unmodified lines
301301 OBJS-$(CONFIG_VOC_DEMUXER) += vocdec.o voc.o
302302 OBJS-$(CONFIG_VOC_MUXER) += vocenc.o voc.o
303303 OBJS-$(CONFIG_VQF_DEMUXER) += vqf.o
304−OBJS-$(CONFIG_W64_DEMUXER) += wav.o riff.o pcm.o
305−OBJS-$(CONFIG_WAV_DEMUXER) += wav.o riff.o pcm.o
306−OBJS-$(CONFIG_WAV_MUXER) += wav.o riff.o
304+OBJS-$(CONFIG_W64_DEMUXER) += wav.o pcm.o
305+OBJS-$(CONFIG_WAV_DEMUXER) += wav.o pcm.o
306+OBJS-$(CONFIG_WAV_MUXER) += wav.o
307307 OBJS-$(CONFIG_WC3_DEMUXER) += wc3movie.o
308308 OBJS-$(CONFIG_WEBM_MUXER) += matroskaenc.o matroska.o \
309− riff.o isom.o avc.o \
309+ isom.o avc.o \
310310 flacenc_header.o avlanguage.o
311311 OBJS-$(CONFIG_WSAUD_DEMUXER) += westwood_aud.o
312312 OBJS-$(CONFIG_WSVQA_DEMUXER) += westwood_vqa.o
313313 OBJS-$(CONFIG_WTV_DEMUXER) += wtv.o asfdec.o asf.o asfcrypt.o \
314− avlanguage.o mpegts.o isom.o riff.o
314+ avlanguage.o mpegts.o isom.o
315315 OBJS-$(CONFIG_WV_DEMUXER) += wv.o apetag.o
316316 OBJS-$(CONFIG_XA_DEMUXER) += xa.o
317−OBJS-$(CONFIG_XMV_DEMUXER) += xmv.o riff.o
318−OBJS-$(CONFIG_XWMA_DEMUXER) += xwma.o riff.o
317+OBJS-$(CONFIG_XMV_DEMUXER) += xmv.o
318+OBJS-$(CONFIG_XWMA_DEMUXER) += xwma.o
319319 OBJS-$(CONFIG_YOP_DEMUXER) += yop.o
320320 OBJS-$(CONFIG_YUV4MPEGPIPE_MUXER) += yuv4mpeg.o
321321 OBJS-$(CONFIG_YUV4MPEGPIPE_DEMUXER) += yuv4mpeg.o
322322
323323 # external libraries
324−OBJS-$(CONFIG_LIBNUT_DEMUXER) += libnut.o riff.o
325−OBJS-$(CONFIG_LIBNUT_MUXER) += libnut.o riff.o
324+OBJS-$(CONFIG_LIBNUT_DEMUXER) += libnut.o
325+OBJS-$(CONFIG_LIBNUT_MUXER) += libnut.o
326326
327327 # protocols I/O
328328 OBJS+= avio.o aviobuf.o
libavformat/avformat.h+24−0
@@ -1600,6 +1600,30 @@ int av_match_ext(const char *filename, const char *extensions); · 1599 unmodified lines
16001600 */
16011601 int avformat_query_codec(AVOutputFormat *ofmt, enum CodecID codec_id, int std_compliance);
16021602
1603+/**
1604+ * @defgroup riff_fourcc RIFF FourCCs
1605+ * @{
1606+ * Get the tables mapping RIFF FourCCs to libavcodec CodecIDs. The tables are
1607+ * meant to be passed to av_codec_get_id()/av_codec_get_tag() as in the
1608+ * following code:
1609+ * @code
1610+ * uint32_t tag = MKTAG('H', '2', '6', '4');
1611+ * const struct AVCodecTag *table[] = { avformat_get_riff_video_tags(), 0 };
1612+ * enum CodecID id = av_codec_get_id(table, tag);
1613+ * @endcode
1614+ */
1615+/**
1616+ * @return the table mapping RIFF FourCCs for video to libavcodec CodecID.
1617+ */
1618+const struct AVCodecTag *avformat_get_riff_video_tags(void);
1619+/**
1620+ * @return the table mapping RIFF FourCCs for audio to CodecID.
1621+ */
1622+const struct AVCodecTag *avformat_get_riff_audio_tags(void);
1623+/**
1624+ * @}
1625+ */
1626+
16031627 /**
16041628 * @}
16051629 */
libavformat/utils.c+9−0
@@ -3874,3 +3874,12 @@ int ff_add_param_change(AVPacket *pkt, int32_t channels, · 3873 unmodified lines
38743874 }
38753875 return 0;
38763876 }
3877+
3878+const struct AVCodecTag *avformat_get_riff_video_tags(void)
3879+{
3880+ return ff_codec_bmp_tags;
3881+}
3882+const struct AVCodecTag *avformat_get_riff_audio_tags(void)
3883+{
3884+ return ff_codec_wav_tags;
3885+}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t