Partager via


structure KS_VIDEO_STREAM_CONFIG_CAPS (ksmedia.h)

La structure KS_VIDEO_STREAM_CONFIG_CAPS décrit la configuration et les fonctionnalités d’un flux vidéo, y compris les fonctionnalités vidéo analogique standard (par exemple, NTSC, PAL ou SECAM), la mise à l’échelle et les fonctionnalités de rognage ; les fréquences d’images minimales et maximales ; et les débits de données minimaux et maximaux.

Syntaxe

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;

Membres

guid

GUID qui spécifie le type de format vidéo. Les valeurs possibles incluent :

  • KSDATAFORMAT_SPECIFIER_VIDEOINFO

  • KSDATAFORMAT_SPECIFIER_VIDEOINFO2

  • KSDATAFORMAT_SPECIFIER_ANALOGVIDEO

  • KSDATAFORMAT_SPECIFIER_VBI

  • KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO

  • KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO

Ce GUID est identique à l’énumération DirectShow AM_MEDIA_TYPE. Pour plus d’informations sur AM_MEDIA_TYPE, consultez la documentation du Kit de développement logiciel (SDK) DirectX.

VideoStandard

Spécifie les normes vidéo analogiques prises en charge par le flux. Ce membre peut être défini sur une ou plusieurs valeurs (logiquement ORed) de l’énumération KS_AnalogVideoStandard .

InputSize

Spécifie la taille du signal entrant. InputSize indique la largeur et la hauteur du rectangle d’image, en pixels. Il s’agit du plus grand signal que le filtre peut numériser, chaque pixel restant unique.

MinCroppingSize

Spécifie le plus petit rectangle de rognage autorisé, comme spécifié dans le membre rcSource de la structure KS_VIDEOINFOHEADER , qui est associé au membre DataRange .

MaxCroppingSize

Spécifie le plus grand rectangle de rognage autorisé, comme spécifié dans le membre rcSource de la structure KS_VIDEOINFOHEADER, qui est associé au membre DataRange .

CropGranularityX

Spécifie la granularité horizontale de la taille de rognage. Par exemple, les largeurs valides peuvent être spécifiées sous forme de multiples de quatre.

CropGranularityY

Spécifie la granularité verticale de la taille de rognage. Par exemple, les hauteurs valides peuvent être spécifiées sous la forme de multiples de quatre.

CropAlignX

Spécifie l’alignement horizontal du rectangle de rognage à l’intérieur d’InputSize. Par exemple, le minidriver peut spécifier que les rectangles valides doivent démarrer sur une limite qui est un multiple de quatre.

CropAlignY

Spécifie l’alignement vertical du rectangle de rognage à l’intérieur d’InputSize. Par exemple, le minidriver peut spécifier que les rectangles valides doivent démarrer sur une limite qui est un multiple de quatre.

MinOutputSize

Spécifie la plus petite bitmap que cette broche peut produire.

MaxOutputSize

Spécifie la plus grande bitmap que cette broche peut produire.

OutputGranularityX

Spécifie la granularité de la largeur de l’image bitmap de sortie.

OutputGranularityY

Spécifie la granularité de la hauteur bitmap de sortie.

StretchTapsX

Spécifie l’une des valeurs suivantes pour indiquer dans quelle mesure le filtre peut étirer la largeur de l’image.

Valeur Signification
0 Le filtre ne peut pas s’étirer.
1 Le filtre utilise le doublement de pixels pour obtenir l’étirement.
2 Le filtre utilise l’interpolation (2 clics).
3 Le filtre utilise une forme d’interpolation d’ordre supérieur (plus lisse).

StretchTapsY

Spécifie l’une des valeurs suivantes pour indiquer dans quelle mesure le filtre peut étirer la hauteur de l’image.

Valeur Signification
0 Le filtre ne peut pas s’étirer.
1 Le filtre utilise le doublement de pixels pour obtenir l’étirement.
2 Le filtre utilise l’interpolation (2 clics).
3 Le filtre utilise une forme d’interpolation d’ordre supérieur (plus lisse).

ShrinkTapsX

Spécifie l’une des valeurs suivantes pour indiquer dans quelle mesure le filtre peut réduire la largeur de l’image.

Valeur Signification
0 Le filtre ne peut pas être réduit.
1 Le filtre élimine certaines lignes de pixels pour obtenir une réduction.
2 Le filtre utilise l’interpolation (2 clics).
3 Le filtre utilise une forme d’interpolation d’ordre supérieur (plus lisse).

ShrinkTapsY

Spécifie l’une des valeurs suivantes pour indiquer dans quelle mesure le filtre peut réduire la hauteur de l’image.

Valeur Signification
0 Le filtre ne peut pas être réduit.
1 Le filtre élimine certaines colonnes de pixels pour obtenir une réduction.
2 Le filtre utilise l’interpolation (2 clics).
3 Le filtre utilise une forme d’interpolation d’ordre supérieur (plus lisse).

MinFrameInterval

Spécifie la fréquence d’images minimale autorisée. Cette valeur s’applique uniquement aux filtres de capture.

MaxFrameInterval

Spécifie la fréquence d’images maximale autorisée. Cette valeur s’applique uniquement aux filtres de capture.

MinBitsPerSecond

Spécifie le débit de données minimal, en bits par seconde, que cette broche peut produire.

MaxBitsPerSecond

Spécifie le débit de données maximal, en bits par seconde, que cette broche peut produire.

Remarques

La structure KS_VIDEO_STREAM_CONFIG_CAPS est identique à la structure VIDEO_STREAM_CONFIG_CAPS DirectShow.

Il est important de comprendre les relations entre les membres de cette structure. Par exemple, supposons les valeurs suivantes pour certains des membres de la structure :

MinCroppingSize = (160, 120)

MaxCroppingSize = (320, 240)

CropGranularityX = 4

CropGranularityY = 8

Ces valeurs indiquent que les tailles de rognage valides commencent à MinCroppingSize et augmentent dans la direction x par CropGranularityX et dans la direction y par CropGranularityY. Dans ce cas, la valeur x peut être comprise entre 160 et 320 pixels, par étapes de quatre, et la valeur y peut être comprise entre 120 et 240 pixels par étapes de huit.

Dans l’exemple de scénario, quelques-unes des tailles valides sont les suivantes :

  • 160 × 120, 164 × 120, 168 × 120, 172 × 120, etc.

  • 160 × 128, 164 × 128, 168 × 128, 172 × 128, etc.

  • 160 × 136, 164 × 136, 168 × 136, 172 × 136, etc.

CropAlignX et CropAlignY indiquent où le rectangle de rognage peut se trouver à l’intérieur du rectangle de taille d’entrée. Avec un rectangle de rognage 160 × 120 et une valeur de 2 pour CropAlignX et une valeur de 4 pour CropAlignY, certaines des valeurs valides pour le membre rcSource de la structure KS_VIDEOINFOHEADER seraient les suivantes :

  • (0, 0, 160, 120)

  • (2, 0, 162, 120)

  • (2, 4, 162, 124)

  • (2, 8, 162, 128)

Pour un rectangle de rognage 320 × 240 et les mêmes valeurs d’alignement de rognage, (2, 4, 322, 244) est un exemple des nombreux rectangles valides.

Les membres MinCroppingSize, MaxCroppingSize, CropGranularityX, CropGranularityY, CropAlignX et CropAlignY décrits ci-dessus fonctionnent ensemble pour spécifier les valeurs de rcSource valides pour la structure KS_VIDEOINFOHEADER qui décrit le type de média de la broche de sortie. Les membres de structure restants (MinOutputSize, MaxOutputSize, OutputGranularityX et OutputGranularityY) décrivent les membres biWidth et biHeight de la structure KS_BITMAPINFOHEADER , qui est contenue dans le type de média de l’épingle KS_VIDEOINFOHEADER structure.

Configuration requise

Condition requise Valeur
En-tête ksmedia.h (incluez Ksmedia.h)

Voir aussi

KS_AnalogVideoStandard

KS_BITMAPINFOHEADER

KS_VIDEOINFOHEADER