xref: /haiku/src/add-ons/media/plugins/ffmpeg/MuxerTable.cpp (revision eca9668a4a8697d5fe91d07caefa4c6b0310ab0d)
16ac391b3SStephan Aßmus /*
26ac391b3SStephan Aßmus  * Copyright 2009 Stephan Aßmus <superstippi@gmx.de>
36ac391b3SStephan Aßmus  * All rights reserved. Distributed under the terms of the MIT license.
46ac391b3SStephan Aßmus  */
56ac391b3SStephan Aßmus 
66ac391b3SStephan Aßmus 
76ac391b3SStephan Aßmus #include "MuxerTable.h"
86ac391b3SStephan Aßmus 
96ac391b3SStephan Aßmus 
106ac391b3SStephan Aßmus const media_file_format gMuxerTable[] = {
116ac391b3SStephan Aßmus 	{
126ac391b3SStephan Aßmus 		media_file_format::B_WRITABLE
136ac391b3SStephan Aßmus 			| media_file_format::B_KNOWS_RAW_VIDEO
146ac391b3SStephan Aßmus 			| media_file_format::B_KNOWS_RAW_AUDIO
156ac391b3SStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_VIDEO
166ac391b3SStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
176ac391b3SStephan Aßmus 		{ 0 },
186ac391b3SStephan Aßmus 		B_AVI_FORMAT_FAMILY,
196ac391b3SStephan Aßmus 		100,
206ac391b3SStephan Aßmus 		{ 0 },
216ac391b3SStephan Aßmus 		"video/x-msvideo",
226ac391b3SStephan Aßmus 		"AVI (Audio Video Interleaved)",
234384acf6SStephan Aßmus 		"avi",
246ac391b3SStephan Aßmus 		"avi",
256ac391b3SStephan Aßmus 		{ 0 }
266ac391b3SStephan Aßmus 	},
2754897d5cSStephan Aßmus 	{
2854897d5cSStephan Aßmus 		media_file_format::B_WRITABLE
29ead61989SStephan Aßmus 			| media_file_format::B_KNOWS_RAW_VIDEO
30ead61989SStephan Aßmus 			| media_file_format::B_KNOWS_RAW_AUDIO
31ead61989SStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_VIDEO
32ead61989SStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
33ead61989SStephan Aßmus 		{ 0 },
34*eca9668aSStephan Aßmus 		B_MISC_FORMAT_FAMILY,
35*eca9668aSStephan Aßmus 		100,
36*eca9668aSStephan Aßmus 		{ 0 },
37*eca9668aSStephan Aßmus 		"video/x-msvideo",
38*eca9668aSStephan Aßmus 		"DV video format",
39*eca9668aSStephan Aßmus 		"dv",
40*eca9668aSStephan Aßmus 		"dv",
41*eca9668aSStephan Aßmus 		{ 0 }
42*eca9668aSStephan Aßmus 	},
43*eca9668aSStephan Aßmus 	{
44*eca9668aSStephan Aßmus 		media_file_format::B_WRITABLE
45*eca9668aSStephan Aßmus 			| media_file_format::B_KNOWS_RAW_VIDEO
46*eca9668aSStephan Aßmus 			| media_file_format::B_KNOWS_RAW_AUDIO
47*eca9668aSStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_VIDEO
48*eca9668aSStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
49*eca9668aSStephan Aßmus 		{ 0 },
50ead61989SStephan Aßmus 		B_AVI_FORMAT_FAMILY,
51ead61989SStephan Aßmus 		100,
52ead61989SStephan Aßmus 		{ 0 },
53ead61989SStephan Aßmus 		"video/x-matroska",
54ead61989SStephan Aßmus 		"Matroska file format",
55ead61989SStephan Aßmus 		"mkv",
56ead61989SStephan Aßmus 		"mkv",
57ead61989SStephan Aßmus 		{ 0 }
58ead61989SStephan Aßmus 	},
59ead61989SStephan Aßmus 	{
60ead61989SStephan Aßmus 		media_file_format::B_WRITABLE
6154897d5cSStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_VIDEO
6254897d5cSStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
6354897d5cSStephan Aßmus 		{ 0 },
6454897d5cSStephan Aßmus 		B_MPEG_FORMAT_FAMILY,
6554897d5cSStephan Aßmus 		100,
6654897d5cSStephan Aßmus 		{ 0 },
6754897d5cSStephan Aßmus 		"video/mpeg",
6854897d5cSStephan Aßmus 		"MPEG (Motion Picture Experts Group)",
6954897d5cSStephan Aßmus 		"mpg",
7054897d5cSStephan Aßmus 		"mpg",
7154897d5cSStephan Aßmus 		{ 0 }
7254897d5cSStephan Aßmus 	},
736780c24dSStephan Aßmus // TODO: This one rejects unknown codecs. We probably need to define
746780c24dSStephan Aßmus // a media_format_family for it so that Encoders can announce their support
756780c24dSStephan Aßmus // for it specifically.
7673e5249cSStephan Aßmus 	{
7773e5249cSStephan Aßmus 		media_file_format::B_WRITABLE
7873e5249cSStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_VIDEO
7973e5249cSStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
8073e5249cSStephan Aßmus 		{ 0 },
8173e5249cSStephan Aßmus 		B_MISC_FORMAT_FAMILY,
8273e5249cSStephan Aßmus 		100,
8373e5249cSStephan Aßmus 		{ 0 },
8473e5249cSStephan Aßmus 		"application/ogg",
8573e5249cSStephan Aßmus 		"Ogg (Xiph.Org Foundation)",
8673e5249cSStephan Aßmus 		"ogg",
8773e5249cSStephan Aßmus 		"ogg",
8873e5249cSStephan Aßmus 		{ 0 }
8973e5249cSStephan Aßmus 	},
906d15d130SStephan Aßmus 	{
916d15d130SStephan Aßmus 		media_file_format::B_WRITABLE
926d15d130SStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
936d15d130SStephan Aßmus 		{ 0 },
946d15d130SStephan Aßmus 		B_WAV_FORMAT_FAMILY,
956d15d130SStephan Aßmus 		100,
966d15d130SStephan Aßmus 		{ 0 },
976d15d130SStephan Aßmus 		"audio/x-wav",
986d15d130SStephan Aßmus 		"WAV Format",
996d15d130SStephan Aßmus 		"wav",
1006d15d130SStephan Aßmus 		"wav",
1016d15d130SStephan Aßmus 		{ 0 }
1026d15d130SStephan Aßmus 	},
1036ac391b3SStephan Aßmus };
1046ac391b3SStephan Aßmus 
1056ac391b3SStephan Aßmus const size_t gMuxerCount = sizeof(gMuxerTable) / sizeof(media_file_format);
1066ac391b3SStephan Aßmus 
107