estructura KS_VBI_FRAME_INFO (ksmedia.h)
La estructura KS_VBI_FRAME_INFO extiende la estructura de KSSTREAM_HEADER para flujos de intervalo en blanco vertical (VBI).
Sintaxis
typedef struct tagKS_VBI_FRAME_INFO {
ULONG ExtendedHeaderSize;
DWORD dwFrameFlags;
LONGLONG PictureNumber;
LONGLONG DropCount;
DWORD dwSamplingFrequency;
KS_TVTUNER_CHANGE_INFO TvTunerChangeInfo;
KS_VBIINFOHEADER VBIInfoHeader;
} KS_VBI_FRAME_INFO, *PKS_VBI_FRAME_INFO;
Miembros
ExtendedHeaderSize
Especifica el tamaño de esta estructura.
dwFrameFlags
Especifica marcas que indican información adicional sobre el marco capturado. Durante la captura, el minidriver establece este miembro en uno de los siguientes valores definidos en ksmedia.h:
Marca | Significado |
---|---|
KS_VBI_FLAG_FIELD1 | Indica el primer campo de una secuencia de dos campos. |
KS_VBI_FLAG_FIELD2 | Indica el segundo campo de una secuencia de dos campos. |
KS_VBI_FLAG_MV_PRESENT | Indica el esquema de protección de Macrovision |
KS_VBI_FLAG_MV_HARDWARE | Indica la compatibilidad con hardware de Macrovision. |
KS_VBI_FLAG_MV_DETECTED | Indica que se detectó macrovision |
KS_VBI_FLAG_TVTUNER_CHANGE | Indica que la estructura de miembros TvTunerChangeInfo contiene datos válidos. |
KS_VBI_FLAG_VBIINFOHEADER_CHANGE | Indica que la estructura de miembros VBIInfoHeader contiene datos válidos. |
PictureNumber
Especifica un recuento que representa el número de imagen actual. Inicialice o actualice este valor en la transición a KSSTATE_ACQUIRE.
DropCount
Especifica el número de imágenes que no se capturaron. Al capturar vídeo, el minidriver establece este miembro. Este contador debe incrementarse siempre que se deba capturar un marco, pero no lo era; esta condición suele surgir cuando no había búferes disponibles durante la captura. Inicialice o actualice este valor en la transición a KSSTATE_ACQUIRE.
dwSamplingFrequency
Especifica la frecuencia de muestreo en hercios (Hz).
TvTunerChangeInfo
Especifica información sobre el origen de datos VBI actual, incluido el código de país o región, el estándar de vídeo analógico y el canal. Este miembro solo es válido si dwFrameFlags especifica la marca KS_VBI_FLAG_TVTUNER_CHANGE.
VBIInfoHeader
Especifica información sobre el origen de datos VBI actual, incluida la línea de inicio, la línea final, la frecuencia de muestreo y el estándar de vídeo. Este miembro solo es válido si dwFrameFlags especifica la marca KS_VBI_FLAG_VBIINFOHEADER_CHANGE.
Comentarios
La estructura de KS_VBI_FRAME_INFO proporciona una manera de devolver información sobre un marco capturado, así como proporcionar información de optimización a los descodificadores de VBI.
El recuento de miembros PictureNumber representa el recuento de la imagen actual en función del formato usado para abrir la secuencia. Este recuento se calcula de una de estas dos maneras, dependiendo del dispositivo:
Mida el tiempo desde que se inició la secuencia y divida por la duración del fotograma. Este método es adecuado para los dispositivos que no proporcionan su propio reloj. Por ejemplo: PictureNumber = (CurrentStreamTime − StartStreamTime) / FrameDuration
Agregue el recuento de fotogramas capturados y el recuento de fotogramas quitados. Este método es adecuado para los dispositivos que proporcionan su propio reloj. Por ejemplo: PictureNumber = FramesCaptured + FramesDropped
Al calcular PictureNumber y DropCount, es importante usar la duración del fotograma especificada cuando se abrió la secuencia, lo que puede no coincidir necesariamente con la velocidad a la que el dispositivo está produciendo imágenes realmente. Por ejemplo, una cámara USB solo puede producir imágenes a 7,5 fps, pero un cliente podría abrir la secuencia a 8 fps. En este caso, todos los cálculos deben usar el número de 8 fps. Para obtener más información sobre cómo actualizar PictureNumber y DropCount , consulte Captura de vídeo.
El miembro dwSamplingFrequency no lo usan los códecs VBI de Microsoft, pero otros códecs WDM pueden usarse. Debe ser el mismo que VBIInfoHeader. Miembro SamplingFrequency . Un minidriver indica un cambio en la frecuencia de muestreo estableciendo el bit de KS_VBI_FLAG_VBIINFOHEADER_CHANGE en el miembro dwFrameFlags y rellenando todos los miembros, incluido dwSamplingFrequency, en la estructura VBIInfoHeader .
Requisitos
Requisito | Valor |
---|---|
Header | ksmedia.h (incluya Ksmedia.h) |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de