Partager via


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 :

  1. 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

  2. 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

KSSTREAM_HEADER

KS_TVTUNER_CHANGE_INFO

KS_VBIINFOHEADER