Condividi tramite


KS_VIDEO_STREAM_CONFIG_CAPS struttura (ksmedia.h)

La struttura KS_VIDEO_STREAM_CONFIG_CAPS descrive la configurazione e le funzionalità di un flusso video, incluso lo standard video analogico (ad esempio, NTSC, PAL o SECAM), la scalabilità e le funzionalità di ritaglio; velocità minima e massima dei fotogrammi; e velocità minima e massima dei dati.

Sintassi

typedef struct _KS_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;
} KS_VIDEO_STREAM_CONFIG_CAPS, *PKS_VIDEO_STREAM_CONFIG_CAPS;

Members

guid

GUID che specifica il tipo di formato video. I valori possibili sono:

  • KSDATAFORMAT_SPECIFIER_VIDEOINFO

  • KSDATAFORMAT_SPECIFIER_VIDEOINFO2

  • KSDATAFORMAT_SPECIFIER_ANALOGVIDEO

  • KSDATAFORMAT_SPECIFIER_VBI

  • KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO

  • KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO

Questo GUID è identico all'enumerazione DirectShow AM_MEDIA_TYPE. Per altre informazioni su AM_MEDIA_TYPE, vedere la documentazione di DirectX SDK.

VideoStandard

Specifica gli standard video analogici supportati dal flusso. Questo membro può essere impostato su uno o più valori (logicamente ORed) dall'enumerazione KS_AnalogVideoStandard .

InputSize

Specifica le dimensioni del segnale in ingresso. InputSize indica la larghezza e l'altezza del rettangolo di immagine, in pixel. Questo è il segnale più grande che il filtro può digitalizzare con ogni pixel rimanente univoco.

MinCroppingSize

Specifica il rettangolo di ritaglio più piccolo consentito, come specificato nel membro rcSource della struttura KS_VIDEOINFOHEADER , associato al membro DataRange .

MaxCroppingSize

Specifica il rettangolo di ritaglio più grande consentito, come specificato nel membro rcSource della struttura KS_VIDEOINFOHEADER, associato al membro DataRange .

CropGranularityX

Specifica la granularità orizzontale delle dimensioni di ritaglio. Ad esempio, le larghezze valide possono essere specificate come anche più di quattro.

CropGranularityY

Specifica la granularità verticale delle dimensioni di ritaglio. Ad esempio, le altezze valide possono essere specificate come anche più di quattro.

CropAlignX

Specifica l'allineamento orizzontale del rettangolo di ritaglio all'interno di InputSize. Ad esempio, il minidriver potrebbe specificare che i rettangoli validi devono iniziare su un limite che è un multiplo di quattro.

CropAlignY

Specifica l'allineamento verticale del rettangolo di ritaglio all'interno di InputSize. Ad esempio, il minidriver potrebbe specificare che i rettangoli validi devono iniziare su un limite che è un multiplo di quattro.

MinOutputSize

Specifica la bitmap più piccola che questo pin può produrre.

MaxOutputSize

Specifica la bitmap più grande che questo pin può produrre.

OutputGranularityX

Specifica la granularità della larghezza bitmap di output.

OutputGranularityY

Specifica la granularità dell'altezza bitmap di output.

StretchTapsX

Specifica uno dei valori seguenti per indicare il modo in cui il filtro può estendere la larghezza dell'immagine.

Valore Significato
0 Impossibile estendere il filtro.
1 Il filtro usa il raddoppio dei pixel per ottenere l'estensione.
2 Il filtro usa l'interpolazione (2 tap).
3 Il filtro usa una forma di interpolazione più uniforme (più uniforme).

StretchTapsY

Specifica uno dei valori seguenti per indicare il modo in cui il filtro può estendere l'altezza dell'immagine.

Valore Significato
0 Impossibile estendere il filtro.
1 Il filtro usa il raddoppio dei pixel per ottenere l'estensione.
2 Il filtro usa l'interpolazione (2 tap).
3 Il filtro usa una forma di interpolazione più uniforme (più uniforme).

ShrinkTapsX

Specifica uno dei valori seguenti per indicare il modo in cui il filtro può ridurre la larghezza dell'immagine.

Valore Significato
0 Impossibile compattare il filtro.
1 Il filtro elimina alcune righe di pixel per ottenere la compattazione.
2 Il filtro usa l'interpolazione (2 tap).
3 Il filtro usa una forma di interpolazione più uniforme (più uniforme).

ShrinkTapsY

Specifica uno dei valori seguenti per indicare il modo in cui il filtro può ridurre l'altezza dell'immagine.

Valore Significato
0 Impossibile compattare il filtro.
1 Il filtro elimina alcune colonne di pixel per ottenere la compattazione.
2 Il filtro usa l'interpolazione (2 tap).
3 Il filtro usa una forma di interpolazione più uniforme (più uniforme).

MinFrameInterval

Specifica la frequenza minima di fotogrammi consentita. Questo valore si applica solo ai filtri di acquisizione.

MaxFrameInterval

Specifica la frequenza massima di fotogrammi consentita. Questo valore si applica solo ai filtri di acquisizione.

MinBitsPerSecond

Specifica la velocità minima dei dati, in bit al secondo, che questo pin può produrre.

MaxBitsPerSecond

Specifica la velocità massima dei dati, in bit al secondo, che questo pin può produrre.

Commenti

La struttura KS_VIDEO_STREAM_CONFIG_CAPS è identica alla struttura di VIDEO_STREAM_CONFIG_CAPS DirectShow.

È importante comprendere le relazioni tra i membri di questa struttura. Si supponga ad esempio i valori seguenti per alcuni dei membri della struttura:

MinCroppingSize = (160, 120)

MaxCroppingSize = (320, 240)

CropGranularityX = 4

CropGranularityY = 8

Questi valori indicano che le dimensioni di ritaglio valide iniziano a MinCroppingSize e aumentano nei passaggi nella direzione x di CropGranularityX e nella direzione y di CropGranularityY. In questo caso, il valore x può essere ovunque da 160 a 320 pixel, in passaggi di quattro e il valore y può essere ovunque da 120 a 240 pixel in passaggi di otto.

Nello scenario di esempio, alcune delle dimensioni valide sono:

  • 160 × 120, 164 × 120, 168 × 120, 172 × 120 e così via.

  • 160 × 128, 164 × 128, 168 × 128, 172 × 128 e così via.

  • 160 × 136, 164 × 136, 168 × 136, 172 × 136 e così via.

CropAlignX e CropAlignY indicano dove il rettangolo di ritaglio può trovarsi all'interno del rettangolo delle dimensioni di input. Dato un rettangolo di ritaglio 160 × 120 e un valore pari a 2 per CropAlignX e un valore pari a 4 per CropAlignY, alcuni dei valori validi per il membro rcSource della struttura KS_VIDEOINFOHEADER saranno:

  • (0, 0, 160, 120)

  • (2, 0, 162, 120)

  • (2, 4, 162, 124)

  • (2, 8, 162, 128)

Per un rettangolo di ritaglio 320 × 240 e gli stessi valori di allineamento ritaglio, (2, 4, 322, 244) è un esempio dei numerosi rettangoli validi.

I membri MinCroppingSize, MaxCroppingSize, CropGranularityX, CropGranularityY, CropAlignX e CropAlignY descritti in precedenza interagiscono per specificare quali valori di rcSource sono validi per la struttura KS_VIDEOINFOHEADER che descrive il tipo di supporto del pin di output. I membri della struttura rimanenti (MinOutputSize, MaxOutputSize, OutputGranularityX e OutputGranularityY) descrivono i membri biWidth e biHeight della struttura KS_BITMAPINFOHEADER , contenuto nel tipo di supporto del pin KS_VIDEOINFOHEADER struttura.

Requisiti

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

Vedi anche

KS_AnalogVideoStandard

KS_BITMAPINFOHEADER

KS_VIDEOINFOHEADER