Conjunto de propiedades de cambio de frecuencia
[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.
El conjunto de propiedades Cambio de velocidad permite que los filtros de origen y analizador MPEG-2 cambien la velocidad de reproducción. Los descodificadores MPEG-2 deben admitir este conjunto de propiedades. Tanto el navegador de DVD como el motor de búfer de transmisiones usan esta propiedad establecida para controlar las velocidades de reproducción.
Etiqueta | Value |
---|---|
GUID del conjunto de propiedades | AM_KSPROPSETID_TSRateChange |
Id. de propiedad | Descripción |
---|---|
AM_RATE_CorrectTS | Informa al descodificador de que el navegador está estableciendo las marcas de tiempo correctas. |
AM_RATE_ExactRateChange | Obsoleto. |
AM_RATE_MaxFullDataRate | Consulta el descodificador para la velocidad de datos máxima del descodificador. |
AM_RATE_QueryFullFrameRate | Consulta el descodificador para la velocidad máxima de fotogramas completos del descodificador. |
AM_RATE_QueryLastRateSegPTS | Consulta el descodificador para la hora de inicio del segmento de velocidad que se estableció más recientemente. |
AM_RATE_SimpleRateChange | Envía un cambio de velocidad al descodificador. |
AM_RATE_Step | Obsoleto. Consulte Conjunto de propiedades de ejecución paso a paso de fotogramas. |
AM_RATE_UseRateVersion | Especifica la versión del mecanismo de cambio de velocidad que se va a usar. |
Observaciones
En el contexto de este conjunto de propiedades, la velocidad mide la velocidad a la que las marcas de tiempo avanzan en relación con el reloj de referencia. Puntee la velocidad inversa de la reproducción. Por ejemplo, si la velocidad de reproducción es de 2 veces, las marcas de tiempo deben aumentar a 1/2 la velocidad normal. Esto se traduce en una velocidad de reproducción más rápida, ya que las muestras se representan antes de lo normal.
Los ejemplos se envían al descodificador con una marca de tiempo igual al tiempo de presentación a una velocidad de 1x. El descodificador debe escalar las marcas de tiempo de los ejemplos de salida a la hora de presentación correcta para la velocidad actual. Por ejemplo, si la velocidad es 1/2 (lo que significa que la velocidad de reproducción es 2x), el descodificador debe escalar las marcas de tiempo en 1/2. Por lo general, solo tengo marcas de tiempo. El descodificador debe interpolar las marcas de tiempo de los fotogramas B y P. Tenga en cuenta que durante la reproducción inversa, las marcas de tiempo siguen aumentando: las marcas de tiempo nunca retrocede.
Se definen dos versiones del conjunto de propiedades Cambio de velocidad, versión 1.0 y versión 1.1. La versión 1.0 ofrece el comportamiento predeterminado. Se recomienda que los proveedores de descodificadores admitan la versión 1.1, ya que proporciona una experiencia de reproducción más fluida. El navegador de DVD actualmente usa la versión 1.0. El motor de búfer de secuencia usa la versión 1.1.
Cambio de frecuencia versión 1.0
La versión 1.0 del conjunto de propiedades Cambio de velocidad define el comportamiento predeterminado para los descodificadores MPEG-2.
El filtro de origen señala un cambio de velocidad estableciendo la propiedad AM_RATE_SimpleRateChange . Los datos de esta propiedad son la nueva velocidad, además de la hora de inicio en la muestra de entrada cuando la tasa surte efecto. El descodificador mantiene una cola de cambios de velocidad pendientes, ordenados por hora de inicio.
Antes de que el navegador de DVD cambie a una velocidad que no sea de 1x, entrega todas las muestras pendientes, establece temporalmente la velocidad en 1,0 y vacía el gráfico. A continuación, establece la nueva tasa. Todos los cambios de velocidad se programan para el final del VOBU actual (unidad de objeto de vídeo). Tenga en cuenta que el vaciado del gráfico restablece el tiempo de presentación en cero.
El navegador de DVD funciona en modo suave o en modo de escaneo. En modo suave, envía cada fotograma al descodificador, incluidos marcos B y marcos P. El navegador de DVD usa el modo suave cada vez que la velocidad de reproducción es mayor que cero, pero menor que la velocidad de datos maxmimum del descodificador. Si la velocidad de reproducción es menor que cero (reproducción inversa) o supera la velocidad máxima de datos del descodificador, el navegador de DVD usa el modo de examen, donde envía solo los fotogramas I al descodificador. A velocidades muy altas, puede omitir algunos marcos I; por ejemplo, puede enviar todas las demás tramas I.
De forma predeterminada, el navegador de DVDmuta la secuencia de audio para velocidades distintas de 1,0. Para cambiarlo, llame a IDvdControl2::SetOption con la marca DVD_AudioDuringFFwdRew.
Cambio de frecuencia versión 1.1
La versión 1.1 del conjunto de propiedades Rate Change sigue los mismos principios básicos que la versión 1.0, con las siguientes diferencias:
- El filtro de origen indica al descodificador que va a usar la versión 1.1 estableciendo la propiedad AM_RATE_UseRateVersion . De lo contrario, el descodificador debe usar el comportamiento de la versión 1.0.
- El filtro de origen no vacía el gráfico entre los cambios de velocidad. Por lo tanto, las marcas de tiempo aumentan de forma monotónica entre los límites de cambio de velocidad, en lugar de restablecer a cero.
- En lugar de poner en cola un cambio de velocidad para un tiempo de referencia determinado, el filtro de origen puede especificar que un cambio de velocidad se aplica al ejemplo de reenvío más adelante del descodificador, definido como la muestra en el encabezado de la cola saliente del descodificador. Para ello, el filtro de origen usa la propiedad AM_RATE_SimpleRateChange , pero establece la hora de inicio igual a -1.
- El filtro de origen puede consultar el descodificador para la hora de inicio del cambio de velocidad que se puso en cola más recientemente. Usa la propiedad AM_RATE_QueryLastRateSegPTS para este fin.
- El filtro de origen no quita muestras. Si la velocidad supera la velocidad máxima del descodificador, el descodificador debe quitar fotogramas según sea necesario.
- El filtro de origen no silencia la secuencia de audio, independientemente de la velocidad de datos máxima del descodificador de audio. El descodificador de audio puede quitar muestras si la velocidad de reproducción supera la velocidad máxima del descodificador. Sin embargo, todavía debe mantener la cola de cambios de velocidad programados.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Consulte también