MFT stabilizzazione video
La stabilizzazione video MFT è una trasformazione microsoft Media Foundation (MFT) che esegue la stabilizzazione delle immagini in un flusso video.
CLSID
CLSID_CMSVideoDSPMFT
Interfacce
Formati di input
I tipi di supporti di input e le combinazioni di sottotipi accettati dal MFT di stabilizzazione video per il video non compresso sono:
- MEDIATYPE_VIDEO
- MEDIASUBTYPE_NV12
- MEDIASUBTYPE_YUY2
Formati di output
I tipi di supporti di output e le combinazioni di sottotipi accettati dal MFT di stabilizzazione video sono:
- MEDIATYPE_VIDEO
- MEDIASUBTYPE_NV12
Il tipo di supporto di input deve essere impostato prima del tipo di supporto di output. Nella maggior parte dei casi, il supporto di formato limitato non è un problema perché la pipeline inserisce automaticamente le conversioni di colori necessarie.
Il componente MFT di stabilizzazione video è in grado di modificare il formato dinamico quando l'input cambia. Quando le dimensioni dell'immagine di input cambiano o il sottotipo cambiano, verrà attivata una modifica dinamica del formato nel flusso di output.
La stabilizzazione video MFT eseguirà la conversione dei colori nei casi seguenti:
- Quando il formato di input è MEDIASUBTYPE_YUY2.
- Quando viene usata la modalità di compatibilità di Microsoft DirectX 9.0.
Attributi
Gli attributi seguenti sono supportati dal MFT di stabilizzazione video tramite l'interfaccia IMFAttributes .
- L'attributo MF_VIDEODSP_MODE inserisce il MFT di stabilizzazione video in modalità di stabilizzazione o pass-through. L'applicazione deve chiamare IMFAttributes::SetUINT32 nel GUID MF_VIDEODSP_TYPE con un intero corrispondente a uno dei valori validi seguenti: MFVideoDSPMode_Stabilization = 4, MFVideoDSPMode_Passthrough = 1. MF_VIDEODSP_MODE può essere modificato in qualsiasi momento durante la riproduzione. Ciò causa una modifica della modalità dinamica. L'output passa a stabilizzato o pass-through dopo 16 o 2 frame (a seconda della modalità latenza) dopo la modifica dell'attributo.
- L'attributo MF_LOW_LATENCY inserisce MFT di stabilizzazione video in modalità bassa latenza o in modalità alta qualità. L'applicazione deve chiamare FMAttributes::SetUINT32 nel GUID MF_LOW_LATENCY con un intero corrispondente a uno dei valori validi seguenti: Bassa latenza = 1 High Quality = 0
- L'attributo MF_SA_D3D11_BINDFLAGS viene usato dalla pipeline per specificare i flag di associazione D3D11 con cui creare gli esempi di output. Qualsiasi combinazione di valori dell'enumerazione D3D11_BIND_FLAG è valida.
- L'attributo MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT viene usato dalla pipeline per specificare il numero minimo di campioni che questo componente deve supportare sull'output.
- L'attributo MFSampleExtension_VideoDSPMode è impostato su ogni campione prodotto dalla stabilizzazione per indicare la MF_VIDEODSP_MODE effettiva applicata a tale campione (indipendentemente dal fatto che il campione sia stato stabilizzato). In determinate condizioni, gli esempi potrebbero non essere stabilizzati (a causa del carico di sistema elevato o delle richieste dell'utente). Questo attributo ha gli stessi valori dell'attributo MF_VIDEODSP_MODE (MFVideoDSPMode_Stabilization e MFVideoDSPMode_Passthrough). Per ottenere il valore di queste applicazioni di attributo, è necessario chiamare FMAttributes::SetUINT32 nel GUID MFSampleExtension_VideoDSPMode.
Commenti
È possibile creare un'istanza del DSP di stabilizzazione video in uno dei modi seguenti:
- Chiamando MFTEnumEx. Il DSP di stabilizzazione video viene registrato nella categoria MFT_CATEGORY_VIDEO_EFFECT .
- Chiamando la funzione COM CoCreateInstancepassandola CLSID_CMSVideoDSPMFT CLSID. Per usare questo metodo, è necessario includere wmcodecdsp.h e collegamento su wmcodecdspuuid.lib.
Inoltre, il DSP di stabilizzazione video supporta l'istanza usando Windows Runtime come estensione di Windows Media. Viene definito in Windows.Media.VideoEffects e il nome completo è "Windows.Media.VideoEffects.VideoStabilization".
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Vedi anche