Compartir a través de


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.

Nota La mayoría de esta estructura está en desuso, a excepción de los siguientes miembros de estructura:
  • guid
  • VideoStandard
  • MinFrameInterval
  • MaxFrameInterval
Las aplicaciones pueden usar MinFrameInterval y MaxFrameInterval para obtener la gama de velocidades de fotogramas admitidas de un dispositivo de captura de vídeo. Las aplicaciones deben evitar el uso de cualquiera de los demás miembros de esta estructura. En su lugar, use la estructura AM_MEDIA_TYPE devuelta por el método IAMStreamConfig::GetFormat .
 

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.

Nota Obsoleto.
 

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 .

Nota Obsoleto.
 

MaxCroppingSize

Rectángulo de origen más grande permitido.

Nota Obsoleto.
 

CropGranularityX

Granularidad horizontal del rectángulo de origen. Este valor especifica los incrementos válidos entre MinCroppingSize y MaxCroppingSize.

Nota Obsoleto.
 

CropGranularityY

Granularidad vertical del rectángulo de origen. Este valor especifica los incrementos válidos entre MinCroppingSize y MaxCroppingSize.

Nota Obsoleto.
 

CropAlignX

Alineación horizontal necesaria del rectángulo de origen.

Nota Obsoleto.
 

CropAlignY

Alineación vertical necesaria del rectángulo de origen.

Nota Obsoleto.
 

MinOutputSize

Tamaño mínimo de salida.

Nota Obsoleto.
 

MaxOutputSize

Tamaño máximo de salida.

Nota Obsoleto.
 

OutputGranularityX

Granularidad del ancho de salida. Este valor especifica los incrementos que son válidos entre MinOutputSize y MaxOutputSize.

Nota Obsoleto.
 

OutputGranularityY

Granularidad del alto de salida. Este valor especifica los incrementos que son válidos entre MinOutputSize y MaxOutputSize.

Nota Obsoleto.
 

StretchTapsX

Indica qué tan bien el filtro puede estirar la imagen horizontalmente.

Nota Obsoleto.
 

StretchTapsY

Indica la forma en que el filtro puede estirar la imagen verticalmente.

Nota Obsoleto.
 

ShrinkTapsX

Indica la forma en que el filtro puede reducir horizontalmente la imagen.

Nota Obsoleto.
 

ShrinkTapsY

Indica la forma en que el filtro puede reducir verticalmente la imagen.

Nota Obsoleto.
 
Los cuatro miembros de estructura anteriores usan los siguientes valores:
Valor Significado
0
No admite el ajuste o la reducción.
1
Usa la duplicación de píxeles (extensión) o elimina píxeles (reducción)
2
Usa interpolación (2 pulsaciones)
3 y versiones posteriores
Usa interpolación (>2 pulsaciones)

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.

Nota Obsoleto.
 

MaxBitsPerSecond

Velocidad máxima de datos que este pin puede producir.

Nota Obsoleto.
 

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
Estos números definen el conjunto de rectángulos que son válidos para el miembro rcSource de la estructura VIDEOINFOHEADER o VIDEOINFOHEADER2 . En este ejemplo, el rectángulo de origen mínimo es de 160 píxeles de ancho x 120 píxeles de alto. El ancho se puede aumentar en pasos de 4 píxeles, hasta un máximo de 320. El alto se puede aumentar en pasos de 8 píxeles, hasta un máximo de 240. En otras palabras, los anchos válidos son 160, 164, 168 ... 320; y las alturas válidas son 120, 128, 136 ... 240.

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)
De forma similar, los miembros MinOutputSize, MaxOutputSize, OutputGranularityX y OutputGranularityY definen qué valores se admiten para los miembros biWidth y biHeight de la estructura BITMAPINFOHEADER .

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)

Consulte también

Estructuras directShow