Configurações de Aceleração de Vídeo avançadas

Índice

  1. DirectShow
  2. Codecs
    1. Codec hell
  3. ACM e VfW
  4. Media Foundation
  5. Renderizadores de vídeo
    1. Video Overlay
    2. Video Renderer
    3. Overlay Mixer
    4. Video Mixing Renderer 7 (VMR-7)
    5. Video Mixing Renderer 9 (VMR-9)
    6. Enhanced Video Renderer (EVR)
    7. Haali
    8. madVR
  6. RGB
  7. YUV
    1. Chroma subsampling
  8. Superfícies
  9. Configurações de Aceleração de Vídeo (Windows Media Player)
  10. FAQ
    1. Quando eu preciso de filtros DirectShow e codecs de 64-bit?
    2. Eu devo usar um Player de 32-bit ou 64-bit?
    3. A reprodução de vídeo está muito clara ou muito escura em todos os arquivos ou as cores estão alteradas no Windows Media Player (WMP)
    4. Eu não consigo reproduzir vídeos em tela-cheia
    5. Alguns vídeos exibem uma tela verde
    6. Meu computador exibe uma BSoD (Blue Screen Of Death, ou Tela Azul da Morte) ou reinicia quando eu reproduzo um arquivo de áudio ou vídeo
  11. Referências

1. DirectShow

A maioria dos players usam DirectShowpara reprodução. [10] O DirectShow (lançado em 1997) tornou-se um componente padrão de todos os sistemas operacionais (SO) Windows à partir do Windows 98; porém, ele está disponível no Windows 95 ao instalar o último redistribuível do DirectX disponível para o SO. [12] O DirectShow (conhecido como ActiveMovie em 1996) é um sistema que usa múltiplos filtros DirectShow para construir blocos chamados gráfico DirectShow. Um arquivo é a raiz deste gráfico e os renderizadores de áudio e vídeo são os ramos deste gráfico. Durante a reprodução, os dados fluem da raiz para as folhas. [10]

Gráfico de filtro de um arquivo AVI, renderizado pelo DirectShow no GraphEditPlus, um aplicativo com interface gráfica para o DIrectShow usado para desenvolver e testar filtros visualmente. [11] Na imagem, as caixas representam os filtros. [12]

Cada filtro no gráfico representa um estágio no processamento de dados. [12] Elementos típicos no gráfico são o source filter, também chamado de splitter, decodificadores de áudio e vídeo [10] e filtros de transformação [12]:

  • Source filters: Um source filter provê a origem do stream de dados [12], preparando os dados para que os decodificadores possam entendê-los [28].
  • Transform filters: Eles filtram os dados providos pela saída de outro filtro. Por exemplo, realizando uma transformação como adicionar um texto no topo do vídeo ou descomprimindo um frame MPEG. [12]
  • Renderer filters: Eles renderizam os dados. Por exemplo, enviando o áudio para a placa de áudio, ou desenhando o vídeo na tela. [12][28]

Na imagem de exemplo acima, da esquerda para a direita, o gráfico contém um source filter para ler um arquivo AVI, stream splitter e filtros de decodificação para processar e decodificar o áudio e vídeo, e um rendering filter para reproduzir as amostras raw de áudio e vídeo.

2. Codec

Codec é uma abreviação para ‘compressor-descompressor’, um software que é capaz de decodificar e codificar um certo formato [10] de mídia digital [30]. Por esta definição, um filtro DirectShow não é um codec [10], por que o DirectShow não provê meios para que os usuários finais codifiquem arquivos, obrigando os desenvolvedores a desenvolver gráficos end-to-end para codificar conteúdos. [23]

Por padrão, o DirectShow inclui um número de filtros para decodificar formatos comuns de arquivos como MPEG-1, MP3, Windows Media Audio, Windows Media Video, MIDI, contêineres de mídia como AVI, ASF, WAV, alguns splitters/demultiplexers, multiplexers, source filters e alguns filtros de imagens estáticas. [12]

O repertório de formatos do DirectShow pode ser expandido através de uma variedade de filtros. Tais filtros são capazes de tornar o DirectShow praticamente compatível com qualquer formato de contêiner e qualquer codec de áudio ou vídeo. Por exemplo, foram desenvolvidos filtros para Ogg Vorbis, Musepack, e AC3. Porém, incorporar suporte para codecs adicionais pode envolver o pagamento de taxas de licenciamento para o desenvolvedor do codec ou detentor da patente. [12]

2.1 Codec hell

Codec hell (um termo derivado de DLL hell) é quando múltiplos filtros do DirectShow conflitam para realizar a mesma tarefa. Um grande número de organizações desenvolvem novos codecs na forma de filtros DirectShow, resultando na presença de diversos filtros que decodificam o mesmo tipo de mídia. [12]

Durante a criação do gráfico, se o DirectShow (DS) encontra múltiplos filtros capazes de realizar a mesma sub tarefa, ele normalmente selecionará o filtro que possui mérito maior. [10] Ted Youmans (Microsoft) explica que o “DirectShow é baseado em um sistema de mérito, […] usando a combinação do mérito do filtro e o quão específico o tipo/subtipo de mídia, ele pode escolher o codec correto todas às vezes”. [12] O mérito de um filtro é simplesmente um valor numérico que indica a preferência do filtro. Existem ferramentas para alterar o mérito de um filtro DS. Players avançados normalmente oferecem a opção de alterar os filtros usados no gráfico, permitindo ou bloqueando certos filtros, por exemplo. [10]

É mito a afirmação que filtros podem ‘conflitar’ um com o outro. Se algo dá errado é simplesmente por que alguns filtros não estão realizando suas sub tarefas corretamente. [10] Cada filtro possui um ou mais pinos que podem ser usados para conectar aquele filtro a outros filtros. Cada pino pode funcionar tanto como entrada quanto saída de dados que fluem de um filtro para outro. [12] Há dois modos de conectar dois filtros: conexão direta conexão inteligente. [11] O DirectShow conecta dois pinos diretamente e falha se eles não concordam em se conectar. [11][12] Por exemplo, se um filtro produz algum vídeo comprimido você não pode conectá-lo a um renderizador de vídeo diretamente (que requer vídeo descomprimido), então a conexão direta falhará, porém a conexão inteligente tentará encontrar o decodificador apropriado e inseri-lo no gráfico. [11] Para que o gráfico de filtro use filtros automaticamente, eles precisam estar registrados em uma chave de registro separada do DirectShow, assim como estar registrado com a COM.

Se nenhum filtro DirectShow for encontrando para um certo formato de áudio/vídeo, o DirectShow poderá usar codecs VFW e ACM (veja abaixo) através de filtros especiais. [10]

3. ACM e VfW

Dois outros sistemas são VFW (Video For Windows) e ACM (Audio Compression Manager). Componentes para estes sistemas são chamados de codecs, por que normalmente são capazes de codificar e decodificar. Estes dois tipos de codecs são necessários pela maioria das aplicações de edição de vídeo, como o VirtualDub. [10] Aplicativos tradicionais de edição de vídeo não são capazes de usar o DirectShow [23]. Aplicações modernas são capazes de usar o DirectShow para decodificação, mas geralmente requerem codecs VfW e ACM para codificação. [10]

4. Media Foundation

O Media Foundation permite o desenvolvimento de aplicativos e componentes para manipular mídias digitais no Windows Vista e posteriores. [24]

Aplicativos que suportam o Media Foundation incluem [25]:

O Media Foundation não está disponível para versões anteriores do Windows, incluindo o Windows XP. Ele é o substituto para o DirectShow, Windows Media SDK, DirectX Media Objects (DMOs) e todas as APIs de multimídia legadas como Audio Compression Manager (ACM) e Video for Windows (VfW). [25]

5. Renderizadores de vídeo

O renderizador de vídeo é o último filtro do gráfico [36], sendo responsável por mixar e exibir a imagem [28]. O renderizador de vídeo é apenas um controlador para o driver de vídeo, e não realiza nenhum processamento de amostras (samples) de imagem por si mesmo. [32]
O renderizador de vídeo opera em três modos distintos [32]:

  • GDI
  • DirectDraw
  • Direct3D

Alterar o renderizador de vídeo pode ser útil para vídeos de média e baixa qualidade para diminuir efeitos negativos de interlacingnoise e compressão. [7]

  • Video Overlay: Em 1995, quando a reprodução de MPEG1 (VCD) começou a tornar-se popular no PC, o poder de processamento do PC não era grande o suficiente para reproduzir tal conteúdo. Os fabricantes de placa de vídeo da época lançaram o “Video Overlay” como solução. O Video Overlay é um hardware especial [27] na placa de vídeo usado para realizar diversas funções relacionadas a exibição de vídeo (Stretching, Color-Space Conversion, etc…) [17], permitindo a reprodução suave de vídeo sem custos a CPU. [17][27] O Video Overlay não usa filtros (é apenas uma sobreposição de hardware, ou seja, a placa de vídeo envia a saída diretamente para a tela, sobrepondo [overlaying] o conteúdo [3][27]) e a qualidade de imagem do Video Overlay depende do hardware da placa de vídeo. Uma das maiores desvantagens de usar a renderização de vídeo baseada em Video Overlay é que existe apenas uma unidade de Video Overlay na placa de vídeo, tornando a tecnologia inapropriada para sistemas com múltiplos monitores. [17] Devido ao alto poder de processamento das placas de vídeo modernas, e a necessidade de adicionar um caminho adicional de processamento de hardware, este método é pouco usado atualmente. [27]
  • Video Renderer: Originalmente, no Windows 9x [12]/ME [1]/2000 [28], o DirectShow usava o filtro Video Renderer [12], lançado em 1996 [3]. Ele usa Video Overlay quando está disponível [5] e pode usar Pure-CPU para renderizar o vídeo quando o Video Overlay está indisponível. A renderização Pure-CPU possuí um peso massivo na performance da reprodução (a CPU trabalha muito mais). [17] Ele tinha acesso limitado a janela de vídeo e não havia um modo confiável de exibir legendas ou gráficos em cima do vídeo. [12] A maior desvantagem deste renderizador é a ausência de controles de Aspect Ratio e Controles de Cor de Hardware [Matiz/Saturação/Brilho/Contraste] [17]. A menos que você goste de imagem embaçada, eu não o recomendo 😉 [3]
  • Overlay Mixer: Ainda usando a tecnologia Video Overlay [4][17], o DirectShow 6.0, lançado como parte do DirectX Media, introduziu o renderizador Overlay Mixer desenvolvido para reprodução de DVD e broadcast de streams de vídeo [4] com Closed Caption (CC) e legendas [12]. O vídeo é exibido usando DirectDraw 5. [12] Este renderizador também suporta aceleração de hardware (DXVA) [3][12] e permite o acesso ao Controles de Cor de Hardware (Matiz/Saturação/Brilho/Contraste) para placas que suportam o controle de cores em hardware. Algumas placas suportam apenas um sub conjunto de recursos de controle de cores (somente Brilho, por exemplo). Este renderizador também suporta controles de Aspect Ratio para formatos que requerem isso (VCD/SVCD/DVD/etc…). [17] O único contra deste renderizador é que ele não pode usar Pure-CPU. Se o Video Overlay estiver inacessível, ele não funcionará. Ao reproduzir um DVD, você receberá um erro informando que o decodificador de vídeo não foi capaz de conectar-se ao Overlay Mixer. [17]
  • Video Mixing Renderer 7 (VMR-7): O VMR-7 está disponível somente no Windows XP [8] e posteriores [4] (não sendo redistribuído para versões anteriores do Windows [4] por razões não técnicas [3]) e foi sucedido pelo VMR-9 [17], recebendo este nome [12][22] por exibir o vídeo usando DirectDraw 7 [1][4][12][22], sendo desenvolvido apenas para usar aceleração de hardware para renderização de vídeo. [3] No modo Windowed, toda a renderização é realizada pelo Microsoft filter (Software), em modo Renderless (Hardware) ele permite mixar múltiplos streams e gráficos, permitindo as aplicações desenhar texto e gráficos sobre o vídeo [3][12]; porém, sem suporte a D3D Pixel Shader. [16]
  • Video Mixing Renderer 9 (VMR-9): O VMR-9 está disponível para redistribuição em todas as plataformas que suportam o DirectX 9. [4] Ele usa Direct3D 9 [1] e foi desenvolvido para usar Shaders para melhorar a qualidade de vídeo [7], desenhando o vídeo sobre uma superfície 3D. Esta superfície pode ser manipulada como camadas 3D em um jogo, permitindo a aplicação de sombras em Direct3D (Pixel Shaders 3D) [12] e outros efeitos [20], como legendas (OSD), com maior qualidade [28]. Isso não é possível com Overlay. [16] Esta filtragem é realizada pelo processador ou placa de vídeo. [7]
  • EVR (Enhanced Video Renderer): novo renderizador lançado com o Windows Vista [12] como um componente Media Foundation e um filtro DirectShow, ele ainda usa DirectX9 (ele não usa o DX10, como algumas pessoas acreditam) [3]. O sucessor do VMR-7VMR-9 [25] foi desenvolvido para trabalhar com o DWM e suporta aceleração de hardware (DXVA) 2.0, disponível no Windows Vista. Ele oferece melhor performance e maior qualidade, de acordo com a Microsoft. [12] No Windows 7, ele suporta a aceleração de hardware de conteúdo HD (DXVA HD) se drivers WDDM 1.1 são usados [25].
  • Haali: A diferença entre o VMR-9 e o Haali é o uso de Pixel Shader (PS) 2.0 e BiCubic resizing, ao invés de BiLinear resizing. Além disso, a suavização é ajustável no Haali Splitter; porém, o uso de CPU é mais intenso (entre 5-40%, em média 20%). [3] 
  • madVR (Madshi Video Renderer): O madVR é um renderizador de vídeo de alta qualidade [14][15] assistido por GPU [15] baseado no DirectShow [13] que requer uma placa de vídeo com ao menos 128MB de memória dedicada e suporte total à D3D9 / PS3.0 [15] e Windows XP ou posterior [14]. Existem algumas opções de configuração que você pode manipular para alterar o modo de renderização e melhorar o desempenho, com perdas pequenas de qualidade. [13] Você pode encontrar tutoriais de configuração do madVR no site oficial do madVR, na Wiki do Mike Jung (link #1, link #2) e no Doom9’s Forums.

No Windows XP e posteriores, o renderizador de vídeo padrão é o Video Mixing Renderer Filter 7 (VMR-7). [3][17] O VMR-7 e o Video Renderer possuem o mesmo nome amigável “Video Renderer”. Em versões anteriores ao Windows XP, o Video Renderer é o renderizador padrão [5] e o VMR-7 é usado no Windows XP [17] e posteriores. Para garantir a compatibilidade com versões anteriores do Windows, o VMR-9 não é usado por padrão. [4] O VMR requer que o monitor do sistema possua profundidade de cores de pelo menos 16-bit. O VMR substitui o Overlay Mixer e Video Renderer. [1]

O Overlay Mixer e o VMR-7 usam o DirectDraw (uma API 2D), que usa a aceleração de hardware (DXVA) quando disponível. O DirectDraw tornou-se depreciado à partir da versão 7. [12]

Em Benchmarkings, o VMR-7 demonstrou-se mais leve que o VMR-9 em um vídeo HD 720p (1280×720) de 60 FPS [7]:

  • VMR-7: 43 FPS.
  • VMR-9: 8-9 FPS.

O VMR-9 é terrivelmente problemático (bordas irregulares e suavização extrema são problemas comuns). O VMR-7 Renderless e todos os modos VMR-9 possuem uma tendência de tornar o vídeo visualmente esverdeado, especialmente em placas de vídeo nVidia legadas. [9] O Overlay Mixer é o renderizador mais rápido [1] e também o mais preciso – ele exibe a você o vídeo como ele realmente se parece [9].

Não use Overlay Mixer, VMR-7 ou VMR-9 no Windows Vista/Windows 7, todos estes renderizadores estão depreciados e não serão suportados no futuro. [3] No Windows Vista e posteriores, o Overlay Mixer desabilita a composição DWM (desabilitando o Aero [28]) se o driver de vídeo suporta overlay de hardware. [6]

Se você está encontrando problemas de performance na reprodução de vídeos, use um decodificador acelerado por hardware. O K-Lite Mega Codec Pack (KLCP) exibe opções para aceleração por hardware durante a instalação do pacote de codecs caso seu sistema seja compatível. Um decodificador acelerado por hardware descarrega a decodificação de vídeo para sua placa de vídeo (GPU), diminuindo significantemente a carga da CPU [10], aumentando o frame rate (número de frames de vídeo exibidos por segundo [30]) e qualidade do vídeo reproduzido [1]. Sua placa de vídeo deverá suportar esta funcionalidade, mas praticamente todas as placas de vídeo fabricadas nos últimos anos suportam a aceleração para pelo menos alguns formatos de vídeo, como H.264. [10]

O KLCP recomenda os seguintes renderizadores [10]:

  • Renderizadores recomendados para Windows Vista/7 são: madVR (para computadores high-end), Haali, EVR Custom Presenter (CP), EVR.
  • Renderizadores recomendados para Windows XP são: madVR (para computadores high-end), Haali, Overlay Mixer, VMR-7 (Windowed), VMR-9 (Renderless).

Por padrão, o MPC usa o Overlay Mixer (no XP) ou EVR CP (no Vista/7). Se o renderizador padrão está causando problemas, altere-o para VMR-7 ou VMR-9 (renderless). Você pode alterar esta opção via: View -> Options -> Playback -> Output -> DirectShow Video. [10]


No Windows Media Player (WMP), também existe uma opção que influencia o renderizador usado. Veja a seção Configurações de Aceleração de Vídeo (Windows Media Player).

6. RGB

Há diversas maneiras de armazenar cores digitalmente. Um dos mais comuns é o RGB24 (Red-Green-Blue, 24 bits), que armazenam cores como três valores 8-bit (0-255, ou 0-FF em hexadecimal), também conhecido como canais – um vermelho (red), um verde (green) e um azul (blue). Isso siginfica que, para armazenar uma cor, 24 bits (8 + 8 + 8) de memória são necessários, por isso o nome RGB24. Outra variante do RGB, RGB 32, possuí um valor extra, usado para expressar transparência (também conhecido como alpha channel). [9]

7. YUV

O RGB24 é raro no mundo da compressão de vídeo, por possuir muitos dados para comprimir (requerendo muita memória para armazenamento), e o RGB32 é ainda pior (além disso, ambos são muito lentos para processar). Assim, surgiu a codificação de vídeos digitais em formato YUV. [9] YUV é uma família de espaço de cores (YV12, YUY2, etc), que codificam informação de brilho (luma) (Y) separadamente da informação de cor (chroma) (U e V). [9][10]
O MPEG4 (e MPEG2, que é usado em DVD’s) usam YV12 como sua resolução nativa, por razões óbvias. O YUY2 representa menor quantidade de dados, e o YV12 é ainda melhor devido a forma como as informações são armazenadas [9], tornando-o mais eficiente em sistemas atuais [20]. Hoje em dia, qualquer placa de vídeo deve suportar YV12, exceto em caso de drivers defeituosos. É importante notar que o modo YV12 é mais rápido em placas de vídeos que o suportam. [9] Aumentos de performance entre 25-35% são esperados ao suportar YV12. [18]

7.1 Chroma subsampling

Porém, o YV12 possui algumas desvantagens [18] em relação ao YUY2 e RGB [9]:

  1. Há uma degradação de informação de cores (chroma) no YV12 (Chroma subsampling) em relação ao YUY2, que normalmente é aceitável devido a visão humana ser mais sensível a variação de brilho (luma) do que de cores (chroma) [29], mas para vídeos de alta qualidade, é melhor usar o YUY2.
  2. Se o formato de origem não for YV12 (captura analógica), a conversão do formato de cores resultará em interpolação do chroma com alguma perda de qualidade.

Chroma subsampling é um método de compressão [20] que reduz em até 50% o tamanho do arquivo sem imperfeições visíveis [19][21], tornando a reprodução de conteúdo 4k da Netflix e da Amazon mais acessível, por exemplo. A menos que você use sua TV ou monitor de PC para ler texto, não há necessidade de preocupar-se com ele. [20]

Um sinal com chroma 4:4:4 não possuí compressão (subsampled) e transporta todas as informações de iluminação e cores. 4:2:2 possui metade do chroma da 4:4:4, e 4:2:0 possui um quarto da informação de cores disponíveis. [20]

Chroma subsampling

Onde ela é visível? [20]

Subsampling Impacto visual
PC 4:4:4 Maior
Filmes 4:2:0 Nenhum
Vídeo games 4:4:4 Menor
Esportes 4:2:0 Nenhum
Shows de TV 4:2:0 Nenhum

A diferença em 4:2:0 é pequena visualmente, por isso ela pode ser encontrada em discos Blu-ray e em uma série de câmeras modernas, tornando-se um padrão da indústria há muito tempo, e não sem motivo. Os benefícios de possuir todas as cores em vídeo são questionáveis, especialmente em 4k. Seria difícil reconhecer a diferença entre uma sequência completa em 4:4:4 e o mesmo conteúdo em 4:2:0. Quando maior a resolução e densidade dos pixels, menor a percepção aparente de subsampling. [20]

8. Superfícies

Após a primeira conexão do gráfico, o renderizador de vídeo tentará alocar superfícies (surfaces) do DirectDraw/Direct3D. O renderizador de vídeo fará isso enumerando todos os tipos de mídias do upstream filter, e tentará alocar a superfície correspondente ao tipo de mídia. Por exemplo, vamos assumir que o upstream filter é o WMV DMO. Atualmente, ele suporta os seguintes tipos de mídia (o tipo de mídia preferido é o primeiro) [36]:

  • YV12
  • NV12
  • YUY2
  • I420
  • IYUV
  • UYVY
  • YVYU
  • RGB565
  • RGB555
  • RGB32
  • RGB24
  • RGB8

O renderizador de vídeo tentará alocar overlay de superfícies invertidas (flipping overlay surfaces) primeiro, e então superfícies non-flipping. [36]

  • Para cada tipo de mídia do upstream filter, na ordem informada pelo upstream filter
    • Tentar alocar a superfície invertida daquele tipo de mídia
    • Se bem-sucedido, chamar a QueryAccept do pino de saída do upstream filter
    • Se bem-sucedido, usá-la
  • Se a etapa anterior falhar
    • Tentar alocar uma superfície primária (primary flipping surface) (se habilitada)
    • Se for bem sucedido, chamar a QueryAccept do pino de saída do upstream filter
    • Se for bem-sucedido, usá-la
  • Se a etapa anterior falhar, para cada tipo de mídia do upstream filter, na ordem informada pelo upstream filter
    • Tentar alocar uma superfície (não invertida) daquele tipo de mídia
    • Se for bem sucedido, chamar a QueryAccept do pino de saída do upstream filter
    • Se for bem-sucedido, usá-la

Desta forma, se o upstream filter foi otimizado para certos formatos YUV, ele pode controlar a escolha do tipo de mídia. Caso o driver de vídeo também suporte uma superfície daquele tipo, o tipo de mídia acelerada será escolhida. Todo o processo é comandado pelo upstream filter, com o driver de vídeo em uma função passiva. [36]

É preferível sempre possuir overlay de superfícies invertidas (overlay flipping surfaces) disponíveis. Porém, este não é o caso em algumas situações. Por exemplo, dependendo das capacidades do driver de vídeo, o flipping overlay poderá não estar disponível quando o usuário estiver assistindo o vídeo em seu tamanho original. Quando o usuário estiver esticando (streching) ou encolhendo (shrinking), overlays poderão não estar disponíveis. Então, se o driver de vídeo não suportar overlay stretching, e o renderizador de vídeo estiver usando overlays, será necessário alterar para GDI (e consequentemente para o formato RGB), para que o GDI realize o escalamento necessário. [36]

Note que, todas ás vezes que o upstream filter requisitar um novo buffer do renderizador de vídeo, o renderizador de vídeo tentará retornar um buffer Direct3D/DirectDraw. Se todas as condições para usar o buffer Direct3D/DirectDraw estiverem OK (clippingstretching, memória de vídeo, etc), ele será usado. Caso as condições falhem, ele reverterá para GDI. [36]

9. Configurações de Aceleração de Vídeo (Windows Media Player)

No menu do WMP, vá para Ferramentas -> Opções -> Desempenho… -> Avançado. Será exibida as configurações de aceleração de vídeo.

Vídeo digital

O slider Vídeo Digital (que, como o nome sugere, funciona apenas para vídeo digital, não para vídeo analógico) entra em ação quando você expande a janela do Windows Media Player para um tamanho maior que o do vídeo original e o Windows Media Player precisa esticar (stretch) a imagem do vídeo. A configuração Grande permite ao Windows Media Player interpolar (adicionar) pixels que não estão presentes no vídeo original de forma a esticar a imagem. A configuração Pequeno mantém o vídeo mais fiel ao original mas requer maior poder de processamento (CPU). [31]

As configurações de resolução incluem quatro opções padrões: 88×60, 180×120, 360×240, e 720×480. [30]

Aceleração de Vídeo

Usar processador de mixagem de vídeo (VMR-7)

Habilita as capacidades de renderização avançadas. Esta opção determina qual renderizador de vídeo usar. Se você marcar esta opção, o Video Mixing Renderer-7 (VMR-7) será usado. [31] Se você desmarcar esta opção, o renderizador de vídeo legado (Video Renderer) será usado. [32]

Você poderá escolher entre:

VMR-7/Usar sobreposições Permite a placa de vídeo exibir e escalar a imagem exibida no monitor. Se você selecionar esta opção e um overlay de hardware estiver disponível, o vídeo será exibido usando o overlay de hardware da placa de vídeo. [32]
VMR-7/Usar modo de alta qualidade Especifica o uso do VMR-7 em modo de mixagem YUV. Este modo aumenta a exatidão de cores, desentrelaçamento, e escalamento [32], possuindo maior performance em placas de vídeo low-end que usam um arquitetura de memória unificada, requerendo entre 50% a 60% a menos de largura de banda de memória em relação a superfícies RGB. [35]

Processador de vídeo antigo (Video Renderer)

É recomendado manter todas as opções abaixo habilitadas por questões de performance. Maiores detalhes podem ser encontrados na seção Superfícies.

Processador de vídeo antigo – Usar inversão YUV Especifica o uso de formatos de superfície YUV ao usar sobreposições (overlay). Se você desmarcar esta opção, formatos de superfície YUV para sobreposição será desabilitada. [32]
Processador de vídeo antigo – Usar inversão RGB Especifica o uso de formatos de superfície RGB ao usar sobreposições (overlay). Se você desmarcar esta opção, formatos de superfície RGB para sobreposição será desabilitada. [32]
Processador de vídeo antigo – Usar superfícies primárias Especifica o uso de superfície primárias. Se você desmarcar esta opção, o overlay de vídeo será desabilitado e a Windows Graphical Device Interface (GDI) será usada para overlay de vídeo. [32] O GDI realiza a maior parte da renderização usando CPU e em kernel mode, no qual um defeito de driver pode causar um travamento no sistema. [33]

Descartar quadros para manter o áudio e o vídeo (AV) sincronizados

Sincroniza os componentes de áudio e vídeo quando o componente de vídeo trava em relação ao componente de vídeo de um arquivo à medida que o arquivo é renderizado para o monitor. A dessincronização de áudio e vídeo é comum em sistemas com CPUs lentas. Se você marcar esta opção, um grande número de frames de vídeo poderão ser descartados para manter a sincronização de áudio e vídeo de um arquivo. [32]

Habilitar mudança para tela inteira

Desmarcada por padrão, esta opção pode alterar a resolução do monitor ao visualizar o vídeo em tela-cheia. Esta opção é usada principalmente em placas de vídeo antigas. A resolução de vídeo retorna para a configuração original ao deixar o modo de tela-cheia. [32] Esta capacidade normalmente não funciona com vídeos digitais. [31]

Exibir controles de tela inteira

Se você selecionar esta opção, os controles de tela-cheia serão exibidos no topo do vídeo reproduzido atualmente. [32]

Usar suavização de vídeo

Se você marcar esta opção, arquivos com frame rate baixo (< 15 frames por segundo) poderão ser interpolados para criar um arquivo mais suave para visualização. [32] Desmarcar essa opção impede que a suavização de vídeo (frame interpolation) ocorra, o que pode melhorar a reprodução de vídeo em computadores com recursos limitados. [26]

Ativar Aceleração de Vídeo DirectX (DXVA) para arquivos WMV

Diminui a carga de CPU ao usar as capacidades da placa de vídeo para reprodução de arquivos WMV caso a placa de vídeo suporte este recurso. Desmarcada, usa a CPU para renderização. [32]

O SDK do Windows Media Player 9 informa que a DXVA no Windows Media Player aplica-se apenas a arquivos WMV. [34] Essa opção está presente no Windows Media Player 9, 11 e 12 nativamente. O WMP 10 requer a instalação de um hotfix para habilitar o DXVA para arquivos WMV.

Cor da borda do vídeo

Permite a você selecionar a cor da borda de vídeo. [32]

Vídeo de DVD

Usar processador de mixagem de vídeo (VMR-7)

Veja Usar processador de mixagem de vídeo (VMR-7) da seção Aceleração de Vídeo.

Usar sobreposições

Veja Usar sobreposições da seção Usar processador de mixagem de vídeo (VMR-7).

Habilitar mudança para tela inteira

Veja Habilitar mudança para tela inteira da seção Aceleração de Vídeo.

Exibir controles de tela inteira

Veja Exibir controles de tela inteira da seção Aceleração de Vídeo.

Otimizar desempenho das baterias

Em situações de bateria baixa, a reprodução de DVD usa um método de visualização que usa menos energia. Se você marcar esta opção, uma opção que consome menos energia será usada, a captura de frames de DVD poderá ficar indisponível, e a qualidade de imagem do DVD poderá diminuir. [32]

Decodificador preferencial

Se você possui decodificadores de hardware e software para reprodução de DVD instalados, você poderá escolher entre as opções Hardware ou Software para decodificar áudio, subpictures, e o formato MPEG-2 [32]:

Decodificador preferencial – Hardware Decodificadores de hardware poderão estar presentes no seu computador. Eles são bons em CPUs com menos de 500 MHz por que requerem uma carga menor de CPU. Se você marcar esta opção, o decodificador de hardware do seu computador será usado. Se o decodificador de hardware não estiver disponível, o decodificador de software é usado.
Decodificador preferencial – Software Se um decodificador de software estiver instalado, ele será o decodificador padrão, a menos que outro seja explicitamente especificado.

10. FAQ

10.1 Quando eu preciso de filtros DirectShow e codecs e de 64-bit?

É importante lembrar que aplicativos 64-bit somente podem usar codecs/filtros 64-bit, e aplicativos 32-bit podem usar apenas codecs/filtros 32-bit. [10][28]

As versões de 64-bit do Windows executam tanto aplicativos de 32-bit quanto 64-bit. A maioria dos softwares ainda são 32-bit, então você precisará de codecs 32-bit para eles. Somente alguns aplicativos são 64-bit e, portanto, requerem codecs 64-bit. [10]

Um exemplo de aplicativo 64-bit é o Windows Media Center. O Windows Explorer também é um aplicativo 64-bit. Uma versão de 32-bit e de 64-bit do Windows Media Player (WMP) está incluída em versões 64-bit do Windows. A versão de 32-bit do WMP é usada por padrão por razões de compatibilidade. [10]

O K-Lite Mega Codec Pack (KLCP) contém tanto codecs 32-bit quanto 64-bit. [10]

10.2 Eu devo usar um Player de 32-bit ou 64-bit?

Codecs 64-bit possuem melhor performance. Para formatos comuns como vídeo H.264, a diferença é relativamente pequena, aproximadamente 10%. Para novos formatos como HEVC e vídeo VP9 a diferença é muito maior, até 100%. Então pode ser benéfico usar um player 64-bit. [10]

Uma razão para usar um player 32-bit é a compatibilidade com codecs legados dos quais não existem versão 64-bit disponível. O K-Lite Mega Codec Pack (KLCP) contém versões 64-bit de todos os codecs importantes, então isso é importante apenas se você possui codecs de terceiros instalados. [10]

10.3 A reprodução de vídeo está muito clara ou muito escura em todos os arquivos ou as cores estão alteradas no Windows Media Player (WMP)

Isso normalmente é causado por configurações incorretas no driver da sua placa de vídeo. Algumas versões de drivers da NVIDIA são conhecidos por alterar suas próprias configurações. [10]

No Windows Media Player, você pode alterar configurações de cor de hardware (Matiz/Saturação/Brilho/Contraste) através do menu Aprimoramentos.

  1. Para acessar os Aprimoramentos no WMP, você precisará estar no modo ‘Em Execução’. Clique no ícone no rodapé direito da Biblioteca para alterar o modo para ‘Em Execução’.
  2. Dê botão direito na barra de título da janela ou na aba Em Execução
  3. No menu de contexto, abra a janela Aprimoramentos selecionando qualquer item do menu à direita. 

Você pode encontrar um tutorial de configuração de Aprimoramentos do WMP no Digital Citizen.

Nota: Se você não puder ajustar os sliders em Configurações de vídeo (Video Settings), você precisará habilitar o Video Mixing Rendering (VMR) no WMP. [10] Para habilitá-lo no WMP, veja a seção Configurações de Aceleração de Vídeo (Windows Media Player).

10.4 Eu não consigo reproduzir vídeos em tela-cheia

Se você conseguir reproduzir vídeos na sua resolução original, mas não em tela-cheia, isso significa que há algo errado nos drivers gráficos ou em suas configurações. [10]

Atualizar seu driver de vídeo deve resolver este problema. [10]

10.5 Alguns vídeos exibem uma tela verde

Isso quase sempre é causado por um bug no seu driver gráfico. Então, a primeira coisa que você deverá tentar é atualizar o driver. [10]

Segue abaixo alguns workarounds que poderão ajudar se a atualização de driver não resolver o problema [10]:

  • Desabilite a aceleração por hardware (DXVA, CUVID, QuickSync).
  • Altere o renderizador de vídeo no reprodutor de vídeo. O problema normalmente acontece com renderizadores específicos. Veja a seção Configurações de Aceleração de Vídeo (Windows Media Player) ou a documentação do seu reprodutor de mídia.
  • Use o ffdshow como decodificador para o formato de vídeo que está no arquivo. Use o utilitário MediaInfo para visualizar detalhes do arquivo se você não conhece o formato de vídeo. Então, habilite o resizing no ffdshow. Na configuração de decodificação de vídeo do ffdshow, habilite o filtro “Resize & Aspect”, e na mesma página habilite a configuração “Expand to next multiple of: 16”.

10.6 Meu computador exibe uma BSoD (Blue Screen Of Death, ou Tela Azul da Morte) ou reinicia quando eu reproduzo um arquivo de áudio ou vídeo

Uma “Tela Azul da Morte” ou reinicialização espontânea normalmente indica uma falha de driver ou de hardware. Uma ferramenta muito útil para descobrir o driver que causou a BSoD é o BlueScreenView. A solução pode ser reinstalar o driver. Preferencialmente, uma versão mais recente. [10]

Uma BSoD acontece somente quando ocorre uma falha de um componente de software que executa em “kernel mode”. Isso significa drivers de dispositivo e alguns componentes do núcleo do Windows. Software normal não é capaz de acionar diretamente uma BSoD. [10]

Reprodutores de mídia e codecs são software normais. Eles simplesmente travarão em caso de falha inesperada. Se uma BSoD ocorre somente na presença de certo codec ou aplicativo, isso não significa que aquele software é responsável. O Software simplesmente criou circunstâncias para que um bug em um driver fosse acionado. [10]

Referências

  1. What is VMR (Video Mixing Render)?. KMPlayer Forum.
  2. Video Renderers: VMR7 vs VMR9 vs Haali vs EVR. CCCP Project Forums.
  3. Windowless, Renderless, VMR, Overlay – what do they mean?. Doom9’s Forum.
  4. Using the Video Mixing Renderer. MSDN.
  5. Video Renderer Filter. MSDN.
  6. Overlay Mixer Filter. MSDN.
  7. HD video on Win98. MSFN.
  8. Choosing the Right Renderer. MSDN.
  9. Advanced FAQ. CCCP.
  10. FAQ. Codec Guide.
  11. Basic Graph Editing. GraphEditPlus.
  12. DirectShow. Wikipedia.
  13. madVR. Baixar Software.
  14. Como usar o MadVR+LavFilters+Xy-SubFilter com o PotPlayer. Meu Blog.
  15. madVR. madVR.
  16. What’s the difference between using the “use overlays” or “use high quality mode” in the WMP 10 video mixing renderer?. AnandTech Forums.
  17. Video Renderers and their Meaning in Zoom Player. Zoom Player On-line Documentation.
  18. FAQ YV12. AviSynth Wiki.
  19. Chroma subsampling. Wikipedia.
  20. Chroma Subsampling. RTINGS.com.
  21. DCT-Based Quarter-pel Interpolation: A Frontier Method for ME in HEVC. Science and Education Publishing.
  22. Video Rendering Filters. Directshow по-русски.
  23. Windows legacy audio components. Wikipedia.
  24. Microsoft Media Foundation. MSDN.
  25. Media Foundation. Wikipedia.
  26. Impedir Suavização de Vídeo. Group Policy Administrative Templates.
  27. Video overlay. Wikipedia.
  28. DirectX Options. DVBViewer.
  29. About YUV Video (Windows). MSDN.
  30. Windows Media Player 10 Help. Microsoft.
  31. Mastering Windows XP Home Edition. Guy Hart-Davis.
  32. WMP 11 Video Acceleration Settings. Microsoft Windows Media Player Public Newsletter.
  33. Comparing Direct2D and GDI Hardware Acceleration. MSDN.
  34. Enabling DirectX Video Acceleration. MSDN.
  35. YUV Mixing Mode (Windows). MSDN.
  36. The Video Renderer Connection. Windows CE Multimedia Blog.

2 comentários em “Configurações de Aceleração de Vídeo avançadas

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.