struttura VIDEO_STREAM_CONFIG_CAPS (strmif.h)
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
La struttura VIDEO_STREAM_CONFIG_CAPS descrive un intervallo di formati video. I filtri di compressione e acquisizione video usano questa struttura per descrivere i formati che possono produrre.
- guid
- VideoStandard
- MinFrameInterval
- MaxFrameInterval
Sintassi
typedef struct _VIDEO_STREAM_CONFIG_CAPS {
GUID guid;
ULONG VideoStandard;
SIZE InputSize;
SIZE MinCroppingSize;
SIZE MaxCroppingSize;
int CropGranularityX;
int CropGranularityY;
int CropAlignX;
int CropAlignY;
SIZE MinOutputSize;
SIZE MaxOutputSize;
int OutputGranularityX;
int OutputGranularityY;
int StretchTapsX;
int StretchTapsY;
int ShrinkTapsX;
int ShrinkTapsY;
LONGLONG MinFrameInterval;
LONGLONG MaxFrameInterval;
LONG MinBitsPerSecond;
LONG MaxBitsPerSecond;
} VIDEO_STREAM_CONFIG_CAPS;
Members
guid
GUID che identifica il tipo di formato. Ad esempio, FORMAT_VideoInfo o FORMAT_VideoInfo2. Per altre informazioni, vedere il membro formattype della struttura AM_MEDIA_TYPE .
VideoStandard
Standard video analogico supportato. Il valore è una combinazione bit per bit di flag dal tipo di enumerazione AnalogVideoStandard o zero.
InputSize
Dimensioni native del segnale video in ingresso. Per un compressore, la dimensione viene ricavata dal pin di input. Per un filtro di acquisizione, la dimensione è il segnale più grande che il filtro può digitalizzare con ogni pixel rimanente univoco.
MinCroppingSize
Rettangolo di origine più piccolo consentito. Il rettangolo di origine è definito nel membro rcSource della struttura VIDEOINFOHEADER o VIDEOINFOHEADER2 .
MaxCroppingSize
Rettangolo di origine più grande consentito.
CropGranularityX
Granularità orizzontale del rettangolo di origine. Questo valore specifica gli incrementi validi tra MinCroppingSize e MaxCroppingSize.
CropGranularityY
Granularità verticale del rettangolo di origine. Questo valore specifica gli incrementi validi tra MinCroppingSize e MaxCroppingSize.
CropAlignX
Allineamento orizzontale richiesto del rettangolo di origine.
CropAlignY
Allineamento verticale richiesto del rettangolo di origine.
MinOutputSize
Dimensioni minime dell'output.
MaxOutputSize
Dimensioni massime dell'output.
OutputGranularityX
Granularità della larghezza dell'output. Questo valore specifica gli incrementi validi tra MinOutputSize e MaxOutputSize.
OutputGranularityY
Granularità dell'altezza dell'output. Questo valore specifica gli incrementi validi tra MinOutputSize e MaxOutputSize.
StretchTapsX
Indica l'estensione orizzontale dell'immagine da parte del filtro.
StretchTapsY
Indica il grado di estensione verticale dell'immagine da parte del filtro.
ShrinkTapsX
Indica come il filtro può compattare l'immagine orizzontalmente.
ShrinkTapsY
Indica il grado di compattazione verticale dell'immagine da parte del filtro.
MinFrameInterval
Durata minima del fotogramma, in unità di 100 nanosecondi. Questo valore si applica solo ai filtri di acquisizione.
MaxFrameInterval
Durata massima del fotogramma, in unità di 100 nanosecondi. Questo valore si applica solo ai filtri di acquisizione.
MinBitsPerSecond
Velocità minima dei dati che questo pin può produrre.
MaxBitsPerSecond
Velocità massima dei dati che questo pin può produrre.
Commenti
Il metodo IAMStreamConfig::GetStreamCaps restituisce questa struttura. Un'applicazione può usare queste informazioni per modificare il formato di output in un filtro di compressione video o in un filtro di acquisizione video.
Si supponga, ad esempio, che il filtro restituisca i valori seguenti per il rettangolo di origine:
- MinCroppingSize = (160, 120)
- MaxCroppingSize = (320, 240)
- CropGranularityX = 4
- CropGranularityY = 8
- CropAlignX = 2
- CropAligny = 4
I membri CropAlignX e CropAlignY definiscono dove può sedersi l'angolo superiore sinistro del rettangolo di origine. Ad esempio, i rettangoli seguenti sono validi, in base ai valori precedenti:
- (0, 0, 160, 120)
- (2, 0, 162, 120)
- (2, 8, 162, 128)
Per i filtri di acquisizione, i membri MinFrameInterval e MaxFrameInterval definiscono la durata minima e massima di ogni fotogramma, come indicato nel membro AvgTimePerFrame della struttura VIDEOINFOHEADER o VIDEOINFOHEADER2 . Il filtro potrebbe non supportare ogni frequenza dei fotogrammi compresa tra questi due valori. Il metodo IAMStreamConfig::SetFormat imposterà la frequenza dei fotogrammi sul valore più vicino supportato dal filtro. Se SetFormat ha esito positivo, chiamare IAMStreamConfig::GetFormat per determinare la frequenza effettiva dei fotogrammi.
Requisiti
Intestazione | strmif.h (include Dshow.h) |