Mappage de coordonnées dans VMR
Cette section décrit les cinq transformations appliquées à une image source avant qu’elle ne soit mappée par VMR sur l’image finale de sortie.
- La transformation T (SRC) mappe le rectangle source au rectangle de destination. Celles-ci sont spécifiées par les membres rcSource et rcTarget de la structure VIDEOINFOHEADER ou VIDEOINFOHEADER2 dans le type de média. Ce mappage prétraite l’image source lorsqu’elle est transmise au VMR.
- La transformation T (indicateur) effectue toute manipulation d’image spécifiée par des indicateurs dans l’exemple de support. Ces transformations incluses, telles que la translation verticale et l’échelle, permettent de gérer les indicateurs entrelacés de Bob. La transformation entrelacée double la hauteur de l’image et éventuellement convertit l’image par la moitié d’une ligne vidéo, si elle se trouve dans le champ impair.
- La transformation T (AR) ajuste l’image en pixels carrés, en fonction des proportions de l’image. Pour les types de média VIDEOINFOHEADER , les proportions sont déterminées par la taille de l’image. Pour les types VIDEOINFOHEADER2 , les proportions sont déterminées par les champs dwPictAspectRatioX et dwPictAspectRatioY , à moins que les indicateurs de remplissage 16 x 9 _ ou AMCONTROL pour 4x3 _ _ _ _ _ soient définis. Cette transformation suppose que le paramètre d’affichage de l’analyse correspond aux proportions physiques de l’analyse. Par exemple, si l’utilisateur a une analyse avec des proportions de 4 x 3, mais définit l’affichage sur 1280 x 768 pixels (5 x 3), l’image n’aura pas les proportions correctes.
- Les transformations de transformation T (Mix) déplacent l’image dans l’image de destination, à l’aide des rectangles normalisés spécifiés dans les méthodes IVMRMixerControl . Les rectangles normalisés permettent à l’application d’organiser le positionnement et la mise à l’échelle des flux sources l’un par rapport à l’autre. VMR calcule l’image de destination en calculant les dimensions maximales de toutes les images sources et en les recentrant à l’intérieur d’un rectangle englobant global. La plage (0, 0) à (1,1) est assignée aux angles du rectangle englobant. Le rectangle englobant est fixe avant l’exécution du graphique et reste constant même si les flux sont ajoutés ou supprimés. Les rectangles de destination de chaque flux peuvent se trouver en dehors de la plage (0,0) à (1,1) et toujours être valides.
- Enfin, une partie de l’image mixte peut être transformée par le mappage T (DST), spécifié par les rectangles source et de destination dans l’interface IBasicVideo sur VMR. Si le Allocator-Presenter est remplacé et que l’interface IBasicVideo n’est pas utilisée, l’application doit implémenter l’interface IVMRWindowlessControl et mapper les coordonnées dans un espace linéaire 2D. Les coordonnées de la souris retournées au navigateur DVD doivent également être dans cet espace. Par exemple, si une application effectue le rendu d’une vidéo sur un cube tournant, elle signale l’affichage entier pour le contrôle sans fenêtre et retourne les coordonnées de la souris par rapport à l’affichage.
La transformation d’image globale à partir des données sources vers le convertisseur final est la suivante :
T = T (SRC) * t (indicateur) t (AR) t (Mix) t ( * DST)*
où * indique que l’image peut être découpée vers l’image de destination à cette étape. Notez qu’il s’agit de toutes les transformations affines. par conséquent, VMR peut les combiner en une seule transformation.
L’inverse de la transformation est le suivant :

Le facteur T (SRC) T (indicateur) T (AR) est relatif à la résolution de la source. Dans le facteur T (Mix), le rectangle source normalisé est relatif à l’image corrigée à l’aspect. Le rectangle de destination normalisé est relatif à la résolution de sortie. Le diagramme suivant illustre ces relations.
