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

从 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

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