estructura KS_VIDEO_STREAM_CONFIG_CAPS (ksmedia.h)

La estructura de KS_VIDEO_STREAM_CONFIG_CAPS describe la configuración y las capacidades de una secuencia de vídeo, incluido el estándar de vídeo analógico (por ejemplo, NTSC, PAL o SECAM), el escalado y las capacidades de recorte; velocidades de fotogramas mínimas y máximas; y velocidades de datos mínimas y máximas.

Sintaxis

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;

Miembros

guid

GUID que especifica el tipo de formato de vídeo. Los valores posibles son:

  • KSDATAFORMAT_SPECIFIER_VIDEOINFO

  • KSDATAFORMAT_SPECIFIER_VIDEOINFO2

  • KSDATAFORMAT_SPECIFIER_ANALOGVIDEO

  • KSDATAFORMAT_SPECIFIER_VBI

  • KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO

  • KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO

Este GUID es idéntico a la enumeración directShow AM_MEDIA_TYPE. Para obtener más información sobre AM_MEDIA_TYPE, consulte la documentación del SDK de DirectX.

VideoStandard

Especifica los estándares de vídeo analógicos admitidos por la secuencia. Este miembro se puede establecer en uno o varios valores (lógicamente ORed) de la enumeración KS_AnalogVideoStandard .

InputSize

Especifica el tamaño de la señal entrante. InputSize indica el ancho y alto del rectángulo de imagen, en píxeles. Esta es la señal más grande que el filtro puede digitalizar con cada píxel restante único.

MinCroppingSize

Especifica el rectángulo de recorte más pequeño permitido, tal como se especifica en el miembro rcSource de la estructura KS_VIDEOINFOHEADER , que está asociado al miembro DataRange .

MaxCroppingSize

Especifica el rectángulo de recorte más grande permitido, tal como se especifica en el miembro rcSource de la estructura KS_VIDEOINFOHEADER, que está asociado al miembro DataRange .

CropGranularityX

Especifica la granularidad horizontal del tamaño de recorte. Por ejemplo, se pueden especificar anchos válidos como incluso múltiplo de cuatro.

CropGranularityY

Especifica la granularidad vertical del tamaño de recorte. Por ejemplo, se pueden especificar alturas válidas como incluso múltiplo de cuatro.

CropAlignX

Especifica la alineación horizontal del rectángulo de recorte dentro de InputSize. Por ejemplo, el minidriver podría especificar que los rectángulos válidos deben iniciarse en un límite que sea un múltiplo de cuatro.

CropAlignY

Especifica la alineación vertical del rectángulo de recorte dentro de InputSize. Por ejemplo, el minidriver podría especificar que los rectángulos válidos deben iniciarse en un límite que sea un múltiplo de cuatro.

MinOutputSize

Especifica el mapa de bits más pequeño que este pin puede producir.

MaxOutputSize

Especifica el mapa de bits más grande que este pin puede producir.

OutputGranularityX

Especifica la granularidad del ancho del mapa de bits de salida.

OutputGranularityY

Especifica la granularidad del alto del mapa de bits de salida.

StretchTapsX

Especifica uno de los valores siguientes para indicar cómo el filtro puede ajustar el ancho de la imagen.

Valor Significado
0 El filtro no se puede estirar.
1 El filtro usa el doble de píxeles para lograr el ajuste.
2 El filtro usa interpolación (2 pulsaciones).
3 El filtro usa una forma de interpolación de orden superior (más suave).

StretchTapsY

Especifica uno de los valores siguientes para indicar cómo el filtro puede ajustar el alto de la imagen.

Valor Significado
0 El filtro no se puede estirar.
1 El filtro usa el doble de píxeles para lograr el ajuste.
2 El filtro usa interpolación (2 pulsaciones).
3 El filtro usa una forma de interpolación de orden superior (más suave).

ShrinkTapsX

Especifica uno de los valores siguientes para indicar cómo el filtro puede reducir el ancho de la imagen.

Valor Significado
0 El filtro no se puede reducir.
1 El filtro elimina algunas filas de píxeles para lograr la reducción.
2 El filtro usa interpolación (2 pulsaciones).
3 El filtro usa una forma de interpolación de orden superior (más suave).

ShrinkTapsY

Especifica uno de los valores siguientes para indicar cómo el filtro puede reducir el alto de la imagen.

Valor Significado
0 El filtro no se puede reducir.
1 El filtro elimina algunas columnas de píxeles para lograr la reducción.
2 El filtro usa interpolación (2 pulsaciones).
3 El filtro usa una forma de interpolación de orden superior (más suave).

MinFrameInterval

Especifica la velocidad de fotogramas mínima permitida. Este valor solo se aplica a los filtros de captura.

MaxFrameInterval

Especifica la velocidad de fotogramas máxima permitida. Este valor solo se aplica a los filtros de captura.

MinBitsPerSecond

Especifica la velocidad de datos mínima, en bits por segundo, que este pin puede producir.

MaxBitsPerSecond

Especifica la velocidad de datos máxima, en bits por segundo, que este pin puede producir.

Comentarios

La estructura de KS_VIDEO_STREAM_CONFIG_CAPS es idéntica a la estructura de VIDEO_STREAM_CONFIG_CAPS DirectShow.

Es importante comprender las relaciones entre los miembros de esta estructura. Por ejemplo, supongamos los siguientes valores para algunos de los miembros de la estructura:

MinCroppingSize = (160, 120)

MaxCroppingSize = (320, 240)

CropGranularityX = 4

CropGranularityY = 8

Estos valores indican que los tamaños de recorte válidos comienzan en MinCroppingSize y aumentan en pasos en la dirección x por CropGranularityX y en la dirección y por CropGranularityY. En este caso, el valor x puede ser de 160 a 320 píxeles, en los pasos de cuatro, y el valor y puede estar en cualquier lugar de 120 a 240 píxeles en pasos de ocho.

En el escenario de ejemplo, algunos de los tamaños válidos son:

  • 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 y CropAlignY indican dónde se puede ubicar el rectángulo de recorte dentro del rectángulo de tamaño de entrada. Dado un rectángulo de recorte de 160 × 120 y un valor de 2 para CropAlignX y un valor de 4 para CropAlignY, algunos de los valores válidos para el miembro rcSource de la estructura KS_VIDEOINFOHEADER serían:

  • (0, 0, 160, 120)

  • (2, 0, 162, 120)

  • (2, 4, 162, 124)

  • (2, 8, 162, 128)

Para un rectángulo de recorte de 320 × 240 y los mismos valores de alineación de recorte, (2, 4, 322, 244) es un ejemplo de los muchos rectángulos válidos.

Los miembros MinCroppingSize, MaxCroppingSize, CropGranularityX, CropGranularityY, CropAlignX y CropAlignY descritos anteriormente funcionan juntos para especificar qué valores de rcSource son válidos para la estructura de KS_VIDEOINFOHEADER que describe el tipo de medio del pin de salida. Los miembros de estructura restantes (MinOutputSize, MaxOutputSize, OutputGranularityX y OutputGranularityY) describen los miembros biWidth y biHeight de la estructura KS_BITMAPINFOHEADER , que se encuentra en el tipo de medio del pin KS_VIDEOINFOHEADER estructura.

Requisitos

Requisito Valor
Header ksmedia.h (incluya Ksmedia.h)

Consulte también

KS_AnalogVideoStandard

KS_BITMAPINFOHEADER

KS_VIDEOINFOHEADER