mfapi.h 标头

此标头由多种技术使用。 有关详细信息,请参阅:

mfapi.h 包含以下编程接口:

函数

 
DEFINE_MEDIATYPE_GUID

从 FOURCC 代码、D3DFORMAT值或音频格式类型定义媒体子类型 GUID。
MFAddPeriodicCallback

设置要以固定间隔调用的回调函数。 (MFAddPeriodicCallback)
MFAllocateSerialWorkQueue

创建保证序列化工作项的工作队列。
MFAllocateWorkQueue

创建新的工作队列。 (MFAllocateWorkQueue)
MFAllocateWorkQueueEx

创建新的工作队列。 (MFAllocateWorkQueueEx)
MFAverageTimePerFrameToFrameRate

根据视频帧的平均持续时间计算帧速率(以帧/秒为单位)。
MFBeginCreateFile

开始异步请求以从文件创建字节流。
MFBeginRegisterWorkQueueWithMMCSS

将工作队列与多媒体类计划程序服务关联 (MMCSS) 任务。 (MFBeginRegisterWorkQueueWithMMCSS)
MFBeginRegisterWorkQueueWithMMCSSEx

将工作队列与多媒体类计划程序服务关联 (MMCSS) 任务。 (MFBeginRegisterWorkQueueWithMMCSSEx)
MFBeginUnregisterWorkQueueWithMMCSS

从多媒体类计划程序服务取消注册工作队列 (MMCSS) 任务。 (MFBeginUnregisterWorkQueueWithMMCSS)
MFCalculateBitmapImageSize

检索视频格式的图像大小。
MFCalculateImageSize

检索未压缩视频格式的图像大小(以字节为单位)。 (MFCalculateImageSize)
MFCancelCreateFile

取消从文件创建字节流的异步请求。
MFCancelWorkItem

尝试取消使用 MFScheduleWorkItem 或 MFScheduleWorkItemEx 计划的异步操作。
MFCombineSamples

如果媒体样本的组合持续时间未超过指定的持续时间,则将其连接到另一个样本。
MFCompareFullToPartialMediaType

将完整媒体类型与部分媒体类型进行比较。
MFConvertColorInfoFromDXVA

在 MFVIDEOFORMAT 结构中设置扩展的颜色信息。
MFConvertColorInfoToDXVA

将扩展的颜色信息从 MFVIDEOFORMAT 转换为等效的 DirectX 视频加速 (DXVA) 颜色信息。
MFConvertFromFP16Array

将 16 位浮点数数组转换为 32 位浮点数数组。
MFConvertToFP16Array

将 32 位浮点数数组转换为 16 位浮点数数组。
MFCopyImage

将图像或图像平面从一个缓冲区复制到另一个缓冲区。
MFCreate2DMediaBuffer

创建用于保存 2D 图像数据的系统内存缓冲区对象。
MFCreateAlignedMemoryBuffer

使用指定的字节对齐方式分配系统内存,并创建用于管理内存的媒体缓冲区。
MFCreateAMMediaTypeFromMFMediaType

从媒体基础媒体类型创建 DirectShow AM_MEDIA_TYPE 结构。
MFCreateAsyncResult

创建异步结果对象。 如果要实现异步方法,请使用此函数。 (MFCreateAsyncResult)
MFCreateAttributes

创建一个空的属性存储区。
MFCreateAudioMediaType

从 WAVEFORMATEX 结构创建音频媒体类型。
MFCreateCollection

创建空集合对象。
MFCreateDXGIDeviceManager

创建 Microsoft DirectX 图形基础结构 (DXGI) 设备管理器 的实例。
MFCreateDXGISurfaceBuffer

创建媒体缓冲区来管理 Microsoft DirectX 图形基础结构 (DXGI) 图面。
MFCreateDXSurfaceBuffer

创建管理 Direct3D 9 图面的媒体缓冲区对象。
MFCreateEventQueue

创建事件队列。
MFCreateFile

从文件创建字节流。
MFCreateLegacyMediaBufferOnMFMediaBuffer

将 Media Foundation 媒体缓冲区转换为与 DirectX 媒体对象兼容的缓冲区, (DSO) 。
MFCreateMediaBufferFromMediaType

分配最适合指定媒体类型的系统内存缓冲区。
MFCreateMediaBufferWrapper

创建包装现有媒体缓冲区的媒体缓冲区。
MFCreateMediaEvent

创建媒体事件对象。
MFCreateMediaExtensionActivate

为 Windows 运行时 类创建激活对象。
MFCreateMediaType

创建空媒体类型。
MFCreateMediaTypeFromRepresentation

从另一种格式表示形式创建 Media Foundation 媒体类型。
MFCreateMemoryBuffer

分配系统内存并创建媒体缓冲区来管理它。
MFCreateMFByteStreamWrapper

为字节流创建包装器。
MFCreateMFVideoFormatFromMFMediaType

从视频媒体类型创建 MFVIDEOFORMAT 结构。
MFCreateMuxStreamAttributes

创建描述多路复用子流内容的 IMFAttributes。
MFCreateMuxStreamMediaType

创建描述多路复用子流的媒体类型的 IMFMediaType。
MFCreateMuxStreamSample

创建包含多路复用子流样本的 IMFSample。
MFCreateSample

创建一个空媒体示例。
MFCreateTempFile

创建由临时本地文件支持的字节流。
MFCreateVideoMediaType

从 MFVIDEOFORMAT 结构创建视频媒体类型。
MFCreateVideoMediaTypeFromBitMapInfoHeader

未实现此函数。 (MFCreateVideoMediaTypeFromBitMapInfoHeader)
MFCreateVideoMediaTypeFromBitMapInfoHeaderEx

从 BITMAPINFOHEADER 结构创建视频媒体类型。
MFCreateVideoMediaTypeFromSubtype

使用指定的子类型创建部分视频媒体类型。
MFCreateVideoMediaTypeFromVideoInfoHeader

从KS_VIDEOINFOHEADER结构创建媒体类型。
MFCreateVideoMediaTypeFromVideoInfoHeader2

从KS_VIDEOINFOHEADER2结构创建媒体类型。
MFCreateVideoSampleAllocatorEx

创建一个 对象,该对象分配与 Microsoft DirectX 图形基础结构 (DXGI) 兼容的视频示例。
MFCreateWaveFormatExFromMFMediaType

将 Media Foundation 音频媒体类型转换为 WAVEFORMATEX 结构。
MFCreateWICBitmapBuffer

创建一个媒体缓冲区对象,该对象管理 Windows 图像处理组件 (WIC) 。
MFEndCreateFile

完成从文件创建字节流的异步请求。
MFEndRegisterWorkQueueWithMMCSS

完成异步请求,以将工作队列与多媒体类计划程序服务关联 (MMCSS) 任务。 (MFEndRegisterWorkQueueWithMMCSS)
MFEndUnregisterWorkQueueWithMMCSS

完成从多媒体类计划程序服务注销工作队列的异步请求, (MMCSS) 任务。
MFFrameRateToAverageTimePerFrame

将视频帧速率转换为帧持续时间。
MFGetAttribute2UINT32asUINT64

获取一个属性,其值为打包到 UINT64 中的两个 UINT32 值。
MFGetAttributeDouble

从属性存储返回一个双精度值;如果属性不存在,则返回默认值。
MFGetAttributeRatio

检索其值为比率的属性。
MFGetAttributesAsBlob

将属性存储的内容转换为字节数组。
MFGetAttributesAsBlobSize

检索 MFGetAttributesAsBlob 函数所需的缓冲区大小。
MFGetAttributeSize

检索其值为大小(以宽度和高度表示)的属性。
MFGetAttributeString

从属性存储中获取字符串值。
MFGetAttributeUINT32

从属性存储返回 UINT32 值;如果不存在特性,则返回默认值。
MFGetAttributeUINT64

从属性存储返回 UINT64 值;如果不存在特性,则返回默认值。
MFGetContentProtectionSystemCLSID

获取内容保护系统的类标识符。
MFGetMFTMerit

获取硬件编解码器的优点值。
MFGetPlaneSize

检索未压缩视频格式的图像大小(以字节为单位)。 (MFGetPlaneSize)
MFGetPluginControl

获取指向 Microsoft Media Foundation 插件管理器的指针。
MFGetStrideForBitmapInfoHeader

计算视频格式的最小图面步幅。
MFGetTimerPeriodicity

检索 MFAddPeriodicCallback 函数的计时器间隔。
MFGetUncompressedVideoFormat

返回未压缩视频格式的 FOURCC 或 D3DFORMAT 值。
MFGetWorkQueueMMCSSClass

检索多媒体类计划程序服务 (MMCSS) 类当前与此工作队列关联的。 (MFGetWorkQueueMMCSSClass)
MFGetWorkQueueMMCSSPriority

获取工作队列的相对线程优先级。 (MFGetWorkQueueMMCSSPriority)
MFGetWorkQueueMMCSSTaskId

检索多媒体类计划程序服务 (MMCSS) 当前与此工作队列关联的任务标识符。 (MFGetWorkQueueMMCSSTaskId)
MFHeapAlloc

分配内存块。 (MFHeapAlloc)
MFHeapFree

释放通过调用 MFHeapAlloc 函数分配的内存块。
MFInitAMMediaTypeFromMFMediaType

从媒体基础媒体类型初始化 DirectShow AM_MEDIA_TYPE 结构。
MFInitAttributesFromBlob

从字节数组初始化属性存储的内容。
MFInitMediaTypeFromAMMediaType

从 DirectShow AM_MEDIA_TYPE 结构初始化媒体类型。
MFInitMediaTypeFromMFVideoFormat

从 MFVIDEOFORMAT 结构初始化媒体类型。
MFInitMediaTypeFromMPEG1VideoInfo

从 DirectShow MPEG1VIDEOINFO 结构初始化媒体类型。
MFInitMediaTypeFromMPEG2VideoInfo

从 DirectShow MPEG2VIDEOINFO 结构初始化媒体类型。
MFInitMediaTypeFromVideoInfoHeader

从 DirectShow VIDEOINFOHEADER 结构初始化媒体类型。
MFInitMediaTypeFromVideoInfoHeader2

从 DirectShow VIDEOINFOHEADER2 结构初始化媒体类型。
MFInitMediaTypeFromWaveFormatEx

从 WAVEFORMATEX 结构初始化媒体类型。
MFInitVideoFormat

初始化标准视频格式(如 DVD、模拟电视或 ATSC 数字电视)的 MFVIDEOFORMAT 结构。
MFInitVideoFormat_RGB

为未压缩的 RGB 视频格式初始化 MFVIDEOFORMAT 结构。
MFInvokeCallback

调用回调方法以完成异步操作。 (MFInvokeCallback)
MFIsFormatYUV

查询 FOURCC 代码或D3DFORMAT值是否为 YUV 格式。
MFllMulDiv

计算 ( (a * b) + d) / c,其中每个字词都是一个 64 位有符号值。
MFLockDXGIDeviceManager

锁定共享的 Microsoft DirectX 图形基础结构 (DXGI) 设备管理器。
MFLockPlatform

阻止 MFShutdown 函数。
MFLockSharedWorkQueue

获取并锁定共享工作队列。 (MFLockSharedWorkQueue)
MFLockWorkQueue

锁定工作队列。 (MFLockWorkQueue)
MFMapDX9FormatToDXGIFormat

将 Microsoft Direct3D 9 格式标识符转换为 Microsoft DirectX Graphics Infrastructure (DXGI) 格式标识符。
MFMapDXGIFormatToDX9Format

将 Microsoft DirectX Graphics Infrastructure (DXGI) 格式标识符转换为 Microsoft Direct3D 9 格式标识符。
MFPutWaitingWorkItem

将等待事件发出信号的工作项排队。 (MFPutWaitingWorkItem)
MFPutWorkItem

将异步操作放在工作队列上。 (MFPutWorkItem)
MFPutWorkItem2

将异步操作置于具有指定优先级的工作队列上。 (MFPutWorkItem2)
MFPutWorkItemEx

将异步操作放在工作队列上。 (MFPutWorkItemEx)
MFPutWorkItemEx2

将异步操作置于具有指定优先级的工作队列上。 (MFPutWorkItemEx2)
MFRegisterLocalByteStreamHandler

在调用方进程中注册字节流处理程序。
MFRegisterLocalSchemeHandler

在调用方进程中注册方案处理程序。
MFRegisterPlatformWithMMCSS

将标准 Microsoft Media Foundation 平台工作队列注册到多媒体类计划程序服务 (MMCSS) 。
MFRemovePeriodicCallback

取消由 MFAddPeriodicCallback 函数设置的回调函数。
MFScheduleWorkItem

安排在指定间隔后完成的异步操作。 (MFScheduleWorkItem)
MFScheduleWorkItemEx

安排在指定间隔后完成的异步操作。 (MFScheduleWorkItemEx)
MFSetAttribute2UINT32asUINT64

将两个 UINT32 值打包到 UINT64 属性值中。
MFSetAttributeRatio

将比率设置为 64 位属性值。
MFSetAttributeSize

将宽度和高度设置为单个 64 位属性值。
MFShutdown

关闭 Microsoft Media Foundation 平台。
MFSplitSample

将组合的媒体示例拆分回单个样本。
MFStartup

初始化 Microsoft 媒体基础。
MFTEnum

枚举注册表中 (MRT) 媒体基础转换。
MFTEnum2

获取与指定搜索条件匹配 (MRT) 的 Microsoft Media Foundation 转换的列表。
MFTEnumEx

获取与指定搜索条件匹配 (MRT) 的 Microsoft Media Foundation 转换的列表。 此函数扩展 MFTEnum 函数。
MFTGetInfo

从注册表中获取有关媒体基础转换 (MFT) 的信息。
MFTRegister

将有关媒体基础转换的信息 (MFT) 添加到注册表。
MFTRegisterLocal

在调用方进程中 (MFT) 注册媒体基础转换。 (MFTRegisterLocal)
MFTRegisterLocalByCLSID

在调用方进程中 (MFT) 注册媒体基础转换。 (MFTRegisterLocalByCLSID)
MFTUnregister

取消注册媒体基础转换 (MFT) 。
MFTUnregisterLocal

从调用方的进程取消注册一个或多个媒体基础转换 (MRT) 。
MFTUnregisterLocalByCLSID

从调用方进程中注销媒体基础转换 (MFT) 。
MFUnlockDXGIDeviceManager

解锁共享的 Microsoft DirectX 图形基础结构 (DXGI) 设备管理器。
MFUnlockPlatform

通过调用 MFLockPlatform 函数锁定媒体基础平台后,解锁该平台。
MFUnlockWorkQueue

解锁工作队列。 (MFUnlockWorkQueue)
MFUnregisterPlatformFromMMCSS

从多媒体类计划程序服务注销 Microsoft Media Foundation 平台工作队列, (MMCSS) 任务。
MFUnwrapMediaType

检索由 MFWrapMediaType 函数包装在另一个媒体类型中的媒体类型。
MFValidateMediaTypeSize

验证视频格式块的缓冲区大小。
MFWrapMediaType

创建包装另一种媒体类型的媒体类型。
Pack2UINT32AsUINT64

将两个 UINT32 值打包到一个 UINT64 值中。
PackRatio

将两个表示比率的 UINT32 值打包为 UINT64 值。
PackSize

将 UINT32 宽度值和 UINT32 高度值打包到表示大小的 UINT64 值中。
Unpack2UINT32AsUINT64

从 UINT64 值获取低序和高阶 UINT32 值。
UnpackRatio

从表示比率的 UINT64 值获取低阶和高阶 UINT32 值。
UnpackSize

从表示大小的 UINT64 值中获取低序和高阶 UINT32 值。

回调函数

 
MFPERIODICCALLBACK

MFAddPeriodicCallback 函数的回调函数。

结构

 
CapturedMetadataExposureCompensation

此结构包含捕获的照片的 EV 补偿反馈的 blob 信息。
CapturedMetadataISOGains

CapturedMetadataISOGains 结构描述了MF_CAPTURE_METADATA_ISO_GAINS的 Blob 格式。
CapturedMetadataWhiteBalanceGains

此结构描述 MF_CAPTURE_METADATA_WHITEBALANCE_GAINS 属性的 Blob 格式。
DigitalWindowSetting

表示视频捕获的数字窗口的边界设置。
Face 打分

Face 打图结构描述了 MF_CAPTURE_METADATA_FACEROICHARACTERIZATIONS 属性的 Blob 格式。
Face打字表BlobHeader

Face打字BlobHeader 结构描述MF_CAPTURE_METADATA_FACEROICHARACTERIZATIONS属性的 blob 格式的大小和计数信息。
FaceRectInfo

FaceRectInfo 结构描述了 MF_CAPTURE_METADATA_FACEROIS 属性的 Blob 格式。
FaceRectInfoBlobHeader

FaceRectInfoBlobHeader 结构描述了 MF_CAPTURE_METADATA_FACEROIS 属性的 blob 格式的大小和计数信息。
HistogramBlobHeader

HistogramBlobHeader 结构描述 blob 中MF_CAPTURE_METADATA_HISTOGRAM属性的 blob 大小和直方图数。
HistogramDataHeader

HistogramDataHeader 结构描述 MF_CAPTURE_METADATA_HISTOGRAM 属性的 blob 格式。
HistogramGrid

HistogramGrid 结构描述了MF_CAPTURE_METADATA_HISTOGRAM的 blob 格式。
直方图Header

直方图Header 结构描述了MF_CAPTURE_METADATA_HISTOGRAM的 Blob 格式。
MACROBLOCK_DATA

在视频解码期间提供有关宏块的数据。
MetadataTimeStamps

MetadataTimeStamps 结构描述了 MF_CAPTURE_METADATA_FACEROITIMESTAMPS 属性的 Blob 格式。
MF_FLOAT2

具有两个分量的向量。
MF_FLOAT3

具有三个分量的向量。
MF_QUATERNION

用于表示旋转的四维向量。
MFASYNCRESULT

包含实现 IMFAsyncResult 接口所需的数据。
MFCameraExtrinsic_CalibratedTransform

描述相机相对于其他相机或已建立的外部引用的位置的转换。
MFCameraExtrinsics

描述相机相对于其他相机或已建立的外部引用的位置。
MFCameraIntrinsic_DistortionModel

表示多项式镜头失真模型。
MFCameraIntrinsic_PinholeCameraModel

表示针孔相机型号。
MFFOLDDOWN_MATRIX

包含用于将多声道音频转换为较少数量的音频通道的系数。 此过程称为折叠。
MFPinholeCameraIntrinsic_IntrinsicModel

表示指定分辨率的针孔相机内部模型。
MFPinholeCameraIntrinsics

包含零个或 1 个针孔相机内部模型,用于描述如何将物理世界中的 3D 点投影到相机的 2D 图像帧上。
MT_ARBITRARY_HEADER

包含高级流式处理格式 (ASF) 文件中的二进制流的格式数据。
MT_CUSTOM_VIDEO_PRIMARIES

定义视频源的自定义颜色原色。 颜色原色定义如何将颜色从 RGB 颜色空间转换为 CIE XYZ 颜色空间。
ROI_AREA

定义感兴趣的区域。

枚举

 
_MFT_ENUM_FLAG

包含用于注册和枚举媒体基础转换的标志, (MRT) 。
MF_TOPOSTATUS

指定拓扑在播放期间的状态。
MFASYNC_WORKQUEUE_TYPE

指定要创建的 MFAllocateWorkQueueEx 函数的工作队列类型。
MFDepthMeasurement

指定视频帧中深度值的度量系统。
MFFrameSourceTypes

描述帧源提供的数据类型。
MFSampleEncryptionProtectionScheme

指定加密示例的支持保护方案。
MFVideo3DFormat

指定 3D 视频帧在内存中的存储方式。
MFVideo3DSampleFormat

指定如何在媒体示例中存储 3D 视频帧。
MFVideoDRMFlags

指定视频流所需的复制保护类型。
MFVideoPadFlags

指定是否填充视频图像,使其适合指定的纵横比。
MFVideoRotationFormat

描述视频图像逆时针方向旋转。
MFVideoSrcContentHintFlags

描述视频流的预期纵横比。
MFWaveFormatExConvertFlags

包含指定如何转换音频媒体类型的标志。