Condividi tramite


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.

Nota La maggior parte di questa struttura è deprecata, ad eccezione dei membri della struttura seguenti:
  • guid
  • VideoStandard
  • MinFrameInterval
  • MaxFrameInterval
Le applicazioni possono usare MinFrameInterval e MaxFrameInterval per ottenere l'intervallo di frequenze di fotogrammi supportate da un dispositivo di acquisizione video. Le applicazioni devono evitare di usare uno qualsiasi degli altri membri di questa struttura. Usare invece la struttura AM_MEDIA_TYPE restituita dal metodo IAMStreamConfig::GetFormat .
 

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.

Nota Deprecato.
 

MinCroppingSize

Rettangolo di origine più piccolo consentito. Il rettangolo di origine è definito nel membro rcSource della struttura VIDEOINFOHEADER o VIDEOINFOHEADER2 .

Nota Deprecato.
 

MaxCroppingSize

Rettangolo di origine più grande consentito.

Nota Deprecato.
 

CropGranularityX

Granularità orizzontale del rettangolo di origine. Questo valore specifica gli incrementi validi tra MinCroppingSize e MaxCroppingSize.

Nota Deprecato.
 

CropGranularityY

Granularità verticale del rettangolo di origine. Questo valore specifica gli incrementi validi tra MinCroppingSize e MaxCroppingSize.

Nota Deprecato.
 

CropAlignX

Allineamento orizzontale richiesto del rettangolo di origine.

Nota Deprecato.
 

CropAlignY

Allineamento verticale richiesto del rettangolo di origine.

Nota Deprecato.
 

MinOutputSize

Dimensioni minime dell'output.

Nota Deprecato.
 

MaxOutputSize

Dimensioni massime dell'output.

Nota Deprecato.
 

OutputGranularityX

Granularità della larghezza dell'output. Questo valore specifica gli incrementi validi tra MinOutputSize e MaxOutputSize.

Nota Deprecato.
 

OutputGranularityY

Granularità dell'altezza dell'output. Questo valore specifica gli incrementi validi tra MinOutputSize e MaxOutputSize.

Nota Deprecato.
 

StretchTapsX

Indica l'estensione orizzontale dell'immagine da parte del filtro.

Nota Deprecato.
 

StretchTapsY

Indica il grado di estensione verticale dell'immagine da parte del filtro.

Nota Deprecato.
 

ShrinkTapsX

Indica come il filtro può compattare l'immagine orizzontalmente.

Nota Deprecato.
 

ShrinkTapsY

Indica il grado di compattazione verticale dell'immagine da parte del filtro.

Nota Deprecato.
 
I quattro membri della struttura precedenti usano i valori seguenti:
Valore Significato
0
Non supporta l'estensione/compattazione.
1
Usa il raddoppio dei pixel (estensione) o elimina i pixel (compattazione)
2
Usa l'interpolazione (2 tap)
3 e versioni successive
Usa l'interpolazione (>2 tap)

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.

Nota Deprecato.
 

MaxBitsPerSecond

Velocità massima dei dati che questo pin può produrre.

Nota Deprecato.
 

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
Questi numeri definiscono il set di rettangoli validi per il membro rcSource della struttura VIDEOINFOHEADER o VIDEOINFOHEADER2 . In questo esempio, il rettangolo di origine minimo è di 160 pixel di larghezza x 120 pixel di altezza. La larghezza può essere aumentata in passaggi di 4 pixel, fino a un massimo di 320. L'altezza può essere aumentata in passaggi di 8 pixel, fino a un massimo di 240. In altre parole, le larghezze valide sono 160, 164, 168 ... 320; e le altezze valide sono 120, 128, 136 ... 240.

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)
In modo analogo, i membri MinOutputSize, MaxOutputSize, OutputGranularityX e OutputGranularityY definiscono quali valori sono supportati per i membri biWidth e biHeight della struttura BITMAPINFOHEADER .

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)

Vedi anche

Strutture DirectShow