xref: /haiku/src/add-ons/media/plugins/ffmpeg/MuxerTable.cpp (revision 4466b89c65970de4c7236ac87faa2bee4589f413)
1 /*
2  * Copyright 2009 Stephan Aßmus <superstippi@gmx.de>
3  * All rights reserved. Distributed under the terms of the MIT license.
4  */
5 
6 
7 #include "MuxerTable.h"
8 
9 
10 const media_file_format gMuxerTable[] = {
11 	{
12 		media_file_format::B_WRITABLE
13 			| media_file_format::B_KNOWS_RAW_VIDEO
14 			| media_file_format::B_KNOWS_RAW_AUDIO
15 			| media_file_format::B_KNOWS_ENCODED_VIDEO
16 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
17 		{ 0 },
18 		B_AVI_FORMAT_FAMILY,
19 		100,
20 		{ 0 },
21 		"video/x-msvideo",
22 		"AVI (Audio Video Interleaved)",
23 		"avi",
24 		"avi",
25 		{ 0 }
26 	},
27 	{
28 		media_file_format::B_WRITABLE
29 			| media_file_format::B_KNOWS_RAW_VIDEO
30 			| media_file_format::B_KNOWS_RAW_AUDIO
31 			| media_file_format::B_KNOWS_ENCODED_VIDEO
32 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
33 		{ 0 },
34 		B_MISC_FORMAT_FAMILY,
35 		100,
36 		{ 0 },
37 		"video/x-msvideo",
38 		"DV video format",
39 		"dv",
40 		"dv",
41 		{ 0 }
42 	},
43 	{
44 		media_file_format::B_WRITABLE
45 			| media_file_format::B_KNOWS_RAW_VIDEO
46 			| media_file_format::B_KNOWS_RAW_AUDIO
47 			| media_file_format::B_KNOWS_ENCODED_VIDEO
48 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
49 		{ 0 },
50 		B_AVI_FORMAT_FAMILY,
51 		100,
52 		{ 0 },
53 		"video/x-matroska",
54 		"Matroska file format",
55 		"mkv",
56 		"mkv",
57 		{ 0 }
58 	},
59 	{
60 		media_file_format::B_WRITABLE
61 			| media_file_format::B_KNOWS_ENCODED_VIDEO
62 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
63 		{ 0 },
64 		B_MPEG_FORMAT_FAMILY,
65 		100,
66 		{ 0 },
67 		"video/mpeg",
68 		"MPEG (Motion Picture Experts Group)",
69 		"mpg",
70 		"mpg",
71 		{ 0 }
72 	},
73 // TODO: This one rejects unknown codecs. We probably need to define
74 // a media_format_family for it so that Encoders can announce their support
75 // for it specifically.
76 	{
77 		media_file_format::B_WRITABLE
78 			| media_file_format::B_KNOWS_ENCODED_VIDEO
79 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
80 		{ 0 },
81 		B_MISC_FORMAT_FAMILY,
82 		100,
83 		{ 0 },
84 		"application/ogg",
85 		"Ogg (Xiph.Org Foundation)",
86 		"ogg",
87 		"ogg",
88 		{ 0 }
89 	},
90 	{
91 		media_file_format::B_WRITABLE
92 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
93 		{ 0 },
94 		B_WAV_FORMAT_FAMILY,
95 		100,
96 		{ 0 },
97 		"audio/x-wav",
98 		"WAV Format",
99 		"wav",
100 		"wav",
101 		{ 0 }
102 	},
103 };
104 
105 const size_t gMuxerCount = sizeof(gMuxerTable) / sizeof(media_file_format);
106 
107