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
13 13
14API changes, most recent first:14API changes, most recent first:
15 15
162012-01-31 - xxxxxxx - lavf 54.01.0
17 Add avformat_get_riff_video_tags() and avformat_get_riff_audio_tags().
18
162012-01-31 - xxxxxxx - lavc 54.01.0192012-01-31 - xxxxxxx - lavc 54.01.0
17 Add avcodec_is_open() function.20 Add avcodec_is_open() function.
18 21
libavformat/Makefile+27−27
@@ -10,6 +10,7 @@ OBJS = allformats.o \ · 9 unmodified lines
10 metadata.o \10 metadata.o \
11 options.o \11 options.o \
12 os_support.o \12 os_support.o \
13 riff.o \
13 sdp.o \14 sdp.o \
14 seek.o \15 seek.o \
15 utils.o \16 utils.o \
@@ -25,8 +26,8 @@ OBJS-$(CONFIG_ADX_DEMUXER) += adxdec.o · 9 unmodified lines
25OBJS-$(CONFIG_ADX_MUXER) += rawenc.o26OBJS-$(CONFIG_ADX_MUXER) += rawenc.o
26OBJS-$(CONFIG_ADTS_MUXER) += adtsenc.o27OBJS-$(CONFIG_ADTS_MUXER) += adtsenc.o
27OBJS-$(CONFIG_AEA_DEMUXER) += aea.o pcm.o28OBJS-$(CONFIG_AEA_DEMUXER) += aea.o pcm.o
28OBJS-$(CONFIG_AIFF_DEMUXER) += aiffdec.o riff.o pcm.o29OBJS-$(CONFIG_AIFF_DEMUXER) += aiffdec.o pcm.o
29OBJS-$(CONFIG_AIFF_MUXER) += aiffenc.o riff.o30OBJS-$(CONFIG_AIFF_MUXER) += aiffenc.o
30OBJS-$(CONFIG_AMR_DEMUXER) += amr.o31OBJS-$(CONFIG_AMR_DEMUXER) += amr.o
31OBJS-$(CONFIG_AMR_MUXER) += amr.o32OBJS-$(CONFIG_AMR_MUXER) += amr.o
32OBJS-$(CONFIG_ANM_DEMUXER) += anm.o33OBJS-$(CONFIG_ANM_DEMUXER) += anm.o
@@ -34,14 +35,14 @@ OBJS-$(CONFIG_APC_DEMUXER) += apc.o · 1 unmodified line
34OBJS-$(CONFIG_APE_DEMUXER) += ape.o apetag.o35OBJS-$(CONFIG_APE_DEMUXER) += ape.o apetag.o
35OBJS-$(CONFIG_APPLEHTTP_DEMUXER) += applehttp.o36OBJS-$(CONFIG_APPLEHTTP_DEMUXER) += applehttp.o
36OBJS-$(CONFIG_ASF_DEMUXER) += asfdec.o asf.o asfcrypt.o \37OBJS-$(CONFIG_ASF_DEMUXER) += asfdec.o asf.o asfcrypt.o \
37 riff.o avlanguage.o38 avlanguage.o
38OBJS-$(CONFIG_ASF_MUXER) += asfenc.o asf.o riff.o39OBJS-$(CONFIG_ASF_MUXER) += asfenc.o asf.o
39OBJS-$(CONFIG_ASS_DEMUXER) += assdec.o40OBJS-$(CONFIG_ASS_DEMUXER) += assdec.o
40OBJS-$(CONFIG_ASS_MUXER) += assenc.o41OBJS-$(CONFIG_ASS_MUXER) += assenc.o
41OBJS-$(CONFIG_AU_DEMUXER) += au.o pcm.o42OBJS-$(CONFIG_AU_DEMUXER) += au.o pcm.o
42OBJS-$(CONFIG_AU_MUXER) += au.o43OBJS-$(CONFIG_AU_MUXER) += au.o
43OBJS-$(CONFIG_AVI_DEMUXER) += avidec.o riff.o44OBJS-$(CONFIG_AVI_DEMUXER) += avidec.o
44OBJS-$(CONFIG_AVI_MUXER) += avienc.o riff.o45OBJS-$(CONFIG_AVI_MUXER) += avienc.o
45OBJS-$(CONFIG_AVISYNTH) += avisynth.o46OBJS-$(CONFIG_AVISYNTH) += avisynth.o
46OBJS-$(CONFIG_AVM2_MUXER) += swfenc.o47OBJS-$(CONFIG_AVM2_MUXER) += swfenc.o
47OBJS-$(CONFIG_AVS_DEMUXER) += avs.o vocdec.o voc.o48OBJS-$(CONFIG_AVS_DEMUXER) += avs.o vocdec.o voc.o
@@ -51,7 +52,7 @@ OBJS-$(CONFIG_BINK_DEMUXER) += bink.o · 3 unmodified lines
51OBJS-$(CONFIG_BMV_DEMUXER) += bmv.o52OBJS-$(CONFIG_BMV_DEMUXER) += bmv.o
52OBJS-$(CONFIG_C93_DEMUXER) += c93.o vocdec.o voc.o53OBJS-$(CONFIG_C93_DEMUXER) += c93.o vocdec.o voc.o
53OBJS-$(CONFIG_CAF_DEMUXER) += cafdec.o caf.o mov.o mov_chan.o \54OBJS-$(CONFIG_CAF_DEMUXER) += cafdec.o caf.o mov.o mov_chan.o \
54 riff.o isom.o55 isom.o
55OBJS-$(CONFIG_CAVSVIDEO_DEMUXER) += cavsvideodec.o rawdec.o56OBJS-$(CONFIG_CAVSVIDEO_DEMUXER) += cavsvideodec.o rawdec.o
56OBJS-$(CONFIG_CAVSVIDEO_MUXER) += rawenc.o57OBJS-$(CONFIG_CAVSVIDEO_MUXER) += rawenc.o
57OBJS-$(CONFIG_CDG_DEMUXER) += cdg.o58OBJS-$(CONFIG_CDG_DEMUXER) += cdg.o
@@ -68,7 +69,7 @@ OBJS-$(CONFIG_DTS_DEMUXER) += dtsdec.o rawdec.o · 10 unmodified lines
68OBJS-$(CONFIG_DTS_MUXER) += rawenc.o69OBJS-$(CONFIG_DTS_MUXER) += rawenc.o
69OBJS-$(CONFIG_DV_DEMUXER) += dv.o70OBJS-$(CONFIG_DV_DEMUXER) += dv.o
70OBJS-$(CONFIG_DV_MUXER) += dvenc.o71OBJS-$(CONFIG_DV_MUXER) += dvenc.o
71OBJS-$(CONFIG_DXA_DEMUXER) += dxa.o riff.o72OBJS-$(CONFIG_DXA_DEMUXER) += dxa.o
72OBJS-$(CONFIG_EA_CDATA_DEMUXER) += eacdata.o73OBJS-$(CONFIG_EA_CDATA_DEMUXER) += eacdata.o
73OBJS-$(CONFIG_EA_DEMUXER) += electronicarts.o74OBJS-$(CONFIG_EA_DEMUXER) += electronicarts.o
74OBJS-$(CONFIG_EAC3_DEMUXER) += ac3dec.o rawdec.o75OBJS-$(CONFIG_EAC3_DEMUXER) += ac3dec.o rawdec.o
@@ -112,7 +113,7 @@ OBJS-$(CONFIG_INGENIENT_DEMUXER) += ingenientdec.o rawdec.o · 37 unmodified lines
112OBJS-$(CONFIG_IPMOVIE_DEMUXER) += ipmovie.o113OBJS-$(CONFIG_IPMOVIE_DEMUXER) += ipmovie.o
113OBJS-$(CONFIG_ISS_DEMUXER) += iss.o114OBJS-$(CONFIG_ISS_DEMUXER) += iss.o
114OBJS-$(CONFIG_IV8_DEMUXER) += iv8.o115OBJS-$(CONFIG_IV8_DEMUXER) += iv8.o
115OBJS-$(CONFIG_IVF_DEMUXER) += ivfdec.o riff.o116OBJS-$(CONFIG_IVF_DEMUXER) += ivfdec.o
116OBJS-$(CONFIG_IVF_MUXER) += ivfenc.o117OBJS-$(CONFIG_IVF_MUXER) += ivfenc.o
117OBJS-$(CONFIG_JV_DEMUXER) += jvdec.o118OBJS-$(CONFIG_JV_DEMUXER) += jvdec.o
118OBJS-$(CONFIG_LATM_DEMUXER) += rawdec.o119OBJS-$(CONFIG_LATM_DEMUXER) += rawdec.o
@@ -122,9 +123,9 @@ OBJS-$(CONFIG_LXF_DEMUXER) += lxfdec.o · 3 unmodified lines
122OBJS-$(CONFIG_M4V_DEMUXER) += m4vdec.o rawdec.o123OBJS-$(CONFIG_M4V_DEMUXER) += m4vdec.o rawdec.o
123OBJS-$(CONFIG_M4V_MUXER) += rawenc.o124OBJS-$(CONFIG_M4V_MUXER) += rawenc.o
124OBJS-$(CONFIG_MATROSKA_DEMUXER) += matroskadec.o matroska.o \125OBJS-$(CONFIG_MATROSKA_DEMUXER) += matroskadec.o matroska.o \
125 riff.o isom.o rmdec.o rm.o126 isom.o rmdec.o rm.o
126OBJS-$(CONFIG_MATROSKA_MUXER) += matroskaenc.o matroska.o \127OBJS-$(CONFIG_MATROSKA_MUXER) += matroskaenc.o matroska.o \
127 riff.o isom.o avc.o \128 isom.o avc.o \
128 flacenc_header.o avlanguage.o129 flacenc_header.o avlanguage.o
129OBJS-$(CONFIG_MD5_MUXER) += md5enc.o130OBJS-$(CONFIG_MD5_MUXER) += md5enc.o
130OBJS-$(CONFIG_MJPEG_DEMUXER) += rawdec.o131OBJS-$(CONFIG_MJPEG_DEMUXER) += rawdec.o
@@ -133,9 +134,9 @@ OBJS-$(CONFIG_MLP_DEMUXER) += rawdec.o · 2 unmodified lines
133OBJS-$(CONFIG_MLP_MUXER) += rawenc.o134OBJS-$(CONFIG_MLP_MUXER) += rawenc.o
134OBJS-$(CONFIG_MM_DEMUXER) += mm.o135OBJS-$(CONFIG_MM_DEMUXER) += mm.o
135OBJS-$(CONFIG_MMF_DEMUXER) += mmf.o pcm.o136OBJS-$(CONFIG_MMF_DEMUXER) += mmf.o pcm.o
136OBJS-$(CONFIG_MMF_MUXER) += mmf.o riff.o137OBJS-$(CONFIG_MMF_MUXER) += mmf.o
137OBJS-$(CONFIG_MOV_DEMUXER) += mov.o riff.o isom.o mov_chan.o138OBJS-$(CONFIG_MOV_DEMUXER) += mov.o isom.o mov_chan.o
138OBJS-$(CONFIG_MOV_MUXER) += movenc.o riff.o isom.o avc.o \139OBJS-$(CONFIG_MOV_MUXER) += movenc.o isom.o avc.o \
139 movenchint.o rtpenc_chain.o \140 movenchint.o rtpenc_chain.o \
140 mov_chan.o141 mov_chan.o
141OBJS-$(CONFIG_MP2_MUXER) += mp3enc.o rawenc.o142OBJS-$(CONFIG_MP2_MUXER) += mp3enc.o rawenc.o
@@ -164,9 +165,9 @@ OBJS-$(CONFIG_MXG_DEMUXER) += mxg.o · 22 unmodified lines
164OBJS-$(CONFIG_NC_DEMUXER) += ncdec.o165OBJS-$(CONFIG_NC_DEMUXER) += ncdec.o
165OBJS-$(CONFIG_NSV_DEMUXER) += nsvdec.o166OBJS-$(CONFIG_NSV_DEMUXER) += nsvdec.o
166OBJS-$(CONFIG_NULL_MUXER) += nullenc.o167OBJS-$(CONFIG_NULL_MUXER) += nullenc.o
167OBJS-$(CONFIG_NUT_DEMUXER) += nutdec.o nut.o riff.o168OBJS-$(CONFIG_NUT_DEMUXER) += nutdec.o nut.o
168OBJS-$(CONFIG_NUT_MUXER) += nutenc.o nut.o riff.o169OBJS-$(CONFIG_NUT_MUXER) += nutenc.o nut.o
169OBJS-$(CONFIG_NUV_DEMUXER) += nuv.o riff.o170OBJS-$(CONFIG_NUV_DEMUXER) += nuv.o
170OBJS-$(CONFIG_OGG_DEMUXER) += oggdec.o \171OBJS-$(CONFIG_OGG_DEMUXER) += oggdec.o \
171 oggparsecelt.o \172 oggparsecelt.o \
172 oggparsedirac.o \173 oggparsedirac.o \
@@ -176,7 +177,6 @@ OBJS-$(CONFIG_OGG_DEMUXER) += oggdec.o \ · 3 unmodified lines
176 oggparsespeex.o \177 oggparsespeex.o \
177 oggparsetheora.o \178 oggparsetheora.o \
178 oggparsevorbis.o \179 oggparsevorbis.o \
179 riff.o \
180 vorbiscomment.o180 vorbiscomment.o
181OBJS-$(CONFIG_OGG_MUXER) += oggenc.o \181OBJS-$(CONFIG_OGG_MUXER) += oggenc.o \
182 vorbiscomment.o182 vorbiscomment.o
@@ -301,28 +301,28 @@ OBJS-$(CONFIG_VMD_DEMUXER) += sierravmd.o · 118 unmodified lines
301OBJS-$(CONFIG_VOC_DEMUXER) += vocdec.o voc.o301OBJS-$(CONFIG_VOC_DEMUXER) += vocdec.o voc.o
302OBJS-$(CONFIG_VOC_MUXER) += vocenc.o voc.o302OBJS-$(CONFIG_VOC_MUXER) += vocenc.o voc.o
303OBJS-$(CONFIG_VQF_DEMUXER) += vqf.o303OBJS-$(CONFIG_VQF_DEMUXER) += vqf.o
304OBJS-$(CONFIG_W64_DEMUXER) += wav.o riff.o pcm.o304OBJS-$(CONFIG_W64_DEMUXER) += wav.o pcm.o
305OBJS-$(CONFIG_WAV_DEMUXER) += wav.o riff.o pcm.o305OBJS-$(CONFIG_WAV_DEMUXER) += wav.o pcm.o
306OBJS-$(CONFIG_WAV_MUXER) += wav.o riff.o306OBJS-$(CONFIG_WAV_MUXER) += wav.o
307OBJS-$(CONFIG_WC3_DEMUXER) += wc3movie.o307OBJS-$(CONFIG_WC3_DEMUXER) += wc3movie.o
308OBJS-$(CONFIG_WEBM_MUXER) += matroskaenc.o matroska.o \308OBJS-$(CONFIG_WEBM_MUXER) += matroskaenc.o matroska.o \
309 riff.o isom.o avc.o \309 isom.o avc.o \
310 flacenc_header.o avlanguage.o310 flacenc_header.o avlanguage.o
311OBJS-$(CONFIG_WSAUD_DEMUXER) += westwood_aud.o311OBJS-$(CONFIG_WSAUD_DEMUXER) += westwood_aud.o
312OBJS-$(CONFIG_WSVQA_DEMUXER) += westwood_vqa.o312OBJS-$(CONFIG_WSVQA_DEMUXER) += westwood_vqa.o
313OBJS-$(CONFIG_WTV_DEMUXER) += wtv.o asfdec.o asf.o asfcrypt.o \313OBJS-$(CONFIG_WTV_DEMUXER) += wtv.o asfdec.o asf.o asfcrypt.o \
314 avlanguage.o mpegts.o isom.o riff.o314 avlanguage.o mpegts.o isom.o
315OBJS-$(CONFIG_WV_DEMUXER) += wv.o apetag.o315OBJS-$(CONFIG_WV_DEMUXER) += wv.o apetag.o
316OBJS-$(CONFIG_XA_DEMUXER) += xa.o316OBJS-$(CONFIG_XA_DEMUXER) += xa.o
317OBJS-$(CONFIG_XMV_DEMUXER) += xmv.o riff.o317OBJS-$(CONFIG_XMV_DEMUXER) += xmv.o
318OBJS-$(CONFIG_XWMA_DEMUXER) += xwma.o riff.o318OBJS-$(CONFIG_XWMA_DEMUXER) += xwma.o
319OBJS-$(CONFIG_YOP_DEMUXER) += yop.o319OBJS-$(CONFIG_YOP_DEMUXER) += yop.o
320OBJS-$(CONFIG_YUV4MPEGPIPE_MUXER) += yuv4mpeg.o320OBJS-$(CONFIG_YUV4MPEGPIPE_MUXER) += yuv4mpeg.o
321OBJS-$(CONFIG_YUV4MPEGPIPE_DEMUXER) += yuv4mpeg.o321OBJS-$(CONFIG_YUV4MPEGPIPE_DEMUXER) += yuv4mpeg.o
322 322
323# external libraries323# external libraries
324OBJS-$(CONFIG_LIBNUT_DEMUXER) += libnut.o riff.o324OBJS-$(CONFIG_LIBNUT_DEMUXER) += libnut.o
325OBJS-$(CONFIG_LIBNUT_MUXER) += libnut.o riff.o325OBJS-$(CONFIG_LIBNUT_MUXER) += libnut.o
326 326
327# protocols I/O327# protocols I/O
328OBJS+= avio.o aviobuf.o328OBJS+= 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
1600 */1600 */
1601int avformat_query_codec(AVOutputFormat *ofmt, enum CodecID codec_id, int std_compliance);1601int avformat_query_codec(AVOutputFormat *ofmt, enum CodecID codec_id, int std_compliance);
1602 1602
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 */
1618const struct AVCodecTag *avformat_get_riff_video_tags(void);
1619/**
1620 * @return the table mapping RIFF FourCCs for audio to CodecID.
1621 */
1622const struct AVCodecTag *avformat_get_riff_audio_tags(void);
1623/**
1624 * @}
1625 */
1626
1603/**1627/**
1604 * @}1628 * @}
1605 */1629 */
libavformat/utils.c+9−0
@@ -3874,3 +3874,12 @@ int ff_add_param_change(AVPacket *pkt, int32_t channels, · 3873 unmodified lines
3874 }3874 }
3875 return 0;3875 return 0;
3876}3876}
3877
3878const struct AVCodecTag *avformat_get_riff_video_tags(void)
3879{
3880 return ff_codec_bmp_tags;
3881}
3882const 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