Stabilisation vidéo MFT
La stabilisation vidéo MFT est une transformation MFT (Microsoft Media Foundation) qui effectue la stabilisation d’image sur un flux vidéo.
CLSID
CLSID_CMSVideoDSPMFT
Interfaces
Formats d’entrée
Les combinaisons de type de média d’entrée et de sous-type acceptées par la stabilisation vidéo MFT pour la vidéo non compressée sont les suivantes :
- MEDIATYPE_VIDEO
- MEDIASUBTYPE_NV12
- MEDIASUBTYPE_YUY2
Formats de sortie
Les combinaisons de type de média de sortie et de sous-type acceptées par la stabilisation vidéo MFT sont les suivantes :
- MEDIATYPE_VIDEO
- MEDIASUBTYPE_NV12
Le type de média d’entrée doit être défini avant le type de média de sortie. Dans la plupart des cas, la prise en charge limitée du format n’est pas un problème, car le pipeline insère automatiquement les conversions de couleur nécessaires.
Le composant MFT de stabilisation vidéo est capable de changer de format dynamique lorsque l’entrée change. Lorsque la taille de l’image d’entrée change ou que le sous-type change, un changement de format dynamique est déclenché sur le flux de sortie.
La stabilisation vidéo MFT effectue la conversion de couleur dans les cas suivants :
- Lorsque le format d’entrée est MEDIASUBTYPE_YUY2.
- Lorsque le mode de compatibilité Microsoft DirectX 9.0 est utilisé.
Attributs
Les attributs suivants sont pris en charge par la stabilisation vidéo MFT via l’interface IMFAttributes .
- L’attribut MF_VIDEODSP_MODE place la stabilisation vidéo MFT en mode stabilisation ou pass-through. L’application doit appeler IMFAttributes::SetUINT32 sur le guid MF_VIDEODSP_TYPE avec un entier correspondant à l’une des valeurs valides suivantes : MFVideoDSPMode_Stabilization = 4, MFVideoDSPMode_Passthrough = 1. MF_VIDEODSP_MODE peut être modifié à tout moment pendant la lecture. Cela entraîne un changement de mode dynamique. La sortie bascule vers stabilisée ou passe après 16 ou 2 images (selon le mode de latence) après la modification de l’attribut.
- L’attribut MF_LOW_LATENCY place la stabilisation vidéo MFT en mode faible latence ou en mode haute qualité. L’application doit appeler IMFAttributes::SetUINT32 sur le GUID MF_LOW_LATENCY avec un entier correspondant à l’une des valeurs valides suivantes : Latence faible = 1 Haute qualité = 0
- L’attribut MF_SA_D3D11_BINDFLAGS est utilisé par le pipeline pour spécifier les indicateurs de liaison D3D11 à utiliser pour créer les exemples de sortie. Toute combinaison de valeurs de l’énumération D3D11_BIND_FLAG est valide.
- L’attribut MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT est utilisé par le pipeline pour spécifier le nombre minimal d’exemples que ce composant doit prendre en charge en sortie.
- L’attribut MFSampleExtension_VideoDSPMode est défini sur chaque échantillon produit par la stabilisation pour indiquer la MF_VIDEODSP_MODE effective appliquée à cet échantillon (si l’échantillon a été stabilisé ou non). Dans certaines conditions, les échantillons peuvent ne pas être stabilisés (en raison d’une charge système élevée ou de demandes de l’utilisateur). Cet attribut a les mêmes valeurs que l’attribut MF_VIDEODSP_MODE (MFVideoDSPMode_Stabilization et MFVideoDSPMode_Passthrough). Pour obtenir la valeur de cet attribut, les applications doivent appeler IMFAttributes::SetUINT32 sur guid MFSampleExtension_VideoDSPMode.
Notes
Une instance du DSP de stabilisation vidéo peut être créée de l’une des manières suivantes :
- En appelant MFTEnumEx. Le DSP de stabilisation vidéo est inscrit dans la catégorie MFT_CATEGORY_VIDEO_EFFECT .
- En appelant la fonction COM CoCreateInstance en lui transmettant le CLSID CLSID_CMSVideoDSPMFT. Pour utiliser cette méthode, vous devez inclure wmcodecdsp.h et établir un lien vers wmcodecdspuuid.lib.
En outre, le DSP de stabilisation vidéo prend en charge l’instanciation à l’aide de Windows Runtime en tant qu’extension Windows Media. Il est défini sur Windows.Media.VideoEffects et son nom complet est « Windows.Media.VideoEffects.VideoStabilization ».
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Voir aussi