* Enabled libvorbis and libtheora encoders in FFmpeg
* Enabled ogg muxer in MuxerTable. ogg/vorbis creation successfully tested with MediaConverter. ogg/theora needs more testing, it seems to work, but I need to switch from the other vorbis/theora/ogg plugins to the FFmpeg built-in support, otherwise the current theora stream is not supported by the old plugin. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38641 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
0640823932
commit
73e5249c79
@ -10,7 +10,7 @@
|
||||
const EncoderDescription gEncoderTable[] = {
|
||||
{
|
||||
{
|
||||
"MPEG4 Video",
|
||||
"MPEG4 video",
|
||||
"mpeg4",
|
||||
0,
|
||||
CODEC_ID_MPEG4,
|
||||
@ -23,7 +23,7 @@ const EncoderDescription gEncoderTable[] = {
|
||||
},
|
||||
{
|
||||
{
|
||||
"MPEG1 Video",
|
||||
"MPEG1 video",
|
||||
"mpeg1video",
|
||||
0,
|
||||
CODEC_ID_MPEG1VIDEO,
|
||||
@ -36,7 +36,7 @@ const EncoderDescription gEncoderTable[] = {
|
||||
},
|
||||
{
|
||||
{
|
||||
"MPEG2 Video",
|
||||
"MPEG2 video",
|
||||
"mpeg2video",
|
||||
0,
|
||||
CODEC_ID_MPEG2VIDEO,
|
||||
@ -49,7 +49,20 @@ const EncoderDescription gEncoderTable[] = {
|
||||
},
|
||||
{
|
||||
{
|
||||
"Raw Audio",
|
||||
"Theora video",
|
||||
"theora",
|
||||
0,
|
||||
CODEC_ID_THEORA,
|
||||
{ 0 }
|
||||
},
|
||||
B_ANY_FORMAT_FAMILY,
|
||||
B_MEDIA_RAW_VIDEO,
|
||||
B_MEDIA_ENCODED_VIDEO,
|
||||
23
|
||||
},
|
||||
{
|
||||
{
|
||||
"Raw audio",
|
||||
"pcm",
|
||||
0,
|
||||
0,
|
||||
@ -72,6 +85,19 @@ const EncoderDescription gEncoderTable[] = {
|
||||
B_MEDIA_RAW_AUDIO,
|
||||
B_MEDIA_ENCODED_AUDIO,
|
||||
10
|
||||
},
|
||||
{
|
||||
{
|
||||
"Vorbis audio",
|
||||
"vorbis",
|
||||
0,
|
||||
CODEC_ID_VORBIS,
|
||||
{ 0 }
|
||||
},
|
||||
B_ANY_FORMAT_FAMILY,
|
||||
B_MEDIA_RAW_AUDIO,
|
||||
B_MEDIA_ENCODED_AUDIO,
|
||||
10
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -32,6 +32,11 @@ Addon ffmpeg :
|
||||
libavcodec_$(TARGET_ARCH).a
|
||||
libavutil.a
|
||||
libswscale.a
|
||||
|
||||
libvorbis_ffmpeg.a
|
||||
libtheora_ffmpeg.a
|
||||
libogg_ffmpeg.a
|
||||
|
||||
be
|
||||
libmedia.so
|
||||
libz.a
|
||||
@ -102,4 +107,7 @@ HAIKU_FFMPEG_DEFINES = [ FDefines $(HAIKU_FFMPEG_DEFINES) ] ;
|
||||
SubInclude HAIKU_TOP src add-ons media plugins ffmpeg libavcodec ;
|
||||
SubInclude HAIKU_TOP src add-ons media plugins ffmpeg libavformat ;
|
||||
SubInclude HAIKU_TOP src add-ons media plugins ffmpeg libavutil ;
|
||||
SubInclude HAIKU_TOP src add-ons media plugins ffmpeg libogg ;
|
||||
SubInclude HAIKU_TOP src add-ons media plugins ffmpeg libswscale ;
|
||||
SubInclude HAIKU_TOP src add-ons media plugins ffmpeg libtheora ;
|
||||
SubInclude HAIKU_TOP src add-ons media plugins ffmpeg libvorbis ;
|
||||
|
@ -57,20 +57,20 @@ const media_file_format gMuxerTable[] = {
|
||||
// TODO: This one rejects unknown codecs. We probably need to define
|
||||
// a media_format_family for it so that Encoders can announce their support
|
||||
// for it specifically.
|
||||
// {
|
||||
// media_file_format::B_WRITABLE
|
||||
// | media_file_format::B_KNOWS_ENCODED_VIDEO
|
||||
// | media_file_format::B_KNOWS_ENCODED_AUDIO,
|
||||
// { 0 },
|
||||
// B_AVI_FORMAT_FAMILY,
|
||||
// 100,
|
||||
// { 0 },
|
||||
// "application/ogg",
|
||||
// "Ogg (Xiph.Org Foundation)",
|
||||
// "ogg",
|
||||
// "ogg",
|
||||
// { 0 }
|
||||
// },
|
||||
{
|
||||
media_file_format::B_WRITABLE
|
||||
| media_file_format::B_KNOWS_ENCODED_VIDEO
|
||||
| media_file_format::B_KNOWS_ENCODED_AUDIO,
|
||||
{ 0 },
|
||||
B_MISC_FORMAT_FAMILY,
|
||||
100,
|
||||
{ 0 },
|
||||
"application/ogg",
|
||||
"Ogg (Xiph.Org Foundation)",
|
||||
"ogg",
|
||||
"ogg",
|
||||
{ 0 }
|
||||
},
|
||||
{
|
||||
media_file_format::B_WRITABLE
|
||||
| media_file_format::B_KNOWS_ENCODED_AUDIO,
|
||||
|
@ -196,8 +196,8 @@
|
||||
#define CONFIG_LIBRTMP 0
|
||||
#define CONFIG_LIBSCHROEDINGER 0
|
||||
#define CONFIG_LIBSPEEX 0
|
||||
#define CONFIG_LIBTHEORA 0
|
||||
#define CONFIG_LIBVORBIS 0
|
||||
#define CONFIG_LIBTHEORA 1
|
||||
#define CONFIG_LIBVORBIS 1
|
||||
#define CONFIG_LIBVPX 0
|
||||
#define CONFIG_LIBX264 0
|
||||
#define CONFIG_LIBXVID 0
|
||||
@ -585,8 +585,8 @@
|
||||
#define CONFIG_LIBMP3LAME_ENCODER 0
|
||||
#define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
|
||||
#define CONFIG_LIBSCHROEDINGER_ENCODER 0
|
||||
#define CONFIG_LIBTHEORA_ENCODER 0
|
||||
#define CONFIG_LIBVORBIS_ENCODER 0
|
||||
#define CONFIG_LIBTHEORA_ENCODER 1
|
||||
#define CONFIG_LIBVORBIS_ENCODER 1
|
||||
#define CONFIG_LIBVPX_ENCODER 0
|
||||
#define CONFIG_LIBX264_ENCODER 0
|
||||
#define CONFIG_LIBXVID_ENCODER 0
|
||||
|
@ -2,8 +2,12 @@ SubDir HAIKU_TOP src add-ons media plugins ffmpeg libavcodec ;
|
||||
|
||||
SubDirHdrs [ FDirName $(SUBDIR) .. ] ;
|
||||
SubDirHdrs [ FDirName $(SUBDIR) $(TARGET_ARCH) ] ;
|
||||
SubDirHdrs [ FDirName $(SUBDIR) ../libavutil ] ;
|
||||
SubDirHdrs [ FDirName $(SUBDIR) ../libswscale ] ;
|
||||
SubDirHdrs [ FDirName $(SUBDIR) .. libavutil ] ;
|
||||
SubDirHdrs [ FDirName $(SUBDIR) .. libswscale ] ;
|
||||
SubDirSysHdrs [ FDirName $(SUBDIR) .. libogg include ] ;
|
||||
SubDirSysHdrs [ FDirName $(SUBDIR) .. libtheora include ] ;
|
||||
SubDirSysHdrs [ FDirName $(SUBDIR) .. libvorbis include ] ;
|
||||
|
||||
|
||||
UseLibraryHeaders zlib ;
|
||||
|
||||
@ -15,6 +19,7 @@ SubDirCcFlags $(HAIKU_FFMPEG_GCC_EXTRA_FLAGS) ;
|
||||
SubDirCcFlags $(HAIKU_FFMPEG_DEFINES) ;
|
||||
SubDirC++Flags $(HAIKU_FFMPEG_DEFINES) ;
|
||||
|
||||
|
||||
StaticLibrary libavcodec.a :
|
||||
4xm.c
|
||||
8bps.c
|
||||
@ -183,6 +188,8 @@ StaticLibrary libavcodec.a :
|
||||
kmvc.c
|
||||
lcldec.c
|
||||
# lclenc.c
|
||||
libtheoraenc.c
|
||||
libvorbis.c
|
||||
# ljpegenc.c
|
||||
loco.c
|
||||
lpc.c
|
||||
@ -361,6 +368,12 @@ StaticLibrary libavcodec.a :
|
||||
zmbv.c
|
||||
;
|
||||
|
||||
# GCC2 needs this in order to find codec.h in each of these directories
|
||||
# respectively and to find the correct codec.h, we need to define this
|
||||
# per individual file.
|
||||
SourceHdrs libvorbis.c : [ FDirName $(SUBDIR) .. libvorbis include vorbis ] ;
|
||||
SourceHdrs libtheoraenc.c : [ FDirName $(SUBDIR) .. libtheora include theora ] ;
|
||||
|
||||
SubInclude HAIKU_TOP src add-ons media plugins ffmpeg libavcodec
|
||||
$(TARGET_ARCH) ;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user