Processeur vidéo MFT

Le processeur vidéo MFT est une transformation Microsoft Media Foundation (MFT) qui effectue une conversion d’espace de couleurs, un redimensionnement vidéo, un désentrelacement, une conversion de fréquence d’images, une rotation, un rognage, une décompression des vues gauche et droite spatiales et la mise en miroir.

CLSID

CLSID_VideoProcessorMFT

Interfaces

Formats d’entrée

  • 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

Formats de sortie

  • 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

Toutes les combinaisons de formats d’entrée et de sortie ne sont pas prises en charge. Pour vérifier si une conversion est prise en charge, définissez le type d’entrée, puis appelez IMFTransform::GetOutputAvailableType.

Pour plus d’informations sur ces formats, consultez l’article GUID de sous-type de vidéo.

Notes

Une instance du processeur vidéo peut être créée de l’une des manières suivantes :

  • En appelant MFTEnumEx. Le processeur vidéo est inscrit dans la catégorie MFT_CATEGORY_VIDEO_PROCESSOR.
  • En appelant la fonction COM CoCreateInstance en lui transmettant le CLSID CLSID_VideoProcessorMFT.

Les remarques suivantes concernent l’utilisation des rectangles source et de destination dans le processeur vidéo MFT. Les rectangles source et de destination sont définis avec IMFVideoProcessorControl::SetDestinationRectangle et SetSourceRectangle et parfois avec IMFMediaEngineEx::UpdateVideoStream.

  • Le rectangle source doit être aligné et arrondi pour correspondre aux exigences du format de couleur de l’image entrée dans le processeur vidéo. Cela est important, car les formats tels que 420 et 422 ont des exigences sur les dimensions et les décalages qui peuvent être créés et accessibles. Par exemple, un rectangle source de {1, 0, 319, 240} (gauche, haut, droite, bas) est arrondi à {2, 0, 320, 240} lorsque le format d’entrée est 420.
  • Les rectangles source et de destination sont toujours limités pour s’adapter à leurs images respectives, le rectangle source à l’image source et le rectangle de destination à l’image de destination. Cela signifie que les valeurs négatives ne sont pas significatives : elles seront toujours limitées à 0.
  • Le rectangle source se trouve dans le système de coordonnées de l’image de destination, moins tout rectangle de destination. Cela signifie que les transformations telles que la rotation sont « annulées » sur le rectangle source. Par conséquent, vous n’avez pas besoin de savoir si la vidéo a été pivotée ou décompressée en 3D. Par exemple, vous pouvez dessiner un rectangle en haut de la balise vidéo, prendre les coordonnées relatives (par rapport à la balise vidéo), les normaliser (plage 0 à 1) et les transmettre en tant que rectangle source. Elles doivent fonctionner comme prévu, même si la vidéo est pivotée.

Le processeur vidéo prend en charge le traitement vidéo accéléré par GPU à l’aide de Microsoft Direct3D 11. Pour plus d’informations, consultez l’article sur l’attribut MF_SA_D3D11_AWARE.

Vidéo stéréoscopique

Le processeur vidéo prend en charge l’opération de décompression de vue sur les images vidéo 3D :

Si l’image d’entrée contient deux vues empaquetées dans la même image, le processeur vidéo peut fractionner les vues en mémoires tampons distinctes ou extraire la vue de base et abandonner la seconde vue. Pour activer la décompression des vues, définissez l’attribut MF_ENABLE_3DVIDEO_OUTPUT sur MF3DVideoOutputType_Stereo ou MF3DVideoOutputType_BaseView.

Configuration requise

Condition requise Value
En-tête
Camerauicontrol.h

Voir aussi

Processeurs de signal numérique