| /** |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the w64 mingw-runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| #ifndef _INC_MFAPI |
| #define _INC_MFAPI |
| #include <dshow.h> |
| #include <dvdmedia.h> |
| #include <opmapi.h> |
| #include <propsys.h> |
| #include <ksmedia.h> |
| |
| #if (_WIN32_WINNT >= 0x0600) |
| /*ksmedia.h needs fixing about "multi-character character constant"*/ |
| typedef struct _MFT_REGISTRATION_INFO MFT_REGISTRATION_INFO; |
| typedef struct IMFActivate IMFActivate; |
| typedef enum _EAllocationType { eAllocationTypeIgnore } EAllocationType; /*Unknown type*/ |
| |
| typedef enum { |
| MF_TOPOSTATUS_INVALID = 0, |
| MF_TOPOSTATUS_READY = 100, |
| MF_TOPOSTATUS_STARTED_SOURCE = 200, |
| MF_TOPOSTATUS_DYNAMIC_CHANGED = 210, |
| MF_TOPOSTATUS_SINK_SWITCHED = 300, |
| MF_TOPOSTATUS_ENDED = 400 |
| } MF_TOPOSTATUS; |
| |
| typedef enum _MFVideoDRMFlags { |
| MFVideoDRMFlag_None = 0, |
| MFVideoDRMFlag_AnalogProtected = 1, |
| MFVideoDRMFlag_DigitallyProtected = 2 |
| } MFVideoDRMFlags; |
| |
| |
| #if (_WIN32_WINNT >= 0x0601) |
| |
| typedef enum { |
| MF_STANDARD_WORKQUEUE = 0, |
| MF_WINDOW_WORKQUEUE = 1 |
| } MFASYNC_WORKQUEUE_TYPE; |
| #endif /*(_WIN32_WINNT >= 0x0601)*/ |
| |
| typedef enum _MFVideoPadFlags { |
| MFVideoPadFlag_PAD_TO_None = 0, |
| MFVideoPadFlag_PAD_TO_4x3 = 1, |
| MFVideoPadFlag_PAD_TO_16x9 = 2 |
| } MFVideoPadFlags; |
| |
| typedef enum _MFVideoSrcContentHintFlags { |
| MFVideoSrcContentHintFlag_None = 0, |
| MFVideoSrcContentHintFlag_16x9 = 1, |
| MFVideoSrcContentHintFlag_235_1 = 2 |
| } MFVideoSrcContentHintFlags; |
| |
| typedef enum _MFWaveFormatExConvertFlags { |
| MFWaveFormatExConvertFlag_Normal = 0, |
| MFWaveFormatExConvertFlag_ForceExtensible = 1 |
| } MFWaveFormatExConvertFlags; |
| |
| #if (_WIN32_WINNT >= 0x0601) |
| #undef INTERFACE |
| #define INTERFACE IMFLocalMFTRegistration |
| DECLARE_INTERFACE_(IMFLocalMFTRegistration,IUnknown) |
| { |
| BEGIN_INTERFACE |
| |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IMFLocalMFTRegistration methods */ |
| STDMETHOD_(HRESULT,RegisterMFTs)(THIS_ MFT_REGISTRATION_INFO *pMFTs,DWORD cMFTs) PURE; |
| |
| END_INTERFACE |
| }; |
| #ifdef COBJMACROS |
| #define IMFLocalMFTRegistration_QueryInterface(This,riid,ppvObject) (This)->pVtbl->QueryInterface(This,riid,ppvObject) |
| #define IMFLocalMFTRegistration_AddRef(This) (This)->pVtbl->AddRef(This) |
| #define IMFLocalMFTRegistration_Release(This) (This)->pVtbl->Release(This) |
| #define IMFLocalMFTRegistration_RegisterMFTs(This,pMFTs,cMFTs) (This)->lpVtbl->RegisterMFTs(This,pMFTs,cMFTs) |
| #endif /*COBJMACROS*/ |
| #endif /*(_WIN32_WINNT >= 0x0601)*/ |
| |
| #ifdef __cplusplus |
| typedef struct tagMFASYNCRESULT : public IMFAsyncResult { |
| OVERLAPPED overlapped; |
| IMFAsyncCallback *pCallback; |
| HRESULT hrStatusResult; |
| DWORD dwBytesTransferred; |
| HANDLE hEvent; |
| } MFASYNCRESULT; |
| #endif |
| |
| typedef struct _MFT_REGISTER_TYPE_INFO { |
| GUID guidMajorType; |
| GUID guidSubtype; |
| } MFT_REGISTER_TYPE_INFO; |
| |
| typedef struct _MFFOLDDOWN_MATRIX { |
| UINT32 cbSize; |
| UINT32 cSrcChannels; |
| UINT32 cDstChannels; |
| UINT32 dwChannelMask; |
| LONG Coeff[64]; |
| } MFFOLDDOWN_MATRIX; |
| |
| typedef struct _MT_CUSTOM_VIDEO_PRIMARIES { |
| float fRx; |
| float fRy; |
| float fGx; |
| float fGy; |
| float fBx; |
| float fBy; |
| float fWx; |
| float fWy; |
| } MT_CUSTOM_VIDEO_PRIMARIES; |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| typedef void (*MFPERIODICCALLBACK )(IUnknown *pContext); |
| typedef ULONGLONG MFWORKITEM_KEY; |
| |
| HRESULT WINAPI MFAddPeriodicCallback(MFPERIODICCALLBACK Callback,IUnknown *pContext,DWORD *pdwKey); |
| HRESULT WINAPI MFRemovePeriodicCallback(DWORD dwKey); |
| HRESULT WINAPI MFAllocateWorkQueue(DWORD *pdwWorkQueue); |
| HRESULT WINAPI MFAllocateWorkQueueEx(MFASYNC_WORKQUEUE_TYPE WorkQueueType,DWORD *pdwWorkQueue); |
| HRESULT WINAPI MFAverageTimePerFrameToFrameRate(UINT64 unAverageTimePerFrame,UINT32 *punNumerator,UINT32 *punDenominator); |
| HRESULT WINAPI MFBeginCreateFile(MF_FILE_ACCESSMODE AccessMode,MF_FILE_OPENMODE OpenMode,MF_FILE_FLAGS fFlags,LPCWSTR pwszFilePath,IMFAsyncCallback *pCallback,IUnknown *pState,IUnknown **ppCancelCookie); |
| HRESULT WINAPI MFBeginUnregisterWorkQueueWithMMCSS(DWORD dwWorkQueueId,IMFAsyncCallback *pDoneCallback,IUnknown *pDoneState); |
| HRESULT WINAPI MFBeginRegisterWorkQueueWithMMCSS(DWORD dwWorkQueueId,LPCWSTR wszClass,DWORD dwTaskId,IMFAsyncCallback *pDoneCallback,IUnknown *pDoneState); |
| HRESULT WINAPI MFBeginCreateFile(MF_FILE_ACCESSMODE AccessMode,MF_FILE_OPENMODE OpenMode,MF_FILE_FLAGS fFlags,LPCWSTR pwszFilePath,IMFAsyncCallback *pCallback,IUnknown *pState,IUnknown **ppCancelCookie); |
| HRESULT WINAPI MFCalculateBitmapImageSize(const BITMAPINFOHEADER *pBMIH,UINT32 cbBufSize,UINT32 *pcbImageSize,WINBOOL *pbKnown); |
| HRESULT WINAPI MFCalculateImageSize(REFGUID guidSubtype,UINT32 unWidth,UINT32 unHeight,UINT32 *pcbImageSize); |
| HRESULT WINAPI MFCancelCreateFile(IUnknown *pCancelCookie); |
| HRESULT WINAPI MFCancelWorkItem(MFWORKITEM_KEY Key); |
| WINBOOL WINAPI MFCompareFullToPartialMediaType(IMFMediaType *pMFTypeFull,IMFMediaType *pMFTypePartial); |
| HRESULT WINAPI MFConvertColorInfoFromDXVA(MFVIDEOFORMAT *pToFormat,DWORD dwFromDXVA); |
| HRESULT WINAPI MFConvertColorInfoToDXVA(DWORD *pdwToDXVA,const MFVIDEOFORMAT *pFromFormat); |
| HRESULT WINAPI MFConvertFromFP16Array(float *pDest,const WORD *pSrc,DWORD dwCount); |
| HRESULT WINAPI MFConvertToFP16Array(WORD *pDest,const float *pSrc,DWORD dwCount); |
| HRESULT WINAPI MFCopyImage(BYTE *pDest,LONG lDestStride,const BYTE *pSrc,LONG lSrcStride,DWORD dwWidthInBytes,DWORD dwLines); |
| HRESULT WINAPI MFCreateAudioMediaType(const WAVEFORMATEX *pAudioFormat,IMFAudioMediaType **ppIAudioMediaType); |
| HRESULT WINAPI MFCreateDXSurfaceBuffer(REFIID riid,IUnknown *punkSurface,BOOL fBottomUpWhenLinear,IMFMediaBuffer **ppBuffer); |
| HRESULT WINAPI MFCreateMediaType(IMFMediaType **ppMFType); |
| HRESULT WINAPI MFCreateMediaBufferWrapper(IMFMediaBuffer *pBuffer,DWORD cbOffset,DWORD dwLength,IMFMediaBuffer **ppBuffer); |
| HRESULT WINAPI MFCreateMediaTypeFromRepresentation(GUID guidRepresentation,LPVOID pvRepresentation,IMFMediaType **ppIMediaType); |
| HRESULT WINAPI MFCreateMemoryBuffer(DWORD cbMaxLength,IMFMediaBuffer **ppBuffer); |
| HRESULT WINAPI MFCreateMFVideoFormatFromMFMediaType(IMFMediaType *pMFType,MFVIDEOFORMAT **ppMFVF,UINT32 *pcbSize); |
| HRESULT WINAPI MFCreateSample(IMFSample **ppIMFSample); |
| HRESULT WINAPI MFCreateAsyncResult(IUnknown *punkObject,IMFAsyncCallback *pCallback,IUnknown *punkState,IMFAsyncResult **ppAsyncResult); |
| HRESULT WINAPI MFCreateFile(MF_FILE_ACCESSMODE AccessMode,MF_FILE_OPENMODE OpenMode,MF_FILE_FLAGS fFlags,LPCWSTR pwszFileURL,IMFByteStream **ppIByteStream); |
| HRESULT WINAPI MFCreateTempFile(MF_FILE_ACCESSMODE AccessMode,MF_FILE_OPENMODE OpenMode,MF_FILE_FLAGS fFlags,IMFByteStream **ppIByteStream); |
| HRESULT WINAPI MFInitMediaTypeFromWaveFormatEx(IMFMediaType *pMFType,const WAVEFORMATEX *pWaveFormat,UINT32 cbBufSize); |
| HRESULT WINAPI MFCreateVideoMediaType(const MFVIDEOFORMAT *pVideoFormat,IMFVideoMediaType **ppIVideoMediaType); |
| HRESULT WINAPI MFCreateVideoMediaTypeFromBitMapInfoHeader(const BITMAPINFOHEADER *pbmihBitMapInfoHeader,DWORD dwPixelAspectRatioX,DWORD dwPixelAspectRatioY,MFVideoInterlaceMode InterlaceMode,QWORD VideoFlags,QWORD qwFramesPerSecondNumerator,QWORD qwFramesPerSecondDenominator,DWORD dwMaxBitRate,IMFVideoMediaType **ppIVideoMediaType); |
| HRESULT WINAPI MFCreateVideoMediaTypeFromBitMapInfoHeaderEx(const BITMAPINFOHEADER *pbmihBitMapInfoHeader,UINT32 cbBitMapInfoHeader,DWORD dwPixelAspectRatioX,DWORD dwPixelAspectRatioY,MFVideoInterlaceMode InterlaceMode,QWORD VideoFlags,DWORD dwFramesPerSecondNumerator,DWORD dwFramesPerSecondDenominator,DWORD dwMaxBitRate,IMFVideoMediaType **ppIVideoMediaType); |
| HRESULT WINAPI MFCreateVideoMediaTypeFromSubtype(const GUID *pAMSubtype,IMFVideoMediaType **ppIVideoMediaType); |
| HRESULT WINAPI MFCreateVideoMediaTypeFromVideoInfoHeader(const KS_VIDEOINFOHEADER *pVideoInfoHeader,DWORD cbVideoInfoHeader,DWORD dwPixelAspectRatioX,DWORD dwPixelAspectRatioY,MFVideoInterlaceMode InterlaceMode,QWORD VideoFlags,const GUID *pSubtype,IMFVideoMediaType **ppIVideoMediaType); |
| HRESULT WINAPI MFCreateVideoMediaTypeFromVideoInfoHeader2(const KS_VIDEOINFOHEADER2 *pVideoInfoHeader,DWORD cbVideoInfoHeader,QWORD AdditionalVideoFlags,const GUID *pSubtype,IMFVideoMediaType **ppIVideoMediaType); |
| HRESULT WINAPI MFCreateWMAEncoderActivate(IMFMediaType *pMediaType,IPropertyStore *pEncodingConfigurationProperties,IMFActivate **ppActivate); |
| HRESULT WINAPI MFEndCreateFile(IMFAsyncResult *pResult,IMFByteStream **ppFile); |
| HRESULT WINAPI MFEndRegisterWorkQueueWithMMCSS(IMFAsyncResult *pResult,DWORD *pdwTaskId); |
| HRESULT WINAPI MFEndUnregisterWorkQueueWithMMCSS(IMFAsyncResult *pResult); |
| HRESULT WINAPI MFFrameRateToAverageTimePerFrame(UINT32 unNumerator,UINT32 unDenominator,UINT64 *punAverageTimePerFrame); |
| double WINAPI MFGetAttributeDouble(IMFAttributes *pAttributes,REFGUID guidKey,double fDefault); |
| HRESULT WINAPI MFGetAttributeRatio(IMFAttributes *pAttributes,REFGUID guidKey,UINT32 *pnNumerator,UINT32 *punDenominator); |
| HRESULT WINAPI MFGetAttributesAsBlob(IMFAttributes *pAttributes,UINT8 *pBuf,UINT cbBufSize); |
| HRESULT WINAPI MFGetAttributesAsBlobSize(IMFAttributes *pAttributes,UINT32 *pcbBufSize); |
| HRESULT WINAPI MFGetAttributeSize(IMFAttributes *pAttributes,REFGUID guidKey,UINT32 *punWidth,UINT32 *punHeight); |
| UINT32 WINAPI MFGetAttributeUINT32(IMFAttributes *pAttributes,REFGUID guidKey,UINT32 unDefault); |
| UINT64 WINAPI MFGetAttributeUINT64(IMFAttributes *pAttributes,REFGUID guidKey,UINT64 unDefault); |
| HRESULT WINAPI MFGetPlaneSize(DWORD format,DWORD dwWidth,DWORD dwHeight,DWORD *pdwPlaneSize); |
| HRESULT WINAPI MFGetStrideForBitmapInfoHeader(DWORD format,DWORD dwWidth,LONG *pStride); |
| HRESULT WINAPI MFGetTimerPeriodicity(DWORD *Periodicity); |
| DWORD WINAPI MFGetUncompressedVideoFormat(const MFVIDEOFORMAT *pVideoFormat); |
| HRESULT WINAPI MFGetWorkQueueMMCSSClass(DWORD dwWorkQueueId,LPWSTR pwszClass,DWORD *pcchClass); |
| HRESULT WINAPI MFGetWorkQueueMMCSSTaskId(DWORD dwWorkQueueId,LPDWORD pdwTaskId); |
| void* WINAPI MFHeapAlloc(size_t nSize,ULONG dwFlags,char *pszFile,int line,EAllocationType eat); |
| void WINAPI MFHeapFree(void *pv); |
| HRESULT WINAPI MFInitAMMediaTypeFromMFMediaType(IMFMediaType *pMFType,GUID guidFormatBlockType,AM_MEDIA_TYPE *pAMType); |
| HRESULT WINAPI MFInitAttributesFromBlob(IMFAttributes *pAttributes,const UINT8 *pBuf,UINT cbBufSize); |
| HRESULT WINAPI MFInitMediaTypeFromAMMediaType(IMFMediaType *pMFType,const AM_MEDIA_TYPE *pAMType); |
| HRESULT WINAPI MFInitMediaTypeFromMFVideoFormat(IMFMediaType *pMFType,const MFVIDEOFORMAT *pMFVF,UINT32 cbBufSize); |
| HRESULT WINAPI MFInitVideoFormat(MFVIDEOFORMAT *pVideoFormat,MFStandardVideoFormat type); |
| HRESULT WINAPI MFInitVideoFormat_RGB(MFVIDEOFORMAT *pVideoFormat,DWORD dwWidth,DWORD dwHeight,DWORD D3Dfmt); |
| HRESULT WINAPI MFInvokeCallback(IMFAsyncResult *pAsyncResult); |
| WINBOOL WINAPI MFIsFormatYUV(DWORD Format); |
| HRESULT WINAPI MFLockPlatform(void); |
| HRESULT WINAPI MFLockWorkQueue(DWORD dwWorkQueue); |
| HRESULT WINAPI MFPutWorkItem(DWORD dwQueue,IMFAsyncCallback *pCallback,IUnknown *pState); |
| HRESULT WINAPI MFPutWorkItemEx(DWORD dwQueue,IMFAsyncResult *pResult); |
| HRESULT WINAPI MFRemovePeriodicCallback(DWORD dwKey); |
| HRESULT WINAPI MFRequireProtectedEnvironment(IMFPresentationDescriptor *pPresentationDescriptor); |
| HRESULT WINAPI MFScheduleWorkItem(IMFAsyncCallback *pCallback,IUnknown *pState,INT64 Timeout,MFWORKITEM_KEY *pKey); |
| HRESULT WINAPI MFScheduleWorkItemEx(IMFAsyncResult *pResult,INT64 Timeout,MFWORKITEM_KEY *pKey); |
| HRESULT WINAPI MFSerializePresentationDescriptor(IMFPresentationDescriptor *pPD,DWORD *pcbData,BYTE **ppbData); |
| HRESULT WINAPI MFSetAttribute2UINT32asUINT64(IMFAttributes *pAttributes,REFGUID guidKey,UINT32 unHigh32,UINT32 unLow32); |
| HRESULT WINAPI MFSetAttributeRatio(IMFAttributes *pAttributes,REFGUID guidKey,UINT32 unNumerator,UINT32 unDenominator); |
| HRESULT WINAPI MFSetAttributeSize(IMFAttributes *pAttributes,REFGUID guidKey,UINT32 unWidth,UINT32 unHeight); |
| HRESULT WINAPI MFShutdown(void); |
| HRESULT WINAPI MFTEnum(GUID guidCategory,UINT32 Flags,MFT_REGISTER_TYPE_INFO *pInputType,MFT_REGISTER_TYPE_INFO *pOutputType,IMFAttributes *pAttributes,CLSID **ppclsidMFT,UINT32 *pcMFTs); |
| HRESULT WINAPI MFTGetInfo(CLSID clsidMFT,LPWSTR *pszName,MFT_REGISTER_TYPE_INFO **ppInputTypes,UINT32 *pcInputTypes,MFT_REGISTER_TYPE_INFO **ppOutputTypes,UINT32 *pcOutputTypes,IMFAttributes **ppAttributes); |
| HRESULT WINAPI MFTRegister(CLSID clsidMFT,GUID guidCategory,LPWSTR pszName,UINT32 Flags,UINT32 cInputTypes,MFT_REGISTER_TYPE_INFO *pInputTypes,UINT32 cOutputTypes,MFT_REGISTER_TYPE_INFO *pOutputTypes,IMFAttributes *pAttributes); |
| HRESULT WINAPI MFTRegisterLocal(IClassFactory *pClassFactory,REFGUID guidCategory,LPCWSTR pszName,UINT32 Flags,UINT32 cInputTypes,const MFT_REGISTER_TYPE_INFO *pInputTypes,UINT32 cOutputTypes,const MFT_REGISTER_TYPE_INFO *pOutputTypes); |
| HRESULT WINAPI MFTUnregister(CLSID clsidMFT); |
| HRESULT WINAPI MFUnlockPlatform(void); |
| HRESULT WINAPI MFUnlockWorkQueue(DWORD dwWorkQueue); |
| HRESULT WINAPI MFUnwrapMediaType(IMFMediaType *pWrap,IMFMediaType **ppOrig); |
| HRESULT WINAPI MFValidateMediaTypeSize(GUID FormatType,UINT8 *pBlock,UINT32 cbSize); |
| HRESULT WINAPI MFWrapMediaType(IMFMediaType *pOrig,REFGUID MajorType,REFGUID SubType,IMFMediaType **ppWrap); |
| HRESULT WINAPI OPMGetVideoOutputsFromHMONITOR(HMONITOR hMonitor,OPM_VIDEO_OUTPUT_SEMANTICS vos,ULONG *pulNumVideoOutputs,IOPMVideoOutput ***pppOPMVideoOutputArray); |
| UINT64 WINAPI Pack2UINT32AsUINT64(UINT32 unHigh,UINT32 unLow); |
| /*void Unpack2UINT32AsUINT64(UINT64 unPacked,UINT32 *punHigh,UINT32 *punLow);*/ |
| #define Unpack2UINT32AsUINT64(unPacked,punHigh,punLow) \ |
| punHigh=(unPacked&0xffff0000); \ |
| punLow=(unPacked&0x0000ffff); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #if (_WIN32_WINNT >= 0x0601) |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| HRESULT WINAPI MFCreateMFByteStreamOnStream(IStream *pStream,IMFByteStream **ppByteStream); |
| HRESULT WINAPI MFGetMFTMerit(IUnknown *pMFT,UINT32 cbVerifier,const BYTE *verifier,DWORD *merit); |
| HRESULT WINAPI MFGetPluginControl(IMFPluginControl **ppPluginControl); |
| LONGLONG WINAPI MFllMulDiv(LONGLONG a,LONGLONG b,LONGLONG c,LONGLONG d); |
| HRESULT WINAPI MFTEnumEx(GUID guidCategory,UINT32 Flags,const MFT_REGISTER_TYPE_INFO *pInputType,const MFT_REGISTER_TYPE_INFO *pOutputType,IMFActivate ***pppMFTActivate,UINT32 *pcMFTActivate); |
| HRESULT WINAPI MFTRegisterLocalByCLSID(REFCLSID clisdMFT,REFGUID guidCategory,LPCWSTR pszName,UINT32 Flags,UINT32 cInputTypes,const MFT_REGISTER_TYPE_INFO *pInputTypes,UINT32 cOutputTypes,const MFT_REGISTER_TYPE_INFO *pOutputTypes); |
| HRESULT WINAPI MFTUnregisterLocal(IClassFactory *pClassFactory); |
| HRESULT WINAPI MFTUnregisterLocalByCLSID(CLSID clsidMFT); |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif /*(_WIN32_WINNT >= 0x0601)*/ |
| |
| #ifndef __cplusplus |
| HRESULT WINAPI MFCreateWaveFormatExFromMFMediaType(IMFMediaType *pMFType,WAVEFORMATEX **ppWF,UINT32 *pcbSize,UINT32 Flags); |
| HRESULT WINAPI MFInitMediaTypeFromMPEG1VideoInfo(IMFMediaType *pMFType,const MPEG1VIDEOINFO *pMP1VI,UINT32 cbBufSize,const GUID *pSubtype); |
| HRESULT WINAPI MFInitMediaTypeFromMPEG2VideoInfo(IMFMediaType *pMFType,const MPEG2VIDEOINFO *pMP2VI,UINT32 cbBufSize,const GUID *pSubtype); |
| HRESULT WINAPI MFInitMediaTypeFromVideoInfoHeader(IMFMediaType *pMFType,const VIDEOINFOHEADER *pVIH,UINT32 cbBufSize,const GUID *pSubtype); |
| HRESULT WINAPI MFInitMediaTypeFromVideoInfoHeader2(IMFMediaType *pMFType,const VIDEOINFOHEADER2 *pVIH2,UINT32 cbBufSize,const GUID *pSubtype); |
| HRESULT WINAPI MFStartup(ULONG Version,DWORD dwFlags); |
| #else |
| extern "C" HRESULT WINAPI MFCreateWaveFormatExFromMFMediaType(IMFMediaType *pMFType,WAVEFORMATEX **ppWF,UINT32 *pcbSize,UINT32 Flags = MFWaveFormatExConvertFlag_Normal); |
| extern "C" HRESULT WINAPI MFInitMediaTypeFromMPEG1VideoInfo(IMFMediaType *pMFType,const MPEG1VIDEOINFO *pMP1VI,UINT32 cbBufSize,const GUID *pSubtype = NULL); |
| extern "C" HRESULT WINAPI MFInitMediaTypeFromMPEG2VideoInfo(IMFMediaType *pMFType,const MPEG2VIDEOINFO *pMP2VI,UINT32 cbBufSize,const GUID *pSubtype = NULL); |
| extern "C" HRESULT WINAPI MFInitMediaTypeFromVideoInfoHeader(IMFMediaType *pMFType,const VIDEOINFOHEADER *pVIH,UINT32 cbBufSize,const GUID *pSubtype = NULL); |
| extern "C" HRESULT WINAPI MFInitMediaTypeFromVideoInfoHeader2(IMFMediaType *pMFType,const VIDEOINFOHEADER2 *pVIH2,UINT32 cbBufSize,const GUID *pSubtype = NULL); |
| extern "C" HRESULT WINAPI MFStartup(ULONG Version,DWORD dwFlags = MFSTARTUP_FULL); |
| #endif |
| |
| #endif /*(_WIN32_WINNT >= 0x0600)*/ |
| #endif /*_INC_MFAPI*/ |