此标头由多种技术使用。 有关详细信息,请参见:
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 从 Media Foundation 媒体类型创建 DirectShow AM_MEDIA_TYPE结构。 |
MFCreateAsyncResult 创建异步结果对象。 如果要实现异步方法,请使用此函数。 (MFCreateAsyncResult) |
MFCreateAttributes 创建空属性存储。 |
MFCreateAudioMediaType 从波形图X 结构创建音频媒体类型。 |
MFCreateCollection 创建一个空集合对象。 |
MFCreateDXGIDeviceManager 创建 Microsoft DirectX 图形基础结构(DXGI)设备管理器的实例。 |
MFCreateDXGISurfaceBuffer 创建媒体缓冲区来管理 Microsoft DirectX 图形基础结构(DXGI)图面。 |
MFCreateDXSurfaceBuffer 创建管理 Direct3D 9 图面的媒体缓冲区对象。 |
MFCreateEventQueue 创建事件队列。 |
MFCreateFile 从文件创建字节流。 |
MFCreateLegacyMediaBufferOnMFMediaBuffer 将 Media Foundation 媒体缓冲区转换为与 DirectX 媒体对象(DMO)兼容的缓冲区。 |
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 音频媒体类型转换为波形图X 结构。 |
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 从 Media Foundation 媒体类型初始化 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 从波形波形图X 结构初始化媒体类型。 |
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 图形基础结构(DXGI)格式标识符。 |
MFMapDXGIFormatToDX9Format 将 Microsoft DirectX 图形基础结构(DXGI)格式标识符转换为 Microsoft Direct3D 9 格式标识符。 |
MFPutWaitingWorkItem 将等待事件发出信号的工作项排入队列。 (MFPutWaitingWorkItem) |
MFPutWorkItem 在工作队列上放置异步操作。 (MFPutWorkItem) |
MFPutWorkItem2 将异步操作置于具有指定优先级的工作队列上。 (MFPutWorkItem2) |
MFPutWorkItemEx 在工作队列上放置异步操作。 (MFPutWorkItemEx) |
MFPutWorkItemEx2 将异步操作置于具有指定优先级的工作队列上。 (MFPutWorkItemEx2) |
MFRegisterLocalByteStreamHandler 在调用方进程中注册字节流处理程序。 |
MFRegisterLocalSchemeHandler 在调用方进程中注册方案处理程序。 |
MFRegisterPlatformWithMMCSS 向多媒体类计划程序服务(MMCSS)注册标准Microsoft Media Foundation 平台工作队列。 |
MFRemovePeriodicCallback 取消由 MFAddPeriodicCallback 函数设置的回调函数。 |
MFScheduleWorkItem 计划一个在指定间隔后完成的异步操作。 (MFScheduleWorkItem) |
MFScheduleWorkItemEx 计划一个在指定间隔后完成的异步操作。 (MFScheduleWorkItemEx) |
MFSetAttribute2UINT32asUINT64 将两个 UINT32 值打包到 UINT64 属性值中。 |
MFSetAttributeRatio 将比率设置为 64 位属性值。 |
MFSetAttributeSize 将宽度和高度设置为单个 64 位属性值。 |
MFShutdown 关闭 Microsoft Media Foundation 平台。 |
MFSplitSample 将组合媒体示例拆分回单个样本。 |
MFStartup 初始化 Microsoft Media Foundation。 |
MFTEnum 枚举注册表中的 Media Foundation 转换(MFT)。 |
MFTEnum2 获取与指定搜索条件匹配的 Microsoft Media Foundation 转换(MFT)的列表。 |
MFTEnumEx 获取与指定搜索条件匹配的 Microsoft Media Foundation 转换(MFT)的列表。 此函数扩展 MFTEnum 函数。 |
MFTGetInfo 从注册表中获取有关媒体基础转换(MFT)的信息。 |
MFTRegister 将媒体基础转换(MFT)的信息添加到注册表。 |
MFTRegisterLocal 在调用方进程中注册媒体基础转换(MFT)。 (MFTRegisterLocal) |
MFTRegisterLocalByCLSID 在调用方进程中注册媒体基础转换(MFT)。 (MFTRegisterLocalByCLSID) |
MFTUnregister 取消注册媒体基础转换(MFT)。 |
MFTUnregisterLocal 从调用方的进程中注销一个或多个媒体基础转换(MFT)。 |
MFTUnregisterLocalByCLSID 从调用方的进程取消注册媒体基础转换 (MFT)。 |
MFUnlockDXGIDeviceManager 解锁共享Microsoft DirectX 图形基础结构(DXGI)设备管理器。 |
MFUnlockPlatform 在通过调用 MFLockPlatform 函数锁定媒体基础平台后解锁它。 |
MFUnlockWorkQueue 解锁工作队列。 (MFUnlockWorkQueue) |
MFUnregisterPlatformFromMMCSS 从多媒体类计划程序服务 (MMCSS) 任务中注销 Microsoft Media Foundation 平台工作队列。 |
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 表示视频捕获的数字窗口的边界设置。 |
FaceCharacterization 人脸特征化结构描述MF_CAPTURE_METADATA_FACEROICHARACTERIZATIONS属性的 blob 格式。 |
FaceCharacterizationBlobHeader FaceCharacterizationBlobHeader 结构描述MF_CAPTURE_METADATA_FACEROICHARACTERIZATIONS属性的 blob 格式的大小和计数信息。 |
FaceRectInfo FaceRectInfo 结构描述MF_CAPTURE_METADATA_FACEROIS属性的 blob 格式。 |
FaceRectInfoBlobHeader FaceRectInfoBlobHeader 结构描述 MF_CAPTURE_METADATA_FACEROIS 属性的 blob 格式的大小和计数信息。 |
HistogramBlobHeader 直方图BlobHeader 结构描述MF_CAPTURE_METADATA_HISTOGRAM属性的 blob 大小和直方图的数量。 |
HistogramDataHeader HistogramDataHeader 结构描述MF_CAPTURE_METADATA_HISTOGRAM属性的 blob 格式。 |
直方图Grid 直方图Grid 结构描述MF_CAPTURE_METADATA_HISTOGRAM的 blob 格式。 |
直方图头 直方图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 图像帧上。 |
MFSampleExtensionPsnrYuv 存储编码视频帧的 Y、U 和 V 平面的峰值信号与噪声比(PSNR)值。 |
MT_ARBITRARY_HEADER 包含高级流格式 (ASF) 文件中二进制流的格式数据。 |
MT_CUSTOM_VIDEO_PRIMARIES 定义视频源的自定义颜色初选。 颜色初选定义如何将颜色从 RGB 颜色空间转换为 CIE XYZ 颜色空间。 |
ROI_AREA 定义感兴趣的区域。 |
枚举
_MFT_ENUM_FLAG 包含用于注册和枚举媒体基础转换(MFT)的标志。 |
MF_TOPOSTATUS 指定播放期间拓扑的状态。 |
MFASYNC_WORKQUEUE_TYPE 指定要创建的 MFAllocateWorkQueueEx 函数的工作队列的类型。 |
MFDepthMeasurement 指定视频帧中深度值的度量系统。 |
MFFrameSourceTypes 描述帧源提供的数据类型。 |
MFSampleEncryptionProtectionScheme 指定加密示例支持的保护方案。 |
MFVideo3DFormat 指定如何将 3D 视频帧存储在内存中。 |
MFVideo3DSampleFormat 指定 3D 视频帧如何存储在媒体示例中。 |
MFVideoDRMFlags 指定视频流所需的复制保护类型。 |
MFVideoPadFlags 指定是否填充视频图像,使其适合指定的纵横比。 |
MFVideoRotationFormat 描述以逆时针方向旋转视频图像。 |
MFVideoSrcContentHintFlags 描述视频流的预期纵横比。 |
MFWaveFormatExConvertFlags 包含指定如何转换音频媒体类型的标志。 |