2 * Copyright 2009 Stephan Aßmus <superstippi@gmx.de>
3 * All rights reserved. Distributed under the terms of the MIT license.
7 #include "MuxerTable.h"
10 const media_file_format gMuxerTable
[] = {
12 media_file_format::B_READABLE
13 | media_file_format::B_KNOWS_ENCODED_VIDEO
14 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
26 media_file_format::B_READABLE
27 | media_file_format::B_KNOWS_RAW_AUDIO
28 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
40 media_file_format::B_READABLE
41 | media_file_format::B_KNOWS_RAW_AUDIO
,
53 media_file_format::B_READABLE
54 | media_file_format::B_KNOWS_RAW_VIDEO
55 | media_file_format::B_KNOWS_RAW_AUDIO
56 | media_file_format::B_KNOWS_ENCODED_VIDEO
57 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
69 media_file_format::B_WRITABLE
| media_file_format::B_READABLE
70 | media_file_format::B_KNOWS_RAW_VIDEO
71 | media_file_format::B_KNOWS_RAW_AUDIO
72 | media_file_format::B_KNOWS_ENCODED_VIDEO
73 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
79 "AVI (Audio Video Interleaved)",
85 media_file_format::B_WRITABLE
| media_file_format::B_READABLE
86 | media_file_format::B_KNOWS_RAW_VIDEO
87 | media_file_format::B_KNOWS_RAW_AUDIO
88 | media_file_format::B_KNOWS_ENCODED_VIDEO
89 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
91 B_QUICKTIME_FORMAT_FAMILY
,
101 media_file_format::B_READABLE
102 | media_file_format::B_KNOWS_RAW_AUDIO
103 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
109 "Free Lossless Audio",
115 media_file_format::B_READABLE
116 | media_file_format::B_KNOWS_RAW_VIDEO
117 | media_file_format::B_KNOWS_RAW_AUDIO
118 | media_file_format::B_KNOWS_ENCODED_VIDEO
119 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
121 B_QUICKTIME_FORMAT_FAMILY
,
131 media_file_format::B_WRITABLE
| media_file_format::B_READABLE
132 | media_file_format::B_KNOWS_RAW_VIDEO
133 | media_file_format::B_KNOWS_RAW_AUDIO
134 | media_file_format::B_KNOWS_ENCODED_VIDEO
135 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
147 media_file_format::B_READABLE
148 | media_file_format::B_KNOWS_RAW_VIDEO
149 | media_file_format::B_KNOWS_RAW_AUDIO
150 | media_file_format::B_KNOWS_ENCODED_VIDEO
151 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
153 B_QUICKTIME_FORMAT_FAMILY
,
163 media_file_format::B_READABLE
164 | media_file_format::B_KNOWS_RAW_AUDIO
165 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
167 B_MPEG_FORMAT_FAMILY
,
177 media_file_format::B_READABLE
178 | media_file_format::B_KNOWS_ENCODED_VIDEO
179 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
181 B_QUICKTIME_FORMAT_FAMILY
,
185 "MPEG (Motion Picture Experts Group) format 4",
191 media_file_format::B_READABLE
192 | media_file_format::B_KNOWS_RAW_AUDIO
193 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
195 B_QUICKTIME_FORMAT_FAMILY
,
199 "AAC in MPEG4 container",
205 media_file_format::B_WRITABLE
| media_file_format::B_READABLE
206 | media_file_format::B_KNOWS_ENCODED_VIDEO
207 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
209 B_MPEG_FORMAT_FAMILY
,
213 "MPEG (Motion Picture Experts Group)",
219 media_file_format::B_READABLE
220 | media_file_format::B_KNOWS_ENCODED_VIDEO
221 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
233 media_file_format::B_READABLE
234 | media_file_format::B_KNOWS_ENCODED_VIDEO
235 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
237 B_MPEG_FORMAT_FAMILY
,
247 media_file_format::B_READABLE
248 | media_file_format::B_KNOWS_ENCODED_VIDEO
249 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
251 B_QUICKTIME_FORMAT_FAMILY
,
255 "NSV (NullSoft Video file)",
260 // TODO: This one rejects unknown codecs. We probably need to define
261 // a media_format_family for it so that Encoders can announce their support
262 // for it specifically.
264 media_file_format::B_WRITABLE
| media_file_format::B_READABLE
265 | media_file_format::B_KNOWS_ENCODED_VIDEO
266 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
268 B_MISC_FORMAT_FAMILY
,
272 "Ogg Audio (Xiph.Org Foundation)",
278 media_file_format::B_WRITABLE
| media_file_format::B_READABLE
279 | media_file_format::B_KNOWS_ENCODED_VIDEO
280 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
282 B_MISC_FORMAT_FAMILY
,
286 "Ogg Video (Xiph.Org Foundation)",
292 media_file_format::B_READABLE
293 | media_file_format::B_KNOWS_ENCODED_VIDEO
294 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
299 "video/vnd.rn-realvideo",
300 "RM (RealVideo clip)",
306 media_file_format::B_READABLE
307 | media_file_format::B_KNOWS_RAW_VIDEO
308 | media_file_format::B_KNOWS_RAW_AUDIO
309 | media_file_format::B_KNOWS_ENCODED_VIDEO
310 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
312 B_QUICKTIME_FORMAT_FAMILY
,
315 "application/x-shockwave-flash",
322 media_file_format::B_READABLE
323 | media_file_format::B_KNOWS_ENCODED_VIDEO
324 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
326 B_MPEG_FORMAT_FAMILY
,
336 media_file_format::B_WRITABLE
337 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
349 media_file_format::B_READABLE
350 | media_file_format::B_KNOWS_ENCODED_VIDEO
351 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
353 B_MISC_FORMAT_FAMILY
,
363 media_file_format::B_READABLE
364 | media_file_format::B_KNOWS_ENCODED_VIDEO
365 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
367 B_MISC_FORMAT_FAMILY
,
377 media_file_format::B_READABLE
378 | media_file_format::B_KNOWS_RAW_AUDIO
379 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
381 B_MISC_FORMAT_FAMILY
,
385 "Fast Tracker eXtended Module",
391 media_file_format::B_READABLE
392 | media_file_format::B_KNOWS_RAW_AUDIO
393 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
395 B_MISC_FORMAT_FAMILY
,
405 media_file_format::B_READABLE
406 | media_file_format::B_KNOWS_RAW_AUDIO
407 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
409 B_MISC_FORMAT_FAMILY
,
419 media_file_format::B_READABLE
420 | media_file_format::B_KNOWS_RAW_AUDIO
421 | media_file_format::B_KNOWS_ENCODED_AUDIO
,
423 B_MISC_FORMAT_FAMILY
,
434 const size_t gMuxerCount
= sizeof(gMuxerTable
) / sizeof(media_file_format
);