Поделиться через


MFT для видеопроцессоров

MFT видеопроцессор — это преобразование Microsoft Media Foundation (MFT), которое выполняет преобразование цветового пространства, изменение размера видео, деинтерлакирование, преобразование частоты кадров, поворот, обрезку, пространственное левое и правое представление распаковки и зеркальное отображение.

CLSID

CLSID_VideoProcessorMFT

Интерфейсы

Форматы входных данных

  • MFVideoFormat_ABGR32
  • MFVideoFormat_ARGB32
  • MFVideoFormat_AYUV
  • MFVideoFormat_I420
  • MFVideoFormat_I422
  • MFVideoFormat_I444
  • 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_I422
  • MFVideoFormat_I444
  • MFVideoFormat_IYUV
  • MFVideoFormat_NV12
  • MFVideoFormat_RGB24
  • MFVideoFormat_RGB32
  • MFVideoFormat_RGB555
  • MFVideoFormat_RGB565
  • MFVideoFormat_UYVY
  • MFVideoFormat_Y216
  • MFVideoFormat_YUY2
  • MFVideoFormat_YV12

Не все сочетания форматов входных и выходных данных поддерживаются. Чтобы проверить, поддерживается ли преобразование, задайте тип входных данных и вызовите МВФTransform::GetOutputAvailableType.

Дополнительные сведения об этих форматах см. в разделе Идентификаторы GUID подтипа видео.

Замечания

Экземпляр видеопроцессоров можно создать одним из следующих способов:

  • Вызывая MFTEnumEx. Обработчик видео зарегистрирован в категории MFT_CATEGORY_VIDEO_PROCESSOR .
  • Вызывая COM-функцию CoCreateInstance , передавая ее CLSID_VideoProcessorMFT CLSID.

Следующие замечания относятся к работе с исходными прямоугольниками и прямоугольниками назначения в MFT обработчика видео. Исходные и целевые прямоугольники задаются с помощью МВФVideoProcessorControl::SetDestinationRectangle и SetSourceRectangle , а иногда и с МВФMediaEngineEx::UpdateVideoStream.

  • Исходный прямоугольник должен быть выровнен и округлен, чтобы соответствовать требованиям цветового формата кадра, входного в процессор видео. Это важно, так как такие форматы, как 420 и 422, имеют требования к измерениям и смещениям, к которым можно получить доступ. Например, исходный прямоугольник {1, 0, 319, 240} (слева, сверху, справа, вниз) округляется до {2, 0, 320, 240}, когда входной формат равен 420.
  • Целевой и исходный прямоугольник всегда будут зажаты, чтобы поместиться внутри соответствующих кадров — исходный прямоугольник к исходному кадру и целевому прямоугольнику к целевому кадру. Это означает, что отрицательные значения не являются значимыми— они всегда будут зажаты на 0.
  • Исходный прямоугольник находится в системе координат целевого кадра, минус любой прямоугольник назначения. Это означает, что преобразования, такие как поворот, являются "отложенными" на исходном прямоугольнике. Таким образом, вам не нужно знать, был ли видео повернут или распакована 3D. Например, можно нарисовать прямоугольник поверх тега видео, взять относительные координаты (относительно тега видео), нормализовать их (диапазон от 0 до 1) и передать их в качестве исходного прямоугольника, и они должны работать должным образом, даже если видео поворачивается.

Процессор видео поддерживает обработку видео с ускорением GPU с помощью Microsoft Direct3D 11. Дополнительные сведения см. в MF_SA_D3D11_AWARE.

Стереоскопическое видео

Обработчик видео поддерживает операцию распаковки представления в трехмерных видеокадрах:

Если входной кадр содержит два представления, упакованные в один кадр, обработчик видео может разделить представления на отдельные буферы или извлечь базовое представление и отменить второе представление. Чтобы включить распаковку представления, задайте для атрибута MF_ENABLE_3DVIDEO_OUTPUTзначение MF3DVideoOutputType_Stereo или MF3DVideoOutputType_BaseView.

Требования

Требование Ценность
Заголовок
Camerauicontrol.h

См. также

процессоров цифровых сигналов