KS_VBI_FRAME_INFO structure (ksmedia.h)
La structure KS_VBI_FRAME_INFO étend la structure KSSTREAM_HEADER pour les flux d’intervalle de remplissage vertical (VBI).
Syntaxe
typedef struct tagKS_VBI_FRAME_INFO {
ULONG ExtendedHeaderSize;
DWORD dwFrameFlags;
LONGLONG PictureNumber;
LONGLONG DropCount;
DWORD dwSamplingFrequency;
KS_TVTUNER_CHANGE_INFO TvTunerChangeInfo;
KS_VBIINFOHEADER VBIInfoHeader;
} KS_VBI_FRAME_INFO, *PKS_VBI_FRAME_INFO;
Membres
ExtendedHeaderSize
Spécifie la taille de cette structure.
dwFrameFlags
Spécifie des indicateurs indiquant des informations supplémentaires sur le frame capturé. Pendant la capture, le minidriver définit ce membre sur l’une des valeurs suivantes définies dans ksmedia.h :
Indicateur | Signification |
---|---|
KS_VBI_FLAG_FIELD1 | Indique le premier champ d’une séquence de deux champs |
KS_VBI_FLAG_FIELD2 | Indique le deuxième champ d’une séquence de deux champs |
KS_VBI_FLAG_MV_PRESENT | Indique le schéma de protection macrovision |
KS_VBI_FLAG_MV_HARDWARE | Indique la prise en charge matérielle de Macrovision |
KS_VBI_FLAG_MV_DETECTED | Indique que Macrovision a été détecté |
KS_VBI_FLAG_TVTUNER_CHANGE | Indique que la structure de membre TvTunerChangeInfo contient des données valides |
KS_VBI_FLAG_VBIINFOHEADER_CHANGE | Indique que la structure de membre VBIInfoHeader contient des données valides |
PictureNumber
Spécifie un nombre représentant le numéro d’image actuel. Initialisez ou mettez à jour cette valeur lors de la transition vers KSSTATE_ACQUIRE.
DropCount
Spécifie le nombre d’images qui n’ont pas été capturées. Lors de la capture vidéo, le minidriver définit ce membre. Ce compteur doit être incrémenté chaque fois qu’une image aurait dû être capturée mais ne l’a pas été ; cette condition se produit généralement quand aucune mémoire tampon n’était disponible pendant la capture. Initialisez ou mettez à jour cette valeur lors de la transition vers KSSTATE_ACQUIRE.
dwSamplingFrequency
Spécifie la fréquence d’échantillonnage en hertz (Hz).
TvTunerChangeInfo
Spécifie des informations sur la source de données VBI actuelle, y compris le code pays/région, la norme vidéo analogique et le canal. Ce membre est valide uniquement si dwFrameFlags spécifie l’indicateur KS_VBI_FLAG_TVTUNER_CHANGE.
VBIInfoHeader
Spécifie des informations sur la source de données VBI actuelle, notamment la ligne de début, la ligne de fin, la fréquence d’échantillonnage et la norme vidéo. Ce membre n’est valide que si dwFrameFlags spécifie l’indicateur KS_VBI_FLAG_VBIINFOHEADER_CHANGE.
Remarques
La structure KS_VBI_FRAME_INFO permet de retourner des informations sur une trame capturée, ainsi que de fournir des informations de réglage aux décodeurs VBI.
Le nombre de membres PictureNumber représente le nombre de l’image actuelle en fonction du format utilisé pour ouvrir le flux. Ce nombre est calculé de deux façons, selon l’appareil :
Mesurez le temps écoulé depuis le démarrage du flux et divisez par la durée de l’image. Cette méthode convient aux appareils qui ne fournissent pas leur propre horloge. Par exemple : PictureNumber = (CurrentStreamTime − StartStreamTime) / FrameDuration
Additionner le nombre d’images capturées et le nombre d’images supprimées. Cette méthode est appropriée pour les appareils qui fournissent leur propre horloge. Par exemple : PictureNumber = FramesCaptured + FramesDropped
Lors du calcul des valeurs PictureNumber et DropCount, il est important d’utiliser la durée d’image spécifiée lors de l’ouverture du flux, qui peut ne pas nécessairement correspondre à la vitesse à laquelle l’appareil produit réellement des images. Par exemple, une caméra USB ne peut produire des images qu’à 7,5 i/s, mais un client peut ouvrir le flux à 8 i/s. Dans ce cas, tous les calculs doivent utiliser le nombre de 8 fps. Pour plus d’informations sur la mise à jour de PictureNumber et DropCount, consultez Capture de vidéo.
Le membre dwSamplingFrequency n’est pas utilisé par les codecs VBI Microsoft, mais peut être utilisé par d’autres codecs WDM. Il doit être identique à VBIInfoHeader. Membre SamplingFrequency . Un minidriver indique une modification de la fréquence d’échantillonnage en définissant le bit KS_VBI_FLAG_VBIINFOHEADER_CHANGE dans le membre dwFrameFlags et en renseignant tous les membres, y compris dwSamplingFrequency, dans la structure VBIInfoHeader .
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ksmedia.h (incluez Ksmedia.h) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour