1include $(SUBDIR)../config.mak
2
3NAME = avformat
4FFLIBS = avcodec avutil
5
6HEADERS = avformat.h avio.h
7
8OBJS = allformats.o         \
9       cutils.o             \
10       metadata.o           \
11       metadata_compat.o    \
12       options.o            \
13       os_support.o         \
14       sdp.o                \
15       seek.o               \
16       utils.o              \
17
18# muxers/demuxers
19OBJS-$(CONFIG_AAC_DEMUXER)               += raw.o id3v1.o id3v2.o
20OBJS-$(CONFIG_AC3_DEMUXER)               += raw.o
21OBJS-$(CONFIG_AC3_MUXER)                 += raw.o
22OBJS-$(CONFIG_ADTS_MUXER)                += adtsenc.o
23OBJS-$(CONFIG_AEA_DEMUXER)               += aea.o raw.o
24OBJS-$(CONFIG_AIFF_DEMUXER)              += aiffdec.o riff.o raw.o
25OBJS-$(CONFIG_AIFF_MUXER)                += aiffenc.o riff.o
26OBJS-$(CONFIG_AMR_DEMUXER)               += amr.o
27OBJS-$(CONFIG_AMR_MUXER)                 += amr.o
28OBJS-$(CONFIG_ANM_DEMUXER)               += anm.o
29OBJS-$(CONFIG_APC_DEMUXER)               += apc.o
30OBJS-$(CONFIG_APE_DEMUXER)               += ape.o apetag.o
31OBJS-$(CONFIG_ASF_DEMUXER)               += asfdec.o asf.o asfcrypt.o \
32                                            riff.o avlanguage.o
33OBJS-$(CONFIG_ASF_MUXER)                 += asfenc.o asf.o riff.o
34OBJS-$(CONFIG_ASS_DEMUXER)               += assdec.o
35OBJS-$(CONFIG_ASS_MUXER)                 += assenc.o
36OBJS-$(CONFIG_AU_DEMUXER)                += au.o raw.o
37OBJS-$(CONFIG_AU_MUXER)                  += au.o
38OBJS-$(CONFIG_AVI_DEMUXER)               += avidec.o riff.o avi.o
39OBJS-$(CONFIG_AVI_MUXER)                 += avienc.o riff.o avi.o
40OBJS-$(CONFIG_AVISYNTH)                  += avisynth.o
41OBJS-$(CONFIG_AVM2_MUXER)                += swfenc.o
42OBJS-$(CONFIG_AVS_DEMUXER)               += avs.o vocdec.o voc.o
43OBJS-$(CONFIG_BETHSOFTVID_DEMUXER)       += bethsoftvid.o
44OBJS-$(CONFIG_BFI_DEMUXER)               += bfi.o
45OBJS-$(CONFIG_BINK_DEMUXER)              += bink.o
46OBJS-$(CONFIG_C93_DEMUXER)               += c93.o vocdec.o voc.o
47OBJS-$(CONFIG_CAF_DEMUXER)               += cafdec.o caf.o mov.o riff.o isom.o
48OBJS-$(CONFIG_CAVSVIDEO_DEMUXER)         += raw.o
49OBJS-$(CONFIG_CDG_DEMUXER)               += cdg.o
50OBJS-$(CONFIG_CRC_MUXER)                 += crcenc.o
51OBJS-$(CONFIG_DAUD_DEMUXER)              += daud.o
52OBJS-$(CONFIG_DAUD_MUXER)                += daud.o
53OBJS-$(CONFIG_DIRAC_DEMUXER)             += raw.o
54OBJS-$(CONFIG_DIRAC_MUXER)               += raw.o
55OBJS-$(CONFIG_DNXHD_DEMUXER)             += raw.o
56OBJS-$(CONFIG_DNXHD_MUXER)               += raw.o
57OBJS-$(CONFIG_DSICIN_DEMUXER)            += dsicin.o
58OBJS-$(CONFIG_DTS_DEMUXER)               += raw.o id3v2.o
59OBJS-$(CONFIG_DTS_MUXER)                 += raw.o
60OBJS-$(CONFIG_DV_DEMUXER)                += dv.o
61OBJS-$(CONFIG_DV_MUXER)                  += dvenc.o
62OBJS-$(CONFIG_DXA_DEMUXER)               += dxa.o riff.o
63OBJS-$(CONFIG_EA_CDATA_DEMUXER)          += eacdata.o
64OBJS-$(CONFIG_EA_DEMUXER)                += electronicarts.o
65OBJS-$(CONFIG_EAC3_DEMUXER)              += raw.o id3v2.o
66OBJS-$(CONFIG_EAC3_MUXER)                += raw.o
67OBJS-$(CONFIG_FFM_DEMUXER)               += ffmdec.o
68OBJS-$(CONFIG_FFM_MUXER)                 += ffmenc.o
69OBJS-$(CONFIG_FILMSTRIP_DEMUXER)         += filmstripdec.o
70OBJS-$(CONFIG_FILMSTRIP_MUXER)           += filmstripenc.o
71OBJS-$(CONFIG_FLAC_DEMUXER)              += flacdec.o raw.o id3v1.o \
72                                            id3v2.o oggparsevorbis.o \
73                                            vorbiscomment.o
74OBJS-$(CONFIG_FLAC_MUXER)                += flacenc.o flacenc_header.o \
75                                            vorbiscomment.o
76OBJS-$(CONFIG_FLIC_DEMUXER)              += flic.o
77OBJS-$(CONFIG_FLV_DEMUXER)               += flvdec.o
78OBJS-$(CONFIG_FLV_MUXER)                 += flvenc.o avc.o
79OBJS-$(CONFIG_FOURXM_DEMUXER)            += 4xm.o
80OBJS-$(CONFIG_FRAMECRC_MUXER)            += framecrcenc.o
81OBJS-$(CONFIG_GIF_MUXER)                 += gif.o
82OBJS-$(CONFIG_GSM_DEMUXER)               += raw.o id3v2.o
83OBJS-$(CONFIG_GXF_DEMUXER)               += gxf.o
84OBJS-$(CONFIG_GXF_MUXER)                 += gxfenc.o audiointerleave.o
85OBJS-$(CONFIG_H261_DEMUXER)              += raw.o
86OBJS-$(CONFIG_H261_MUXER)                += raw.o
87OBJS-$(CONFIG_H263_DEMUXER)              += raw.o
88OBJS-$(CONFIG_H263_MUXER)                += raw.o
89OBJS-$(CONFIG_H264_DEMUXER)              += raw.o
90OBJS-$(CONFIG_H264_MUXER)                += raw.o
91OBJS-$(CONFIG_IDCIN_DEMUXER)             += idcin.o
92OBJS-$(CONFIG_IFF_DEMUXER)               += iff.o
93OBJS-$(CONFIG_IMAGE2_DEMUXER)            += img2.o
94OBJS-$(CONFIG_IMAGE2_MUXER)              += img2.o
95OBJS-$(CONFIG_IMAGE2PIPE_DEMUXER)        += img2.o
96OBJS-$(CONFIG_IMAGE2PIPE_MUXER)          += img2.o
97OBJS-$(CONFIG_INGENIENT_DEMUXER)         += raw.o
98OBJS-$(CONFIG_IPMOVIE_DEMUXER)           += ipmovie.o
99OBJS-$(CONFIG_ISS_DEMUXER)               += iss.o
100OBJS-$(CONFIG_IV8_DEMUXER)               += iv8.o
101OBJS-$(CONFIG_LMLM4_DEMUXER)             += lmlm4.o
102OBJS-$(CONFIG_M4V_DEMUXER)               += raw.o
103OBJS-$(CONFIG_M4V_MUXER)                 += raw.o
104OBJS-$(CONFIG_MATROSKA_DEMUXER)          += matroskadec.o matroska.o \
105                                            riff.o isom.o rmdec.o rm.o
106OBJS-$(CONFIG_MATROSKA_MUXER)            += matroskaenc.o matroska.o \
107                                            riff.o isom.o avc.o \
108                                            flacenc_header.o
109OBJS-$(CONFIG_MJPEG_DEMUXER)             += raw.o
110OBJS-$(CONFIG_MJPEG_MUXER)               += raw.o
111OBJS-$(CONFIG_MLP_DEMUXER)               += raw.o id3v2.o
112OBJS-$(CONFIG_MLP_MUXER)                 += raw.o
113OBJS-$(CONFIG_MM_DEMUXER)                += mm.o
114OBJS-$(CONFIG_MMF_DEMUXER)               += mmf.o raw.o
115OBJS-$(CONFIG_MMF_MUXER)                 += mmf.o riff.o
116OBJS-$(CONFIG_MOV_DEMUXER)               += mov.o riff.o isom.o
117OBJS-$(CONFIG_MOV_MUXER)                 += movenc.o riff.o isom.o avc.o movenchint.o
118OBJS-$(CONFIG_MP2_MUXER)                 += mp3.o id3v1.o
119OBJS-$(CONFIG_MP3_DEMUXER)               += mp3.o id3v1.o id3v2.o
120OBJS-$(CONFIG_MP3_MUXER)                 += mp3.o id3v1.o id3v2.o
121OBJS-$(CONFIG_MPC_DEMUXER)               += mpc.o id3v1.o id3v2.o apetag.o
122OBJS-$(CONFIG_MPC8_DEMUXER)              += mpc8.o
123OBJS-$(CONFIG_MPEG1SYSTEM_MUXER)         += mpegenc.o
124OBJS-$(CONFIG_MPEG1VCD_MUXER)            += mpegenc.o
125OBJS-$(CONFIG_MPEG2DVD_MUXER)            += mpegenc.o
126OBJS-$(CONFIG_MPEG2VOB_MUXER)            += mpegenc.o
127OBJS-$(CONFIG_MPEG2SVCD_MUXER)           += mpegenc.o
128OBJS-$(CONFIG_MPEG1VIDEO_MUXER)          += raw.o
129OBJS-$(CONFIG_MPEG2VIDEO_MUXER)          += raw.o
130OBJS-$(CONFIG_MPEGPS_DEMUXER)            += mpeg.o
131OBJS-$(CONFIG_MPEGTS_DEMUXER)            += mpegts.o
132OBJS-$(CONFIG_MPEGTS_MUXER)              += mpegtsenc.o adtsenc.o
133OBJS-$(CONFIG_MPEGVIDEO_DEMUXER)         += raw.o
134OBJS-$(CONFIG_MPJPEG_MUXER)              += mpjpeg.o
135OBJS-$(CONFIG_MSNWC_TCP_DEMUXER)         += msnwc_tcp.o
136OBJS-$(CONFIG_MTV_DEMUXER)               += mtv.o
137OBJS-$(CONFIG_MVI_DEMUXER)               += mvi.o
138OBJS-$(CONFIG_MXF_DEMUXER)               += mxfdec.o mxf.o
139OBJS-$(CONFIG_MXF_MUXER)                 += mxfenc.o mxf.o audiointerleave.o
140OBJS-$(CONFIG_NC_DEMUXER)                += ncdec.o
141OBJS-$(CONFIG_NSV_DEMUXER)               += nsvdec.o
142OBJS-$(CONFIG_NULL_MUXER)                += raw.o
143OBJS-$(CONFIG_NUT_DEMUXER)               += nutdec.o nut.o riff.o
144OBJS-$(CONFIG_NUT_MUXER)                 += nutenc.o nut.o riff.o
145OBJS-$(CONFIG_NUV_DEMUXER)               += nuv.o riff.o
146OBJS-$(CONFIG_OGG_DEMUXER)               += oggdec.o         \
147                                            oggparsedirac.o  \
148                                            oggparseflac.o   \
149                                            oggparseogm.o    \
150                                            oggparseskeleton.o \
151                                            oggparsespeex.o  \
152                                            oggparsetheora.o \
153                                            oggparsevorbis.o \
154                                            riff.o \
155                                            vorbiscomment.o
156OBJS-$(CONFIG_OGG_MUXER)                 += oggenc.o \
157                                            vorbiscomment.o
158OBJS-$(CONFIG_OMA_DEMUXER)               += oma.o raw.o
159OBJS-$(CONFIG_PCM_ALAW_DEMUXER)          += raw.o
160OBJS-$(CONFIG_PCM_ALAW_MUXER)            += raw.o
161OBJS-$(CONFIG_PCM_F32BE_DEMUXER)         += raw.o
162OBJS-$(CONFIG_PCM_F32BE_MUXER)           += raw.o
163OBJS-$(CONFIG_PCM_F32LE_DEMUXER)         += raw.o
164OBJS-$(CONFIG_PCM_F32LE_MUXER)           += raw.o
165OBJS-$(CONFIG_PCM_F64BE_DEMUXER)         += raw.o
166OBJS-$(CONFIG_PCM_F64BE_MUXER)           += raw.o
167OBJS-$(CONFIG_PCM_F64LE_DEMUXER)         += raw.o
168OBJS-$(CONFIG_PCM_F64LE_MUXER)           += raw.o
169OBJS-$(CONFIG_PCM_MULAW_DEMUXER)         += raw.o
170OBJS-$(CONFIG_PCM_MULAW_MUXER)           += raw.o
171OBJS-$(CONFIG_PCM_S16BE_DEMUXER)         += raw.o
172OBJS-$(CONFIG_PCM_S16BE_MUXER)           += raw.o
173OBJS-$(CONFIG_PCM_S16LE_DEMUXER)         += raw.o
174OBJS-$(CONFIG_PCM_S16LE_MUXER)           += raw.o
175OBJS-$(CONFIG_PCM_S24BE_DEMUXER)         += raw.o
176OBJS-$(CONFIG_PCM_S24BE_MUXER)           += raw.o
177OBJS-$(CONFIG_PCM_S24LE_DEMUXER)         += raw.o
178OBJS-$(CONFIG_PCM_S24LE_MUXER)           += raw.o
179OBJS-$(CONFIG_PCM_S32BE_DEMUXER)         += raw.o
180OBJS-$(CONFIG_PCM_S32BE_MUXER)           += raw.o
181OBJS-$(CONFIG_PCM_S32LE_DEMUXER)         += raw.o
182OBJS-$(CONFIG_PCM_S32LE_MUXER)           += raw.o
183OBJS-$(CONFIG_PCM_S8_DEMUXER)            += raw.o
184OBJS-$(CONFIG_PCM_S8_MUXER)              += raw.o
185OBJS-$(CONFIG_PCM_U16BE_DEMUXER)         += raw.o
186OBJS-$(CONFIG_PCM_U16BE_MUXER)           += raw.o
187OBJS-$(CONFIG_PCM_U16LE_DEMUXER)         += raw.o
188OBJS-$(CONFIG_PCM_U16LE_MUXER)           += raw.o
189OBJS-$(CONFIG_PCM_U24BE_DEMUXER)         += raw.o
190OBJS-$(CONFIG_PCM_U24BE_MUXER)           += raw.o
191OBJS-$(CONFIG_PCM_U24LE_DEMUXER)         += raw.o
192OBJS-$(CONFIG_PCM_U24LE_MUXER)           += raw.o
193OBJS-$(CONFIG_PCM_U32BE_DEMUXER)         += raw.o
194OBJS-$(CONFIG_PCM_U32BE_MUXER)           += raw.o
195OBJS-$(CONFIG_PCM_U32LE_DEMUXER)         += raw.o
196OBJS-$(CONFIG_PCM_U32LE_MUXER)           += raw.o
197OBJS-$(CONFIG_PCM_U8_DEMUXER)            += raw.o
198OBJS-$(CONFIG_PCM_U8_MUXER)              += raw.o
199OBJS-$(CONFIG_PVA_DEMUXER)               += pva.o
200OBJS-$(CONFIG_QCP_DEMUXER)               += qcp.o
201OBJS-$(CONFIG_R3D_DEMUXER)               += r3d.o
202OBJS-$(CONFIG_RAWVIDEO_DEMUXER)          += raw.o
203OBJS-$(CONFIG_RAWVIDEO_MUXER)            += raw.o
204OBJS-$(CONFIG_RL2_DEMUXER)               += rl2.o
205OBJS-$(CONFIG_RM_DEMUXER)                += rmdec.o rm.o
206OBJS-$(CONFIG_RM_MUXER)                  += rmenc.o rm.o
207OBJS-$(CONFIG_ROQ_DEMUXER)               += idroq.o
208OBJS-$(CONFIG_ROQ_MUXER)                 += raw.o
209OBJS-$(CONFIG_RPL_DEMUXER)               += rpl.o
210OBJS-$(CONFIG_RTP_MUXER)                 += rtp.o         \
211                                            rtpenc_aac.o     \
212                                            rtpenc_amr.o     \
213                                            rtpenc_h263.o    \
214                                            rtpenc_mpv.o     \
215                                            rtpenc.o      \
216                                            rtpenc_h264.o \
217                                            avc.o
218OBJS-$(CONFIG_RTSP_DEMUXER)              += rtsp.o httpauth.o
219OBJS-$(CONFIG_RTSP_MUXER)                += rtsp.o rtspenc.o httpauth.o
220OBJS-$(CONFIG_SDP_DEMUXER)               += rtsp.o        \
221                                            rdt.o         \
222                                            rtp.o         \
223                                            rtpdec.o      \
224                                            rtpdec_amr.o  \
225                                            rtpdec_asf.o  \
226                                            rtpdec_h263.o \
227                                            rtpdec_h264.o \
228                                            rtpdec_xiph.o
229OBJS-$(CONFIG_SEGAFILM_DEMUXER)          += segafilm.o
230OBJS-$(CONFIG_SHORTEN_DEMUXER)           += raw.o id3v2.o
231OBJS-$(CONFIG_SIFF_DEMUXER)              += siff.o
232OBJS-$(CONFIG_SMACKER_DEMUXER)           += smacker.o
233OBJS-$(CONFIG_SOL_DEMUXER)               += sol.o raw.o
234OBJS-$(CONFIG_SOX_DEMUXER)               += soxdec.o raw.o
235OBJS-$(CONFIG_SOX_MUXER)                 += soxenc.o
236OBJS-$(CONFIG_SPDIF_MUXER)               += spdif.o
237OBJS-$(CONFIG_STR_DEMUXER)               += psxstr.o
238OBJS-$(CONFIG_SWF_DEMUXER)               += swfdec.o
239OBJS-$(CONFIG_SWF_MUXER)                 += swfenc.o
240OBJS-$(CONFIG_THP_DEMUXER)               += thp.o
241OBJS-$(CONFIG_TIERTEXSEQ_DEMUXER)        += tiertexseq.o
242OBJS-$(CONFIG_TMV_DEMUXER)               += tmv.o
243OBJS-$(CONFIG_TRUEHD_DEMUXER)            += raw.o id3v2.o
244OBJS-$(CONFIG_TRUEHD_MUXER)              += raw.o
245OBJS-$(CONFIG_TTA_DEMUXER)               += tta.o id3v1.o id3v2.o
246OBJS-$(CONFIG_TXD_DEMUXER)               += txd.o
247OBJS-$(CONFIG_VC1_DEMUXER)               += raw.o
248OBJS-$(CONFIG_VC1T_DEMUXER)              += vc1test.o
249OBJS-$(CONFIG_VC1T_MUXER)                += vc1testenc.o
250OBJS-$(CONFIG_VMD_DEMUXER)               += sierravmd.o
251OBJS-$(CONFIG_VOC_DEMUXER)               += vocdec.o voc.o
252OBJS-$(CONFIG_VOC_MUXER)                 += vocenc.o voc.o
253OBJS-$(CONFIG_VQF_DEMUXER)               += vqf.o
254OBJS-$(CONFIG_W64_DEMUXER)               += wav.o riff.o raw.o
255OBJS-$(CONFIG_WAV_DEMUXER)               += wav.o riff.o raw.o
256OBJS-$(CONFIG_WAV_MUXER)                 += wav.o riff.o
257OBJS-$(CONFIG_WC3_DEMUXER)               += wc3movie.o
258OBJS-$(CONFIG_WEBM_MUXER)                += matroskaenc.o matroska.o \
259                                            riff.o isom.o avc.o \
260                                            flacenc_header.o
261OBJS-$(CONFIG_WSAUD_DEMUXER)             += westwood.o
262OBJS-$(CONFIG_WSVQA_DEMUXER)             += westwood.o
263OBJS-$(CONFIG_WV_DEMUXER)                += wv.o apetag.o id3v1.o
264OBJS-$(CONFIG_XA_DEMUXER)                += xa.o
265OBJS-$(CONFIG_YOP_DEMUXER)               += yop.o
266OBJS-$(CONFIG_YUV4MPEGPIPE_MUXER)        += yuv4mpeg.o
267OBJS-$(CONFIG_YUV4MPEGPIPE_DEMUXER)      += yuv4mpeg.o
268
269# external libraries
270OBJS-$(CONFIG_LIBNUT_DEMUXER)            += libnut.o riff.o
271OBJS-$(CONFIG_LIBNUT_MUXER)              += libnut.o riff.o
272
273# protocols I/O
274OBJS+= avio.o aviobuf.o
275
276OBJS-$(CONFIG_FILE_PROTOCOL)             += file.o
277OBJS-$(CONFIG_GOPHER_PROTOCOL)           += gopher.o
278OBJS-$(CONFIG_HTTP_PROTOCOL)             += http.o httpauth.o
279OBJS-$(CONFIG_PIPE_PROTOCOL)             += file.o
280
281# external or internal rtmp
282RTMP-OBJS-$(CONFIG_LIBRTMP)               = librtmp.o
283RTMP-OBJS-$(!CONFIG_LIBRTMP)              = rtmpproto.o rtmppkt.o
284OBJS-$(CONFIG_RTMP_PROTOCOL)             += $(RTMP-OBJS-yes)
285
286OBJS-$(CONFIG_RTP_PROTOCOL)              += rtpproto.o
287OBJS-$(CONFIG_TCP_PROTOCOL)              += tcp.o
288OBJS-$(CONFIG_UDP_PROTOCOL)              += udp.o
289OBJS-$(CONFIG_CONCAT_PROTOCOL)           += concat.o
290
291# libavdevice dependencies
292OBJS-$(CONFIG_JACK_INDEV)                += timefilter.o
293
294EXAMPLES  = output
295TESTPROGS = timefilter
296
297include $(SUBDIR)../subdir.mak
298
299$(SUBDIR)output-example$(EXESUF): ELIBS = -lswscale
300