Share via


Conjunto de propriedades de alteração de taxa

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O conjunto de propriedades Alteração de Taxa permite que os filtros de origem/analisador MPEG-2 alterem a taxa de reprodução. Os decodificadores MPEG-2 devem dar suporte a esse conjunto de propriedades. O Navegador de DVD e o Mecanismo de Buffer de Fluxo usam essa propriedade definida para controlar as taxas de reprodução.

Rótulo Valor
GUID do Conjunto de Propriedades AM_KSPROPSETID_TSRateChange

 

ID da propriedade Descrição
AM_RATE_CorrectTS Informa ao decodificador que o Navegador está definindo os carimbos de data/hora corretos.
AM_RATE_ExactRateChange Obsoleto.
AM_RATE_MaxFullDataRate Consulta o decodificador para obter a taxa de dados máxima do decodificador.
AM_RATE_QueryFullFrameRate Consulta o decodificador para obter a taxa máxima de quadros completos do decodificador.
AM_RATE_QueryLastRateSegPTS Consulta o decodificador para a hora de início do segmento de taxa que foi definido mais recentemente.
AM_RATE_SimpleRateChange Envia uma alteração de taxa para o decodificador.
AM_RATE_Step Obsoleto. Consulte Conjunto de propriedades de quadro de etapas.
AM_RATE_UseRateVersion Especifica qual versão do mecanismo de alteração de taxa usar.

 

Comentários

No contexto desse conjunto de propriedades, a taxa mede a taxa na qual os carimbos de data/hora avançam em relação ao relógio de referência. Classifique o inverso da velocidade de reprodução. Por exemplo, se a velocidade de reprodução for 2x, os carimbos de data/hora deverão aumentar em 1/2 a taxa normal. Isso se traduz em uma velocidade de reprodução mais rápida, pois os exemplos são renderizados mais cedo do que o normal.

Os exemplos são enviados para o decodificador com um carimbo de data/hora igual ao tempo de apresentação a uma taxa de 1x. O decodificador deve dimensionar os carimbos de data/hora nos exemplos de saída para o tempo de apresentação correto para a taxa atual. Por exemplo, se a taxa for 1/2 (o que significa que a velocidade de reprodução é 2x), o decodificador deverá dimensionar os carimbos de data/hora em 1/2. Geralmente, só os quadros eu tenho carimbos de data/hora. O decodificador deve interpolar os carimbos de data/hora para os quadros B e P. Observe que, durante a reprodução inversa, os carimbos de data/hora continuam aumentando — os carimbos de data/hora nunca retrocedem.

Duas versões do conjunto de propriedades Rate Change são definidas, versão 1.0 e versão 1.1. O comportamento padrão é dado pela versão 1.0. Os fornecedores de decodificador são incentivados a dar suporte à versão 1.1, pois ele fornece uma experiência de reprodução mais suave. Atualmente, o DVD Navigator usa a versão 1.0. O Mecanismo de Buffer de Fluxo usa a versão 1.1.

Alteração de taxa versão 1.0

A versão 1.0 do conjunto de propriedades Alteração de Taxa define o comportamento padrão para decodificadores MPEG-2.

O filtro de origem sinaliza uma alteração de taxa definindo a propriedade AM_RATE_SimpleRateChange . Os dados dessa propriedade são a nova taxa, além da hora de início no exemplo de entrada quando a taxa entra em vigor. O decodificador mantém uma fila de alterações de taxa pendentes, classificadas pela hora de início.

Antes que o Dvd Navigator seja alterado para uma velocidade não 1x, ele entrega todos os exemplos pendentes, define temporariamente a taxa como 1,0 e libera o grafo. Em seguida, ele define a nova taxa. Todas as alterações de taxa são agendadas para o final do VOBU atual (unidade de objeto de vídeo). Observe que a liberação do grafo redefine o tempo de apresentação para zero.

O Navegador de DVD opera no modo suave ou no modo de verificação. No modo suave, ele envia todos os quadros para o decodificador, incluindo quadros B e quadros P. O Navegador de DVD usa o modo suave sempre que a velocidade de reprodução é maior que zero, mas menor que a taxa de dados maxmimum do decodificador. Se a velocidade de reprodução for menor que zero (reprodução inversa) ou exceder a taxa máxima de dados do decodificador, o Navegador de DVD usará o modo de verificação, onde enviará apenas os quadros I para o decodificador. Em velocidades muito altas, ele pode ignorar alguns quadros I; por exemplo, ele pode enviar todos os outros quadros I.

Por padrão, o DVD Navigator silencia o fluxo de áudio para taxas diferentes de 1,0. Você pode alterar isso chamando IDvdControl2::SetOption com o sinalizador DVD_AudioDuringFFwdRew.

Alteração de taxa versão 1.1

A versão 1.1 do conjunto de propriedades Rate Change segue os mesmos princípios básicos da versão 1.0, com as seguintes diferenças:

  • O filtro de origem sinaliza que o decodificador use a versão 1.1 definindo a propriedade AM_RATE_UseRateVersion . Caso contrário, o decodificador deverá usar o comportamento da versão 1.0.
  • O filtro de origem não libera o grafo entre as alterações de taxa. Portanto, os carimbos de data/hora aumentam monotonicamente entre os limites de alteração de taxa, em vez de redefinir para zero.
  • Em vez de enfileirar uma alteração de taxa para um determinado tempo de referência, o filtro de origem pode especificar que uma alteração de taxa se aplica ao exemplo mais avançado do decodificador, definido como o exemplo no cabeçalho da fila de saída do decodificador. Para fazer isso, o filtro de origem usa a propriedade AM_RATE_SimpleRateChange , mas define a hora de início igual a -1.
  • O filtro de origem pode consultar o decodificador para a hora de início da alteração de taxa que foi enfileirada mais recentemente. Ele usa a propriedade AM_RATE_QueryLastRateSegPTS para essa finalidade.
  • O filtro de origem não descarta amostras. Se a taxa exceder a taxa máxima de dados do decodificador, o decodificador deverá remover os quadros conforme necessário.
  • O filtro de origem não silencia o fluxo de áudio, independentemente da taxa máxima de dados do decodificador de áudio. O decodificador de áudio poderá descartar exemplos se a velocidade de reprodução exceder a taxa máxima do decodificador. No entanto, ele ainda deve manter a fila de alterações de taxa agendadas.

Requisitos

Requisito Valor
parâmetro
Dvdmedia.h

Confira também

Conjuntos de propriedades