xref: /haiku/src/add-ons/media/plugins/ffmpeg/MuxerTable.cpp (revision 6d15d130871499bdec85daaa69ee0c23f3cc91bb)
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
2954897d5cSStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_VIDEO
3054897d5cSStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
3154897d5cSStephan Aßmus 		{ 0 },
3254897d5cSStephan Aßmus 		B_MPEG_FORMAT_FAMILY,
3354897d5cSStephan Aßmus 		100,
3454897d5cSStephan Aßmus 		{ 0 },
3554897d5cSStephan Aßmus 		"video/mpeg",
3654897d5cSStephan Aßmus 		"MPEG (Motion Picture Experts Group)",
3754897d5cSStephan Aßmus 		"mpg",
3854897d5cSStephan Aßmus 		"mpg",
3954897d5cSStephan Aßmus 		{ 0 }
4054897d5cSStephan Aßmus 	},
416780c24dSStephan Aßmus // TODO: This one rejects unknown codecs. We probably need to define
426780c24dSStephan Aßmus // a media_format_family for it so that Encoders can announce their support
436780c24dSStephan Aßmus // for it specifically.
446780c24dSStephan Aßmus //	{
456780c24dSStephan Aßmus //		media_file_format::B_WRITABLE
466780c24dSStephan Aßmus //			| media_file_format::B_KNOWS_ENCODED_VIDEO
476780c24dSStephan Aßmus //			| media_file_format::B_KNOWS_ENCODED_AUDIO,
486780c24dSStephan Aßmus //		{ 0 },
496780c24dSStephan Aßmus //		B_AVI_FORMAT_FAMILY,
506780c24dSStephan Aßmus //		100,
516780c24dSStephan Aßmus //		{ 0 },
526780c24dSStephan Aßmus //		"application/ogg",
536780c24dSStephan Aßmus //		"Ogg (Xiph.Org Foundation)",
546780c24dSStephan Aßmus //		"ogg",
556780c24dSStephan Aßmus //		"ogg",
566780c24dSStephan Aßmus //		{ 0 }
576780c24dSStephan Aßmus //	},
58*6d15d130SStephan Aßmus 	{
59*6d15d130SStephan Aßmus 		media_file_format::B_WRITABLE
60*6d15d130SStephan Aßmus 			| media_file_format::B_KNOWS_ENCODED_AUDIO,
61*6d15d130SStephan Aßmus 		{ 0 },
62*6d15d130SStephan Aßmus 		B_WAV_FORMAT_FAMILY,
63*6d15d130SStephan Aßmus 		100,
64*6d15d130SStephan Aßmus 		{ 0 },
65*6d15d130SStephan Aßmus 		"audio/x-wav",
66*6d15d130SStephan Aßmus 		"WAV Format",
67*6d15d130SStephan Aßmus 		"wav",
68*6d15d130SStephan Aßmus 		"wav",
69*6d15d130SStephan Aßmus 		{ 0 }
70*6d15d130SStephan Aßmus 	},
716ac391b3SStephan Aßmus };
726ac391b3SStephan Aßmus 
736ac391b3SStephan Aßmus const size_t gMuxerCount = sizeof(gMuxerTable) / sizeof(media_file_format);
746ac391b3SStephan Aßmus 
75