视频处理器 MFT

视频处理器 MFT 是 Microsoft 媒体基础转换 (MFT),它执行色彩空间转换、视频大小调整、去隔行、帧速率转换、旋转、裁剪、空间左视图和右视图解包以及镜像。

CLSID

CLSID_VideoProcessorMFT

接口

输入格式

  • MFVideoFormat_ARGB32
  • MFVideoFormat_AYUV
  • MFVideoFormat_I420
  • MFVideoFormat_IYUV
  • MFVideoFormat_NV11
  • MFVideoFormat_NV12
  • MFVideoFormat_RGB24
  • MFVideoFormat_RGB32
  • MFVideoFormat_RGB555
  • MFVideoFormat_RGB565
  • MFVideoFormat_RGB8
  • MFVideoFormat_UYVY
  • MFVideoFormat_v410
  • MFVideoFormat_Y216
  • MFVideoFormat_Y41P
  • MFVideoFormat_Y41T
  • MFVideoFormat_Y42T
  • MFVideoFormat_YUY2
  • MFVideoFormat_YV12
  • MFVideoFormat_YVYU

输出格式

  • MFVideoFormat_ARGB32
  • MFVideoFormat_AYUV
  • MFVideoFormat_I420
  • MFVideoFormat_IYUV
  • MFVideoFormat_NV12
  • MFVideoFormat_RGB24
  • MFVideoFormat_RGB32
  • MFVideoFormat_RGB555
  • MFVideoFormat_RGB565
  • MFVideoFormat_UYVY
  • MFVideoFormat_Y216
  • MFVideoFormat_YUY2
  • MFVideoFormat_YV12

并非所有输入和输出格式的组合都受支持。 要测试是否支持转换,请设置输入类型,然后调用 IMFTransform::GetOutputAvailableType

有关这些格式的详细信息,请参阅视频子类型 GUID

备注

可通过以下方法之一创建视频处理器的实例:

  • 通过调用 MFTEnumEx。 视频处理器注册在 MFT_CATEGORY_VIDEO_PROCESSOR 类别下
  • 通过调用 COM 函数 CoCreateInstance 并向其传递 CLSID CLSID_VideoProcessorMFT

以下注释涉及在视频处理器 MFT 中使用源矩形和目标矩形。 源和目标矩形使用 IMFVideoProcessorControl::SetDestinationRectangleSetSourceRectangle 设置,有时使用 IMFMediaEngineEx::UpdateVideoStream 设置

  • 源矩形应对齐并进行舍入处理,以符合输入到视频处理器的帧的颜色格式的要求。 这一点很重要,因为 420 和 422 等格式对可以创建和访问的尺寸和偏移有要求。 例如,当输入格式为 420 时,源矩形 {1, 0, 319, 240}(左、上、右、下)将四舍五入为 {2, 0, 320, 240}。
  • 目标矩形和源矩形将始终加以限制以适合各自的帧 - 源矩形应适合源帧,目标矩形应适合目标帧。 这意味着负值没有意义,它们始终被限制为 0。
  • 源矩形位于目标帧的坐标系中,减去任何目标矩形。 这意味着像旋转这样的变换在源矩形上将被“撤消”。 因此,无需知道视频是否已旋转或是否已进行 3D 解包。 例如,可以在视频标签顶部绘制一个矩形,获取相对坐标(相对于视频标签),将它们标准化(范围 0 到 1)并将它们作为源矩形向下传递,它们应按预期工作,即使正在旋转视频也是如此。

视频处理器支持使用 Microsoft Direct3D 11 进行 GPU 加速的视频处理。 有关详细信息,请参阅 MF_SA_D3D11_AWARE

立体声视频

视频处理器支持 3D 视频帧上的视图解包操作:

如果输入帧包含打包在同一帧中的两个视图,则视频处理器可以将视图分割到单独的缓冲区中,或者提取基本视图并丢弃第二视图。 要启用视图解包,请将 MF_ENABLE_3DVIDEO_OUTPUT 属性设置为 MF3DVideoOutputType_Stereo 或 MF3DVideoOutputType_BaseView

要求

要求
Header
Camerauicontrol.h

另请参阅

数字信号处理器