xref: /haiku/src/add-ons/media/plugins/ffmpeg/MuxerTable.cpp (revision 45bd7bb3db9d9e4dcb02b89a3e7c2bf382c0a88c)
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_AVI_FORMAT_FAMILY,
35 		100,
36 		{ 0 },
37 		"video/x-matroska",
38 		"Matroska file format",
39 		"mkv",
40 		"mkv",
41 		{ 0 }
42 	},
43 	{
44 		media_file_format::B_WRITABLE
45 			| media_file_format::B_KNOWS_ENCODED_VIDEO
46 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
47 		{ 0 },
48 		B_MPEG_FORMAT_FAMILY,
49 		100,
50 		{ 0 },
51 		"video/mpeg",
52 		"MPEG (Motion Picture Experts Group)",
53 		"mpg",
54 		"mpg",
55 		{ 0 }
56 	},
57 // TODO: This one rejects unknown codecs. We probably need to define
58 // a media_format_family for it so that Encoders can announce their support
59 // for it specifically.
60 //	{
61 //		media_file_format::B_WRITABLE
62 //			| media_file_format::B_KNOWS_ENCODED_VIDEO
63 //			| media_file_format::B_KNOWS_ENCODED_AUDIO,
64 //		{ 0 },
65 //		B_AVI_FORMAT_FAMILY,
66 //		100,
67 //		{ 0 },
68 //		"application/ogg",
69 //		"Ogg (Xiph.Org Foundation)",
70 //		"ogg",
71 //		"ogg",
72 //		{ 0 }
73 //	},
74 	{
75 		media_file_format::B_WRITABLE
76 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
77 		{ 0 },
78 		B_WAV_FORMAT_FAMILY,
79 		100,
80 		{ 0 },
81 		"audio/x-wav",
82 		"WAV Format",
83 		"wav",
84 		"wav",
85 		{ 0 }
86 	},
87 };
88 
89 const size_t gMuxerCount = sizeof(gMuxerTable) / sizeof(media_file_format);
90 
91