Condividi tramite


struttura KS_VBI_FRAME_INFO (ksmedia.h)

La struttura KS_VBI_FRAME_INFO estende la struttura KSSTREAM_HEADER per flussi con intervallo di spaziatura verticale (VBI).

Sintassi

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;

Members

ExtendedHeaderSize

Specifica le dimensioni di questa struttura.

dwFrameFlags

Specifica i flag che indicano informazioni aggiuntive sul frame acquisito. Durante l'acquisizione, il minidriver imposta questo membro su uno dei valori seguenti definiti in ksmedia.h:

Contrassegno Significato
KS_VBI_FLAG_FIELD1 Indica il primo campo di una sequenza a due campi
KS_VBI_FLAG_FIELD2 Indica il secondo campo di una sequenza a due campi
KS_VBI_FLAG_MV_PRESENT Indica lo schema di protezione macrovisioning
KS_VBI_FLAG_MV_HARDWARE Indica il supporto hardware per il provisioning di macro
KS_VBI_FLAG_MV_DETECTED Indica che è stato rilevato il provisioning delle macro
KS_VBI_FLAG_TVTUNER_CHANGE Indica che la struttura membro TvTunerChangeInfo contiene dati validi
KS_VBI_FLAG_VBIINFOHEADER_CHANGE Indica che la struttura dei membri VBIInfoHeader contiene dati validi

PictureNumber

Specifica un conteggio che rappresenta il numero di immagine corrente. Inizializzare o aggiornare questo valore alla transizione in KSSTATE_ACQUIRE.

DropCount

Specifica il numero di immagini non acquisite. Durante l'acquisizione di video, il minidriver imposta questo membro. Questo contatore deve essere incrementato ogni volta che un frame deve essere stato acquisito ma non lo era; questa condizione si verifica in genere quando non sono disponibili buffer durante l'acquisizione. Inizializzare o aggiornare questo valore alla transizione in KSSTATE_ACQUIRE.

dwSamplingFrequency

Specifica la frequenza di campionamento inhz (Hz).

TvTunerChangeInfo

Specifica informazioni sull'origine dati VBI corrente, inclusi il codice paese/area geografica, lo standard video analogico e il canale. Questo membro è valido solo se dwFrameFlags specifica il flag KS_VBI_FLAG_TVTUNER_CHANGE.

VBIInfoHeader

Specifica informazioni sull'origine dati VBI corrente, tra cui la riga iniziale, la riga finale, la frequenza di campionamento e lo standard video. Questo membro è valido solo se dwFrameFlags specifica il flag KS_VBI_FLAG_VBIINFOHEADER_CHANGE.

Commenti

La struttura KS_VBI_FRAME_INFO consente di restituire informazioni su un frame acquisito, oltre a fornire informazioni di ottimizzazione ai decodificatori VBI.

Il conteggio dei membri PictureNumber rappresenta il conteggio dell'immagine corrente in base al formato utilizzato per aprire il flusso. Questo conteggio viene calcolato in uno dei due modi, a seconda del dispositivo:

  1. Misurare il tempo dall'avvio del flusso e dividere per la durata del frame. Questo metodo è appropriato per i dispositivi che non forniscono il proprio orologio. Ad esempio: PictureNumber = (CurrentStreamTime − StartStreamTime) / FrameDuration

  2. Sommare il numero di fotogrammi acquisiti e il numero di fotogrammi eliminati. Questo metodo è appropriato per i dispositivi che forniscono il proprio orologio. Ad esempio: PictureNumber = FramesCaptured + FramesDropped

Quando si calcola PictureNumber e DropCount, è importante usare la durata del fotogramma specificata all'apertura del flusso, che potrebbe non corrispondere necessariamente alla frequenza con cui il dispositivo sta effettivamente producendo immagini. Ad esempio, una fotocamera USB può produrre solo immagini a 7,5 fps, ma un client potrebbe aprire il flusso a 8 fps. In questo caso, tutti i calcoli devono usare il numero di 8 fps. Per altre informazioni sull'aggiornamento di PictureNumber e DropCount , vedere Acquisizione di video.

Il membro dwSamplingFrequency non viene usato dai codec VBI di Microsoft, ma può essere usato da altri codec WDM. Deve essere uguale a VBIInfoHeader. Membro SamplingFrequency . Un minidriver indica una modifica nella frequenza di campionamento impostando il bit KS_VBI_FLAG_VBIINFOHEADER_CHANGE nel membro dwFrameFlags e compilando tutti i membri, incluso dwSamplingFrequency, nella struttura VBIInfoHeader .

Requisiti

Requisito Valore
Intestazione ksmedia.h (include Ksmedia.h)

Vedi anche

KSSTREAM_HEADER

KS_TVTUNER_CHANGE_INFO

KS_VBIINFOHEADER