xref: /haiku/src/add-ons/media/plugins/ffmpeg/MuxerTable.cpp (revision ead61989722a675027cdcb10e9adce20a5a2e3d4)
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
29*ead61989SStephan Aßmus 			| media_file_format::B_KNOWS_RAW_VIDEO
30*ead61989SStephan Aßmus 			| media_file_format::B_KNOWS_RAW_AUDIO
31*ead61989SStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_VIDEO
32*ead61989SStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
33*ead61989SStephan Aßmus 		{ 0 },
34*ead61989SStephan Aßmus 		B_AVI_FORMAT_FAMILY,
35*ead61989SStephan Aßmus 		100,
36*ead61989SStephan Aßmus 		{ 0 },
37*ead61989SStephan Aßmus 		"video/x-matroska",
38*ead61989SStephan Aßmus 		"Matroska file format",
39*ead61989SStephan Aßmus 		"mkv",
40*ead61989SStephan Aßmus 		"mkv",
41*ead61989SStephan Aßmus 		{ 0 }
42*ead61989SStephan Aßmus 	},
43*ead61989SStephan Aßmus 	{
44*ead61989SStephan 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.
606780c24dSStephan Aßmus //	{
616780c24dSStephan Aßmus //		media_file_format::B_WRITABLE
626780c24dSStephan Aßmus //			| media_file_format::B_KNOWS_ENCODED_VIDEO
636780c24dSStephan Aßmus //			| media_file_format::B_KNOWS_ENCODED_AUDIO,
646780c24dSStephan Aßmus //		{ 0 },
656780c24dSStephan Aßmus //		B_AVI_FORMAT_FAMILY,
666780c24dSStephan Aßmus //		100,
676780c24dSStephan Aßmus //		{ 0 },
686780c24dSStephan Aßmus //		"application/ogg",
696780c24dSStephan Aßmus //		"Ogg (Xiph.Org Foundation)",
706780c24dSStephan Aßmus //		"ogg",
716780c24dSStephan Aßmus //		"ogg",
726780c24dSStephan Aßmus //		{ 0 }
736780c24dSStephan 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