codec: implementation of Media Foundation Transform audio/video decoding

Media Foundation is a framework for encoding/decoding multimedia
content on Windows Vista and above. A Media Foundation Transform (MFT)
is a module implementing an encoder, a decoder or a filter.

MFTs can be enumerated and initialized using the function MFTEnumEx.
A MFT can be SW or HW, synchronous or asynchronous.
This commit is contained in:
Felix Abecassis 2014-04-25 15:25:37 +02:00
parent 735a0a4731
commit 2762ab0abe
5 changed files with 1178 additions and 0 deletions

1
NEWS
View File

@ -26,6 +26,7 @@ Decoder:
* Fix channel ordering of LPCM codec in m2ts files
* New jpeg image decoder
* Add tx3g subtitles decoder
* Add Media Foundation Transform decoder
Encoder:
* Support for MPEG-2 encoding using x262

View File

@ -200,6 +200,7 @@ $Id$
* marq: Overlays a marquee on the video
* mediacodec: Android Jelly Bean MediaCodec decoder module
* mediadirs: Picture/Music/Video user directories as service discoveries
* mft: Media Foundation Transform audio/video decoder
* minimal_macosx: a minimal Mac OS X GUI, using the FrameWork
* mirror: mirror video filter
* mjpeg: a demuxer for multipart and concatenated JPEG data

View File

@ -459,6 +459,12 @@ libdmo_plugin_la_LIBADD += -lole32 -luuid
codec_LTLIBRARIES += libdmo_plugin.la
endif
libmft_plugin_la_SOURCES = codec/mft.c
if HAVE_WIN32
libmft_plugin_la_LIBADD = -lole32 -luuid
codec_LTLIBRARIES += libmft_plugin.la
endif
libquicktime_plugin_la_SOURCES = codec/quicktime.c
libquicktime_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
libquicktime_plugin_la_LIBADD = $(LIBM)

1169
modules/codec/mft.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -377,6 +377,7 @@ modules/codec/kate.c
modules/codec/libass.c
modules/codec/libmpeg2.c
modules/codec/lpcm.c
modules/codec/mft.c
modules/codec/mpeg_audio.c
modules/codec/omxil/android_mediacodec.c
modules/codec/omxil/omxil.c