estructura VIDEO_STREAM_CONFIG_CAPS (strmif.h)
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
La estructura de VIDEO_STREAM_CONFIG_CAPS describe una variedad de formatos de vídeo. Los filtros de captura de vídeo y compresión de vídeo usan esta estructura para describir qué formatos pueden producir.
- guid
- VideoStandard
- MinFrameInterval
- MaxFrameInterval
Sintaxis
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;
Miembros
guid
GUID que identifica el tipo de formato. Por ejemplo, FORMAT_VideoInfo o FORMAT_VideoInfo2. Para obtener más información, vea el miembro formattype de la estructura AM_MEDIA_TYPE .
VideoStandard
Se admite el estándar de vídeo analógico. El valor es una combinación bit a bit de marcas del tipo de enumeración AnalogVideoStandard o cero.
InputSize
Tamaño nativo de la señal de vídeo entrante. Para un compresor, el tamaño se toma del pin de entrada. Para un filtro de captura, el tamaño es la señal más grande que el filtro puede digitalizar con cada píxel restante único.
MinCroppingSize
Rectángulo de origen más pequeño permitido. El rectángulo de origen se define en el miembro rcSource de la estructura VIDEOINFOHEADER o VIDEOINFOHEADER2 .
MaxCroppingSize
Rectángulo de origen más grande permitido.
CropGranularityX
Granularidad horizontal del rectángulo de origen. Este valor especifica los incrementos válidos entre MinCroppingSize y MaxCroppingSize.
CropGranularityY
Granularidad vertical del rectángulo de origen. Este valor especifica los incrementos válidos entre MinCroppingSize y MaxCroppingSize.
CropAlignX
Alineación horizontal necesaria del rectángulo de origen.
CropAlignY
Alineación vertical necesaria del rectángulo de origen.
MinOutputSize
Tamaño mínimo de salida.
MaxOutputSize
Tamaño máximo de salida.
OutputGranularityX
Granularidad del ancho de salida. Este valor especifica los incrementos que son válidos entre MinOutputSize y MaxOutputSize.
OutputGranularityY
Granularidad del alto de salida. Este valor especifica los incrementos que son válidos entre MinOutputSize y MaxOutputSize.
StretchTapsX
Indica qué tan bien el filtro puede estirar la imagen horizontalmente.
StretchTapsY
Indica la forma en que el filtro puede estirar la imagen verticalmente.
ShrinkTapsX
Indica la forma en que el filtro puede reducir horizontalmente la imagen.
ShrinkTapsY
Indica la forma en que el filtro puede reducir verticalmente la imagen.
MinFrameInterval
Duración mínima del fotograma, en unidades de 100 nanosegundos. Este valor solo se aplica a los filtros de captura.
MaxFrameInterval
Duración máxima del fotograma, en unidades de 100 nanosegundos. Este valor solo se aplica a los filtros de captura.
MinBitsPerSecond
Velocidad mínima de datos que este pin puede producir.
MaxBitsPerSecond
Velocidad máxima de datos que este pin puede producir.
Observaciones
El método IAMStreamConfig::GetStreamCaps devuelve esta estructura. Una aplicación puede usar esta información para modificar el formato de salida en un filtro de compresión de vídeo o un filtro de captura de vídeo.
Por ejemplo, supongamos que el filtro devuelve los siguientes valores para el rectángulo de origen:
- MinCroppingSize = (160, 120)
- MaxCroppingSize = (320, 240)
- CropGranularityX = 4
- CropGranularityY = 8
- CropAlignX = 2
- CropAlignY = 4
Los miembros CropAlignX y CropAlignY definen dónde se puede sentar la esquina superior izquierda del rectángulo de origen. Por ejemplo, los rectángulos siguientes son válidos, dados los valores anteriores:
- (0, 0, 160, 120)
- (2, 0, 162, 120)
- (2, 8, 162, 128)
Para los filtros de captura, los miembros MinFrameInterval y MaxFrameInterval definen la duración mínima y máxima de cada fotograma, como se indica en el miembro AvgTimePerFrame de la estructura VIDEOINFOHEADER o VIDEOINFOHEADER2 . Es posible que el filtro no admita todas las velocidades de fotogramas que se encuentren entre estos dos valores. El método IAMStreamConfig::SetFormat establecerá la velocidad de fotogramas en el valor más cercano que admite el filtro. Si SetFormat se realiza correctamente, llame a IAMStreamConfig::GetFormat para determinar la velocidad de fotogramas real.
Requisitos
Encabezado | strmif.h (incluye Dshow.h) |