3rdparty/licenseReport: Add seperate LGPL checks
[haiku.git] / src / add-ons / media / plugins / ffmpeg / MuxerTable.cpp
blob5c80462b21b7c497d5528ace16546b2b011e958d
1 /*
2 * Copyright 2009 Stephan Aßmus <superstippi@gmx.de>
3 * All rights reserved. Distributed under the terms of the MIT license.
4 */
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,
15 { 0 },
16 B_MISC_FORMAT_FAMILY,
17 100,
18 { 0 },
19 "video/3gpp",
20 "3GPP video",
21 "3gp",
22 "3gp",
23 { 0 }
26 media_file_format::B_READABLE
27 | media_file_format::B_KNOWS_RAW_AUDIO
28 | media_file_format::B_KNOWS_ENCODED_AUDIO,
29 { 0 },
30 B_WAV_FORMAT_FAMILY,
31 100,
32 { 0 },
33 "audio/ac3",
34 "AC3",
35 "ac3",
36 "ac3",
37 { 0 }
40 media_file_format::B_READABLE
41 | media_file_format::B_KNOWS_RAW_AUDIO,
42 { 0 },
43 B_AIFF_FORMAT_FAMILY,
44 100,
45 { 0 },
46 "audio/x-aiff",
47 "Audio IFF",
48 "aiff",
49 "aiff",
50 { 0 }
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,
58 { 0 },
59 B_AVI_FORMAT_FAMILY,
60 100,
61 { 0 },
62 "video/x-asf",
63 "ASF Movie",
64 "asf",
65 "asf",
66 { 0 }
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,
74 { 0 },
75 B_AVI_FORMAT_FAMILY,
76 100,
77 { 0 },
78 "video/x-msvideo",
79 "AVI (Audio Video Interleaved)",
80 "avi",
81 "avi",
82 { 0 }
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,
90 { 0 },
91 B_QUICKTIME_FORMAT_FAMILY,
92 100,
93 { 0 },
94 "video/dv",
95 "DV Movie",
96 "dv",
97 "dv",
98 { 0 }
101 media_file_format::B_READABLE
102 | media_file_format::B_KNOWS_RAW_AUDIO
103 | media_file_format::B_KNOWS_ENCODED_AUDIO,
104 { 0 },
105 B_WAV_FORMAT_FAMILY,
106 100,
107 { 0 },
108 "audio/x-flac",
109 "Free Lossless Audio",
110 "flac",
111 "flac",
112 { 0 }
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,
120 { 0 },
121 B_QUICKTIME_FORMAT_FAMILY,
122 100,
123 { 0 },
124 "video/x-flv",
125 "Flash video",
126 "flv",
127 "flv",
128 { 0 }
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,
136 { 0 },
137 B_ANY_FORMAT_FAMILY,
138 100,
139 { 0 },
140 "video/x-matroska",
141 "Matroska movie",
142 "mkv",
143 "mkv",
144 { 0 }
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,
152 { 0 },
153 B_QUICKTIME_FORMAT_FAMILY,
154 100,
155 { 0 },
156 "video/x-mov",
157 "Quicktime movie",
158 "mov",
159 "mov",
160 { 0 }
163 media_file_format::B_READABLE
164 | media_file_format::B_KNOWS_RAW_AUDIO
165 | media_file_format::B_KNOWS_ENCODED_AUDIO,
166 { 0 },
167 B_MPEG_FORMAT_FAMILY,
168 100,
169 { 0 },
170 "audio/mpeg",
171 "MPEG Layer 3",
172 "mp3",
173 "mp3",
174 { 0 }
177 media_file_format::B_READABLE
178 | media_file_format::B_KNOWS_ENCODED_VIDEO
179 | media_file_format::B_KNOWS_ENCODED_AUDIO,
180 { 0 },
181 B_QUICKTIME_FORMAT_FAMILY,
182 100,
183 { 0 },
184 "video/mp4",
185 "MPEG (Motion Picture Experts Group) format 4",
186 "mp4",
187 "mp4",
188 { 0 }
191 media_file_format::B_READABLE
192 | media_file_format::B_KNOWS_RAW_AUDIO
193 | media_file_format::B_KNOWS_ENCODED_AUDIO,
194 { 0 },
195 B_QUICKTIME_FORMAT_FAMILY,
197 { 0 },
198 "audio/mp4",
199 "AAC in MPEG4 container",
200 "aac",
201 "aac",
202 { 0 }
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,
208 { 0 },
209 B_MPEG_FORMAT_FAMILY,
210 100,
211 { 0 },
212 "video/mpeg",
213 "MPEG (Motion Picture Experts Group)",
214 "mpg",
215 "mpg",
216 { 0 }
219 media_file_format::B_READABLE
220 | media_file_format::B_KNOWS_ENCODED_VIDEO
221 | media_file_format::B_KNOWS_ENCODED_AUDIO,
222 { 0 },
223 B_AVI_FORMAT_FAMILY,
224 100,
225 { 0 },
226 "video/mpeg",
227 "MPEG TS",
228 "mpegts",
229 "mpegts",
230 { 0 }
233 media_file_format::B_READABLE
234 | media_file_format::B_KNOWS_ENCODED_VIDEO
235 | media_file_format::B_KNOWS_ENCODED_AUDIO,
236 { 0 },
237 B_MPEG_FORMAT_FAMILY,
238 100,
239 { 0 },
240 "video/mpeg",
241 "MPEG",
242 "mpeg",
243 "mpeg",
244 { 0 }
247 media_file_format::B_READABLE
248 | media_file_format::B_KNOWS_ENCODED_VIDEO
249 | media_file_format::B_KNOWS_ENCODED_AUDIO,
250 { 0 },
251 B_QUICKTIME_FORMAT_FAMILY,
252 100,
253 { 0 },
254 "video/nsv",
255 "NSV (NullSoft Video file)",
256 "nsv",
257 "nsv",
258 { 0 }
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,
267 { 0 },
268 B_MISC_FORMAT_FAMILY,
269 100,
270 { 0 },
271 "audio/ogg",
272 "Ogg Audio (Xiph.Org Foundation)",
273 "ogg",
274 "ogg",
275 { 0 }
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,
281 { 0 },
282 B_MISC_FORMAT_FAMILY,
284 { 0 },
285 "video/ogg",
286 "Ogg Video (Xiph.Org Foundation)",
287 "ogv",
288 "ogv",
289 { 0 }
292 media_file_format::B_READABLE
293 | media_file_format::B_KNOWS_ENCODED_VIDEO
294 | media_file_format::B_KNOWS_ENCODED_AUDIO,
295 { 0 },
296 B_AVI_FORMAT_FAMILY,
297 100,
298 { 0 },
299 "video/vnd.rn-realvideo",
300 "RM (RealVideo clip)",
301 "rm",
302 "rm",
303 { 0 }
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,
311 { 0 },
312 B_QUICKTIME_FORMAT_FAMILY,
313 100,
314 { 0 },
315 "application/x-shockwave-flash",
316 "Shockwave video",
317 "swf",
318 "swf",
319 { 0 }
322 media_file_format::B_READABLE
323 | media_file_format::B_KNOWS_ENCODED_VIDEO
324 | media_file_format::B_KNOWS_ENCODED_AUDIO,
325 { 0 },
326 B_MPEG_FORMAT_FAMILY,
327 100,
328 { 0 },
329 "video/x-vob",
330 "VOB movie",
331 "vob",
332 "vob",
333 { 0 }
336 media_file_format::B_WRITABLE
337 | media_file_format::B_KNOWS_ENCODED_AUDIO,
338 { 0 },
339 B_WAV_FORMAT_FAMILY,
340 100,
341 { 0 },
342 "audio/wav",
343 "WAV Format",
344 "wav",
345 "wav",
346 { 0 }
349 media_file_format::B_READABLE
350 | media_file_format::B_KNOWS_ENCODED_VIDEO
351 | media_file_format::B_KNOWS_ENCODED_AUDIO,
352 { 0 },
353 B_MISC_FORMAT_FAMILY,
354 100,
355 { 0 },
356 "video/webm",
357 "WebM movie",
358 "webm",
359 "webm",
360 { 0 }
363 media_file_format::B_READABLE
364 | media_file_format::B_KNOWS_ENCODED_VIDEO
365 | media_file_format::B_KNOWS_ENCODED_AUDIO,
366 { 0 },
367 B_MISC_FORMAT_FAMILY,
369 { 0 },
370 "audio/webm",
371 "WebM audio",
372 "webm",
373 "webm",
374 { 0 }
377 media_file_format::B_READABLE
378 | media_file_format::B_KNOWS_RAW_AUDIO
379 | media_file_format::B_KNOWS_ENCODED_AUDIO,
380 { 0 },
381 B_MISC_FORMAT_FAMILY,
382 100,
383 { 0 },
384 "audio/xm",
385 "Fast Tracker eXtended Module",
386 "xm",
387 "xm",
388 { 0 }
391 media_file_format::B_READABLE
392 | media_file_format::B_KNOWS_RAW_AUDIO
393 | media_file_format::B_KNOWS_ENCODED_AUDIO,
394 { 0 },
395 B_MISC_FORMAT_FAMILY,
396 100,
397 { 0 },
398 "audio/s3m",
399 "Scream Tracker 3",
400 "s3m",
401 "s3m",
402 { 0 }
405 media_file_format::B_READABLE
406 | media_file_format::B_KNOWS_RAW_AUDIO
407 | media_file_format::B_KNOWS_ENCODED_AUDIO,
408 { 0 },
409 B_MISC_FORMAT_FAMILY,
410 100,
411 { 0 },
412 "audio/it",
413 "Impulse Tracker",
414 "it",
415 "it",
416 { 0 }
419 media_file_format::B_READABLE
420 | media_file_format::B_KNOWS_RAW_AUDIO
421 | media_file_format::B_KNOWS_ENCODED_AUDIO,
422 { 0 },
423 B_MISC_FORMAT_FAMILY,
424 100,
425 { 0 },
426 "audio/x-mod",
427 "Protracker MOD",
428 "mod",
429 "mod",
430 { 0 }
434 const size_t gMuxerCount = sizeof(gMuxerTable) / sizeof(media_file_format);