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 包含指定如何转换音频媒体类型的标志。 |