Estabilización de vídeo MFT
El MFT de estabilización de vídeo es una transformación de Microsoft Media Foundation (MFT) que realiza la estabilización de imagen en una secuencia de vídeo.
CLSID
CLSID_CMSVideoDSPMFT
Interfaces
Formatos de entrada
El tipo de medio de entrada y las combinaciones de subtipo aceptados por el MFT de estabilización de vídeo para vídeo sin comprimir son:
- MEDIATYPE_VIDEO
- MEDIASUBTYPE_NV12
- MEDIASUBTYPE_YUY2
Formatos de salida
El tipo de medio de salida y las combinaciones de subtipo aceptados por el MFT de estabilización de vídeo son:
- MEDIATYPE_VIDEO
- MEDIASUBTYPE_NV12
El tipo de medio de entrada debe establecerse antes del tipo de medio de salida. En la mayoría de las situaciones, la compatibilidad con formato limitado no es un problema porque la canalización inserta automáticamente las conversiones de color necesarias.
El componente MFT de estabilización de vídeo es capaz de cambiar el formato dinámico cuando cambia la entrada. Cuando cambia el tamaño de la imagen de entrada o cambia el subtipo, desencadenará un cambio de formato dinámico en el flujo de salida.
El MFT de estabilización de vídeo realizará la conversión de color en los siguientes casos:
- Cuando se MEDIASUBTYPE_YUY2 el formato de entrada.
- Cuando se usa el modo de compatibilidad de Microsoft DirectX 9.0.
Atributos
Los atributos siguientes son compatibles con el MFT de estabilización de vídeo a través de la interfaz IMFAttributes .
- El atributo MF_VIDEODSP_MODE coloca el MFT de estabilización de vídeo en modo de estabilización o en modo de paso a través. La aplicación debe llamar a IMFAttributes::SetUINT32 en el GUID MF_VIDEODSP_TYPE con un entero correspondiente a uno de los siguientes valores válidos: MFVideoDSPMode_Stabilization = 4, MFVideoDSPMode_Passthrough = 1. MF_VIDEODSP_MODE se pueden cambiar en cualquier momento durante la reproducción. Esto provoca un cambio de modo dinámico. La salida cambiará a estabilizada o pasará a través después de 16 o 2 fotogramas (según el modo de latencia) después de cambiar el atributo.
- El atributo MF_LOW_LATENCY coloca el MFT de estabilización de vídeo en modo de baja latencia o en modo de alta calidad. La aplicación debe llamar a IMFAttributes::SetUINT32 en el GUID MF_LOW_LATENCY con un entero correspondiente a uno de los siguientes valores válidos: Baja latencia = 1 alta calidad = 0
- La canalización usa el atributo MF_SA_D3D11_BINDFLAGS para especificar las marcas de enlace D3D11 con las que crear los ejemplos de salida. Cualquier combinación de valores de la enumeración D3D11_BIND_FLAG es válida.
- La canalización usa el atributo MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT para especificar el número mínimo de muestras que este componente debe admitir en la salida.
- El atributo MFSampleExtension_VideoDSPMode se establece en cada muestra producida por estabilización para indicar el MF_VIDEODSP_MODE efectivo aplicado a esa muestra (si la muestra se ha estabilizado o no). En determinadas condiciones, es posible que las muestras no estén estabilizadas (debido a una alta carga del sistema o a las solicitudes del usuario). Este atributo tiene los mismos valores que el atributo MF_VIDEODSP_MODE (MFVideoDSPMode_Stabilization y MFVideoDSPMode_Passthrough). Para obtener el valor de esta aplicación de atributo, debe llamar a IMFAttributes::SetUINT32 en MFSampleExtension_VideoDSPMode GUID.
Observaciones
Una instancia del DSP de estabilización de vídeo se puede crear de una de las siguientes maneras:
- Llamando a MFTEnumEx. El DSP de estabilización de vídeo se registra en la categoría MFT_CATEGORY_VIDEO_EFFECT .
- Llamando a la función COM CoCreateInstance pasando el CLSID_CMSVideoDSPMFT CLSID. Para usar este método, debe incluir wmcodecdsp.h y vincular con wmcodecdspuuid.lib.
Además, el DSP de estabilización de vídeo admite la creación de instancias mediante Windows Runtime como extensión de Windows Media. Se define en Windows.Media.VideoEffects y su nombre completo es "Windows.Media.VideoEffects.VideoStabilization".
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Consulte también