Procesador de vídeo MFT

El procesador de vídeo MFT es una transformación de Microsoft Media Foundation (MFT) que realiza conversión de espacios de colores, cambio de tamaño de vídeo, desentrelazado, conversión de velocidad de fotogramas, rotación, recorte, desempaquetado espacial de la vista izquierda y derecha, y creación de reflejo.

CLSID

CLSID_VideoProcessorMFT

Interfaces

Formatos de entrada

  • 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

Formatos de salida

  • 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

No se admiten todas las combinaciones de formatos de entrada y salida. Para probar si se admite una conversión, establezca el tipo de entrada y, después, llame a IMFTransform::GetOutputAvailableType.

Para más información sobre estos formatos, vea GUID de subtipo de vídeo.

Comentarios

Se puede crear una instancia del procesador de vídeo de una de las maneras siguientes:

  • Mediante la llamada a MFTEnumEx. El procesador de vídeo se registra en la categoría MFT_CATEGORY_VIDEO_PROCESSOR.
  • Mediante la llamada a la función COM CoCreateInstance a la que se pasa el CLSID CLSID_VideoProcessorMFT.

Los comentarios siguientes se refieren a trabajar con rectángulos de origen y de destino en el procesador de vídeo MFT. Los rectángulos de origen y destino se establecen con IMFVideoProcessorControl::SetDestinationRectangle y SetSourceRectangle, y en ocasiones con IMFMediaEngineEx::UpdateVideoStream.

  • El rectángulo de origen se debe alinear y redondear para que coincida con los requisitos del formato de color del fotograma introducido en el procesador de vídeo. Esto es importante porque formatos como 420 y 422 tienen requisitos sobre las dimensiones y desplazamientos que se pueden crear y a los que se puede acceder. Por ejemplo, un rectángulo de origen de {1, 0, 319, 240} (izquierda, arriba, derecha, abajo) se redondeará a {2, 0, 320, 240} cuando el formato de entrada sea 420.
  • Tanto el rectángulo de destino como el de origen siempre se fijarán para ajustarse dentro de sus respectivos fotogramas: el rectángulo de origen al fotograma de origen y el rectángulo de destino al fotograma de destino. Esto significa que los valores negativos no son significativos, siempre se sujetarán a 0.
  • El rectángulo de origen está en el sistema de coordenadas del fotograma de destino, menos cualquier rectángulo de destino. Esto significa que las transformaciones como la rotación se "deshacen" en el rectángulo de origen. Por tanto, no es necesario saber si el vídeo se ha girado o desempaquetado en 3D. Por ejemplo, podría dibujar un rectángulo encima de la etiqueta de vídeo, tomar las coordenadas relativas (relativas a la etiqueta de vídeo), normalizarlas (de 0 a 1) y pasarlas como rectángulo de origen y deberían funcionar según lo previsto, incluso si se gira el vídeo.

El procesador de vídeo admite el procesamiento de vídeo acelerado por GPU mediante Microsoft Direct3D 11. Para más información, vea MF_SA_D3D11_AWARE.

Vídeo estereoscópico

El procesador de vídeo admite la operación de desempaquetado de vistas en fotogramas de vídeo 3D:

Si el fotograma de entrada contiene dos vistas empaquetadas en el mismo fotograma, el procesador de vídeo puede dividir las vistas en búferes independientes, o extraer la vista base y descartar la segunda. Para habilitar el desempaquetado de vistas, establezca el atributo MF_ENABLE_3DVIDEO_OUTPUT en MF3DVideoOutputType_Stereo o MF3DVideoOutputType_BaseView.

Requisitos

Requisito Valor
Encabezado
Camerauicontrol.h

Consulte también

Procesadores de señal digital