Compartilhar via


Processador de vídeo MFT

O processador de vídeo MFT é uma MFT (transformações do Media Foundation) que executa conversão de espaço de cores, redimensionamento de vídeo, desentrelaçamento, conversão de taxa de quadros, rotação, recorte, descompactação espacial de visualizações esquerda e direita e espelhamento.

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 saída

  • 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

Nem todas as combinações de formatos de entrada e saída têm suporte. Para testar se há suporte para uma conversão, defina o tipo de entrada e chame IMFTransform::GetOutputAvailableType.

Para obter mais informações sobre esses formatos, consulte GUIDs de subtipo de vídeo.

Comentários

Uma instância do processador de vídeo pode ser criada de uma das seguintes maneiras:

  • Chamando MFTEnumEx. O processador de vídeo é registrado na categoria MFT_CATEGORY_VIDEO_PROCESSOR.
  • Chamando a função COM CoCreateInstance passando o CLSID CLSID_VideoProcessorMFT.

As observações a seguir referem-se ao trabalho com retângulos de origem e de destino no Processador de Vídeo MFT. Os retângulos de origem e de destino são definidos com IMFVideoProcessorControl::SetDestinationRectangle e SetSourceRectangle e, às vezes, com IMFMediaEngineEx::UpdateVideoStream.

  • O retângulo de origem deve ser alinhado e arredondado para corresponder aos requisitos do formato de cor do quadro inserido no processador de vídeo. Isso é importante porque formatos como 420 e 422 têm requisitos sobre as dimensões e deslocamentos que podem ser criados e acessados. Por exemplo, um retângulo de origem de {1, 0, 319, 240} (esquerda, superior, direita, inferior) será arredondado para {2, 0, 320, 240} quando o formato de entrada for 420.
  • Tanto o retângulo de destino quanto o retângulo de origem serão sempre ajustados para caber dentro de seus respectivos quadros – o retângulo de origem no quadro de origem e o retângulo de destino no quadro de destino. Isso significa que os valores negativos não são significativos. Eles serão sempre fixados em 0.
  • O retângulo de origem está no sistema de coordenadas do quadro de destino, menos qualquer retângulo de destino. Isso significa que transformações como a rotação serão "desfeitas" no retângulo de origem. Portanto, você não precisa saber se o vídeo foi girado ou descompactado em 3D. Por exemplo, você pode desenhar um retângulo em cima da marca de vídeo, pegar as coordenadas relativas (em relação à marca de vídeo), normalizá-las (no intervalo de 0 a 1) e passá-las como o retângulo de origem, e elas devem funcionar conforme o esperado, mesmo que o vídeo estiver sendo rotacionado.

O processador de vídeo dá suporte ao processamento de vídeo acelerado por GPU, usando o Microsoft Direct3D 11. Para obter mais informações, consulte MF_SA_D3D11_AWARE.

Vídeo estereoscópico

O processador de vídeo dá suporte à operação de descompactação de visualização em quadros de vídeo 3D:

Se o quadro de entrada contiver dois modos de visualização compactados no mesmo quadro, o processador de vídeo poderá dividi-las em buffers separados ou extrair a visualização base e descartar a segunda visualização. Para habilitar a descompactação da exibição, defina o atributo MF_ENABLE_3DVIDEO_OUTPUT como MF3DVideoOutputType_Stereo ou MF3DVideoOutputType_BaseView.

Requisitos

Requisito Valor
Cabeçalho
Camerauicontrol.h

Confira também

Processadores de sinal digital