KS_VIDEOINFOHEADER2 estructura (ksmedia.h)

La KS_VIDEOINFOHEADER2 describe los detalles de una secuencia de vídeo, incluida la configuración de bob o tejido, la protección de copia y la relación de aspecto de píxeles.

Sintaxis

typedef struct tagKS_VIDEOINFOHEADER2 {
  RECT                rcSource;
  RECT                rcTarget;
  DWORD               dwBitRate;
  DWORD               dwBitErrorRate;
  REFERENCE_TIME      AvgTimePerFrame;
  DWORD               dwInterlaceFlags;
  DWORD               dwCopyProtectFlags;
  DWORD               dwPictAspectRatioX;
  DWORD               dwPictAspectRatioY;
  union {
    DWORD dwControlFlags;
    DWORD dwReserved1;
  };
  DWORD               dwReserved2;
  KS_BITMAPINFOHEADER bmiHeader;
} KS_VIDEOINFOHEADER2, *PKS_VIDEOINFOHEADER2;

Miembros

rcSource

Especifica un rectángulo de recorte que selecciona la parte de la señal de vídeo activa que se usará.

rcTarget

Especifica un rectángulo que indica qué parte del búfer de destino se va a usar.

dwBitRate

Especifica un valor que indica la velocidad de datos adecuada de la secuencia de vídeo, en bits por segundo.

dwBitErrorRate

Especifica un valor que indica la tasa de errores de datos de la secuencia de vídeo, en errores de bits por segundo.

AvgTimePerFrame

Especifica el tiempo medio por fotograma, en unidades de 100 nanosegundos.

dwInterlaceFlags

Especifica información de interlace. Las marcas no definidas deben establecerse en cero o se puede rechazar la conexión. Este miembro se puede establecer en uno o varios valores (OR lógicos) definidos en ksmedia.h:

Marca Descripción
KS_INTERLACE_IsInterlaced Indica una secuencia de interlace. Si es 0, el resto de KS_INTERLACE_Xxx bits son irrelevantes.
KS_INTERLACE_1FieldPerSample Indica un campo por ejemplo de medios. Si es cero, indica dos campos por ejemplo multimedia.
KS_INTERLACE_Field1First Indica que el campo 1 es el primero. Si es cero, indica que el campo 2 es el primero. El campo superior de PAL es El campo 1, el campo superior de ÁLISIS es el campo 2.
KS_INTERLACE_UNUSED No utilizado
KS_INTERLACE_FieldPatternMask Indica los bits usados para especificar el patrón de campo.
KS_INTERLACE_FieldPatField1Only Indica que una secuencia nunca contiene un campo 2.
KS_INTERLACE_FieldPatField2Only Indica que una secuencia nunca contiene un campo 1.
KS_INTERLACE_FieldPatBothRegular Indica que habrá un campo 2 para cada campo 1.
KS_INTERLACE_FieldPatBothIrregular Indica un patrón aleatorio de campos 1 y 2.
KS_INTERLACE_DisplayModeMask No es válido para la captura de vídeo.
KS_INTERLACE_DisplayModeBobOnly No es válido para la captura de vídeo.
KS_INTERLACE_DisplayModeWeaveOnly No es válido para la captura de vídeo.
KS_INTERLACE_DisplayModeBobOrWeave No es válido para la captura de vídeo.

dwCopyProtectFlags

Especifica un valor KSCOPYPROTECTRestrictDuplication (0x00000001) para indicar si se debe restringir la duplicación de una secuencia. Si no está definido, especifique cero o se rechazará la conexión.

dwPictAspectRatioX

Especifica la dimensión x de la relación imagen-aspecto (por ejemplo, 16 para una pantalla de 16 × 9). El valor se expresa en pulgadas por pulgadas, no en píxeles por píxeles.

dwPictAspectRatioY

Especifica la dimensión y de la relación de aspecto de la imagen (por ejemplo, 9 para 16 × 9). El valor se expresa en pulgadas por pulgadas, no en píxeles por píxeles.

dwControlFlags

En sistemas operativos anteriores a Windows Vista, este miembro se denominaba dwReserved1 y era necesario que fuera cero. En Windows Vista, dwReserved1 se combinó en una unión con un nuevo miembro denominado dwControlFlags. Si se usa, dwControlFlags contiene un OR bit a bit de las marcas de la tabla siguiente.

Valor Descripción
AMCONTROL_USED Indica que se usan las marcas dwControlFlags .
AMCONTROL_PAD_TO_4x3 La imagen debe agregarse y mostrarse en un área de 4 x 3.
AMCONTROL_PAD_TO_16x9 La imagen debe agregarse y mostrarse en un área de 16 x 9.
AMCONTROL_COLORINFO_PRESENT La información de color adicional se encuentra en los 24 bits superiores del campo dwControlFlags .

La marca AMCONTROL_USED proporciona compatibilidad con versiones anteriores con filtros anteriores. Si no AMCONTROL_USED marca, se deben omitir los bits restantes de este campo. Si un filtro usa cualquier otra marca, debe establecer el AMCONTROL_USED marca.

Los descodificadores AMCONTROL_PAD_xxx usan las dos marcas de AMCONTROL_PAD_xxx para determinar la relación de aspecto del rectángulo de salida.

Si se AMCONTROL_COLORINFO_PRESENT marca, significa que los 24 bits superiores del campo dwControlFlags se tratan como una DXVA_ExtendedFormat estructura.

Vea la sección Comentarios más adelante en este tema para obtener más información sobre dwControlFlags.

dwReserved1

Este miembro es por compatibilidad con versiones anteriores. Consulte dwControlFlags para obtener más información.

dwReserved2

Reservado para uso del sistema. Debe establecerse en cero o se rechazará la conexión.

bmiHeader

Indica una estructura de KS_BITMAPINFOHEADER que contiene información de color y dimensión para el mapa de bits de la imagen de vídeo.

Comentarios

Para describir una secuencia de vídeo sin configuración de bob o tejido, use KS_VIDEOINFOHEADER.

La KS_VIDEOINFOHEADER2 estructura es idéntica a la estructura DirectShow VIDEOINFOHEADER2.

Los minidriveres de captura que generan campos de vídeo (en lugar de fotogramas) deben usar la estructura KS_DATARANGE_VIDEO2, que contiene la estructura KS_VIDEOINFOHEADER2 vídeo.

Un filtro de origen puede solicitar que el filtro receptor tome solo una sección del vídeo proporcionando valores que definan eficazmente un rectángulo de recorte en el miembro rcSource . Sin embargo, si el filtro de receptor no comprueba el rectángulo de recorte en la conexión, el filtro receptor simplemente representa todo el vídeo, omitiendo eficazmente cualquier información de recorte que se pasa desde el filtro de origen al filtro receptor.

Idealmente, un filtro de receptor comprueba rcSource y, si el filtro receptor no admite la extracción de imágenes y el rectángulo no está vacío, rechaza la conexión. Un filtro debe usar la función SetRectEmpty de Win32 para restablecer un rectángulo a todos los ceros (y establecer IsRectEmpty para comprobarlo más adelante).

El miembro rcTarget especifica el rectángulo de destino del vídeo. La mayoría de los filtros de origen establecen este miembro en todos los ceros. Un filtro de nivel inferior puede solicitar que el vídeo se coloque en un área determinada de los búferes que proporciona. En este caso, llama a la función Win32 QueryAccept con un destino que no está en blanco.

Si la AMCONTROL_COLORINFO_PRESENT se establece en el miembro dwControlFlags , puede convertir el valor dwControlFlags en una estructura DXVA_ExtendedFormat para tener acceso a la información de color extendida. Para obtener más información, vea VIDEOINFOHEADER2.

Requisitos

   
Encabezado ksmedia.h (incluir Ksmedia.h)

Consulte también

KS_BITMAPINFOHEADER

KS_DATARANGE_VIDEO2

KS_VIDEOINFOHEADER