Intrinsèques de la caméra
Un pilote de caméra (ou via DMFT) peut attacher un attribut intrinsèque de caméra à un magasin d’attributs de flux à l’aide de MFStreamExtension_PinholeCameraIntrinsics, ou l’attacher à un magasin d’attributs d’images multimédias à l’aide de MFSampleExtension_PinholeCameraIntrinsics. S’il est attaché à un magasin d’attributs de flux, les valeurs de l’intrinsèque de la caméra ne changent pas pendant la diffusion en continu de la caméra. S’il est attaché à un magasin d’attributs d’images multimédias, la valeur intrinsèque peut changer pour chaque image.
Pour les deux attributs ci-dessus, la valeur doit être une structure de type MFPinholeCameraIntrinsics, qui indique une liste de modèles intrinsèques de caméra. Chaque entrée de cette liste est de type MFPinholeCameraIntrinsic_IntrinsicModel, contenant une résolution (largeur/hauteur), un modèle de trou d’épingle et MFCameraIntrinsic_DistortionModel modèle de distorsion.
Lorsque vous utilisez MFPinholeCameraIntrinsics avec un magasin d’attributs de flux, cette liste doit contenir au moins un, et peut-être de nombreux modèles intrinsèques. Le système choisit le modèle intrinsèque en fonction du format de trame de streaming actif en fonction de la largeur et de la hauteur des images. Si une correspondance exacte est trouvée, les intrinsèques sont utilisées. Sinon, les premières intrinsèques avec le même rapport d’aspect seront utilisées à la place, par exemple lorsque la liste contient deux entrées, respectivement 640x480 et 1920x1080. Si vous diffusez en continu avec un format multimédia 1280x720, les intrinsèques 1080p seront utilisées avec une mise à l’échelle appropriée.
Lorsque vous utilisez MFPinholeCameraIntrinsics avec un magasin d’attributs d’images multimédias, cette liste doit contenir exactement un modèle intrinsèque avec la même résolution que la résolution d’images.