xref: /haiku/src/add-ons/media/plugins/ffmpeg/MuxerTable.cpp (revision 73e5249c797223236908f855d3710709d7fd85fb)
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 },
34ead61989SStephan Aßmus 		B_AVI_FORMAT_FAMILY,
35ead61989SStephan Aßmus 		100,
36ead61989SStephan Aßmus 		{ 0 },
37ead61989SStephan Aßmus 		"video/x-matroska",
38ead61989SStephan Aßmus 		"Matroska file format",
39ead61989SStephan Aßmus 		"mkv",
40ead61989SStephan Aßmus 		"mkv",
41ead61989SStephan Aßmus 		{ 0 }
42ead61989SStephan Aßmus 	},
43ead61989SStephan Aßmus 	{
44ead61989SStephan Aßmus 		media_file_format::B_WRITABLE
4554897d5cSStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_VIDEO
4654897d5cSStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
4754897d5cSStephan Aßmus 		{ 0 },
4854897d5cSStephan Aßmus 		B_MPEG_FORMAT_FAMILY,
4954897d5cSStephan Aßmus 		100,
5054897d5cSStephan Aßmus 		{ 0 },
5154897d5cSStephan Aßmus 		"video/mpeg",
5254897d5cSStephan Aßmus 		"MPEG (Motion Picture Experts Group)",
5354897d5cSStephan Aßmus 		"mpg",
5454897d5cSStephan Aßmus 		"mpg",
5554897d5cSStephan Aßmus 		{ 0 }
5654897d5cSStephan Aßmus 	},
576780c24dSStephan Aßmus // TODO: This one rejects unknown codecs. We probably need to define
586780c24dSStephan Aßmus // a media_format_family for it so that Encoders can announce their support
596780c24dSStephan Aßmus // for it specifically.
60*73e5249cSStephan Aßmus 	{
61*73e5249cSStephan Aßmus 		media_file_format::B_WRITABLE
62*73e5249cSStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_VIDEO
63*73e5249cSStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
64*73e5249cSStephan Aßmus 		{ 0 },
65*73e5249cSStephan Aßmus 		B_MISC_FORMAT_FAMILY,
66*73e5249cSStephan Aßmus 		100,
67*73e5249cSStephan Aßmus 		{ 0 },
68*73e5249cSStephan Aßmus 		"application/ogg",
69*73e5249cSStephan Aßmus 		"Ogg (Xiph.Org Foundation)",
70*73e5249cSStephan Aßmus 		"ogg",
71*73e5249cSStephan Aßmus 		"ogg",
72*73e5249cSStephan Aßmus 		{ 0 }
73*73e5249cSStephan Aßmus 	},
746d15d130SStephan Aßmus 	{
756d15d130SStephan Aßmus 		media_file_format::B_WRITABLE
766d15d130SStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
776d15d130SStephan Aßmus 		{ 0 },
786d15d130SStephan Aßmus 		B_WAV_FORMAT_FAMILY,
796d15d130SStephan Aßmus 		100,
806d15d130SStephan Aßmus 		{ 0 },
816d15d130SStephan Aßmus 		"audio/x-wav",
826d15d130SStephan Aßmus 		"WAV Format",
836d15d130SStephan Aßmus 		"wav",
846d15d130SStephan Aßmus 		"wav",
856d15d130SStephan Aßmus 		{ 0 }
866d15d130SStephan Aßmus 	},
876ac391b3SStephan Aßmus };
886ac391b3SStephan Aßmus 
896ac391b3SStephan Aßmus const size_t gMuxerCount = sizeof(gMuxerTable) / sizeof(media_file_format);
906ac391b3SStephan Aßmus 
91