Asignación de coordenadas en VMR
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
En esta sección se describen las cinco transformaciones que se aplican a una imagen de origen antes de asignarlas a la imagen de salida final.
- La transformación T(Src) asigna el rectángulo de origen al rectángulo de destino. Estos son especificados por los miembros rcSource y rcTarget de la estructura VIDEOINFOHEADER o VIDEOINFOHEADER2 en el tipo de medio. Esta asignación preprocesa la imagen de origen a medida que pasa a VMR.
- La transformación T(Flag) realiza cualquier manipulación de imagen especificada por marcas en el ejemplo multimedia. Estas transformaciones incluidas, como la traducción vertical y la escala, para dar cabida a las marcas de interlace bob. La transformación interlace duplica el alto de la imagen y, posiblemente, traduce la imagen a la mitad de una línea de vídeo si se encuentra en el campo impar.
- La transformación T(AR) ajusta la imagen a píxeles cuadrados, en función de la relación de aspecto de la imagen. Para los tipos de medios VIDEOINFOHEADER , la relación de aspecto viene determinada por el tamaño de la imagen. Para los tipos VIDEOINFOHEADER2 , la relación de aspecto viene determinada por los campos dwPictAspectRatioX y dwPictAspectRatioY , a menos que se establezcan las marcas AMCONTROL_PAD_TO_16x9 o AMCONTROL_PAD_TO_4x3. Esta transformación supone que la configuración de visualización del monitor coincide con la relación de aspecto físico del monitor. Por ejemplo, si el usuario tiene un monitor con una relación de aspecto de 4 x 3, pero establece la pantalla en 1280 x 768 píxeles (5 x 3), la imagen no tendrá la relación de aspecto correcta.
- La transformación T(Mix) transforma la imagen dentro de la imagen de destino, utilizando los rectángulos normalizados especificados en los métodos IVMRMixerControl . Los rectángulos normalizados permiten a la aplicación organizar cómo se colocan y escalan las secuencias de origen entre sí. VMR calcula la imagen de destino calculando las dimensiones máximas de todas las imágenes de origen y centrando cada una dentro de un rectángulo delimitador global. A las esquinas del rectángulo delimitador se les asigna el intervalo (0,0) a (1,1). El rectángulo delimitador se fija antes de que el grafo se ejecute y permanezca constante incluso si se agregan o eliminan secuencias. Los rectángulos de destino para cada flujo pueden estar fuera del intervalo (0,0) a (1,1) y seguir siendo válidos.
- Por último, una parte de la imagen mixta se puede transformar mediante la Asignación T(Dst) especificada por los rectángulos de origen y destino en la interfaz IBasicVideo en vmR. Si el Allocator-Presenter se reemplaza y no se usa la interfaz IBasicVideo , la aplicación debe implementar la interfaz IVMRWindowlessControl y asignar las coordenadas de nuevo a un espacio lineal 2D. Las coordenadas del mouse devueltas al navegador de DVD también deben estar en este espacio. Por ejemplo, si una aplicación representa el vídeo en un cubo giratorio, notificaría toda la pantalla para el control sin ventanas y devolvería coordenadas del mouse en relación con la pantalla.
La transformación de imagen general de los datos de origen al representador final es:
T = T(Src)* T(Flag)T(Ar)T(Mix)* T(Dst)*
donde * indica que la imagen se podría recortar en la imagen de destino en esa fase. Tenga en cuenta que se trata de transformaciones affine, por lo que VMR puede combinarlas en una sola transformación.
El inverso de la transformación es:
El factor T(Src) T(Flag) T(Ar) es relativo a la resolución de origen. En el factor T(Mix), el rectángulo de origen normalizado es relativo a la imagen corregida por el aspecto. El rectángulo de destino normalizado es relativo a la resolución de salida. En el diagrama siguiente se muestran estas relaciones.
Temas relacionados