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:
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
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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per