Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La estructura 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 funcionalidades 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. Entre los valores posibles se incluyen:
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 la 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 de 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 de KS_VIDEOINFOHEADER, que está asociado al miembro de 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 podrían 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 puede producir este pin.
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 siguientes valores 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 la duplicación 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 siguientes valores para indicar la forma en que el filtro puede estirar el alto de la imagen.
Valor | Significado |
---|---|
0 | El filtro no se puede estirar. |
1 | El filtro usa la duplicación 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 siguientes valores 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 siguientes valores 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 máxima de fotogramas 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.
Observaciones
La estructura KS_VIDEO_STREAM_CONFIG_CAPS es idéntica a la estructura 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 los pasos de x-direction por CropGranularityX y en la dirección ypor CropGranularityY. En este caso, el x-value puede ser de 160 a 320 píxeles, en los pasos de cuatro, y el y-value puede ser desde 120 a 240 píxeles en los 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 indicar 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 × 160 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.
MinCroppingSize, MaxCroppingSize, CropGranularityX, CropGranularityY, CropAlignXy cropAlignY miembros tratados 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 la estructura restantes (MinOutputSize, MaxOutputSize, OutputGranularityXy OutputGranularityY) describen el biWidth y miembros biHeight de la estructura KS_BITMAPINFOHEADER, que se encuentra en el tipo de medio del pin KS_VIDEOINFOHEADER estructura.
Requisitos
Requisito | Valor |
---|---|
encabezado de | ksmedia.h (incluya Ksmedia.h) |