O artigo no qual eu me baseei para escrever este é de autoria do Guru3D e pode ser encontrado
aqui. A primeira imagem aqui presente é de autoria do Guru3D.
Você comprou um PC novo lindão e foda com uma puta placa de vídeo - e gastou uma boa grana nela. E não lhe parece muito "justo" usar apenas todo o potencial dela apenas nos jogos, não é? Poisé, para mim também não. Pensamos em algo no qual ela poderia ser utilizada além de renderizar zilhões de polígonos e logo vídeos nos vem à mente.
Também pudera, com todo esse auê de HDTV aqui, Bluray ali, 1080p acolá, é um tanto impossível deixar de pensar neles. MAAAAS, as nossas grandes amigas ATI e nVidia não parecem muito animadas com essa idéia, tanto que nenhuma delas nos disponibilizou algum player para que possamos aproveitar o produto que adquirimos dela. Sacanagem!
Antes, é melhor que falemos sobre duas coisas que serão de suma importância para um compreendimento claro do que se segue: 1080p e x264 - ou a versão "free" deste, o h264 (em suma é a mesma frescura DivX vs XviD).
1080p1080p é na verdade uma maneira mais compacta de definir a resolução 1920 x 1080. Vendo um número desses não tem como não dizer "que puta resolução!" e é visível que é MUITA coisa para renderizar, ainda mais inúmeras vezes por segundo. Comparem na imagem abaixo:
Como podem ver, é um trabalho bastante grande para a CPU realizar, afinal são 2.073.600 pixels para serem renderizados a cada frame, e como num sistema multitarefa ela deve necessariamente realizar outras coisas, isso torna essa tarefa ainda mais pesada. E enquanto isso a GPU tá lá parada, assoviando e chupando e cana... injusto no mínimo...
Para que haja uma comparação, seguem abaixo, imagens do seriado Legend of the Seeker (Kahlan <3). A primeira na resolução padrão e a segunda em 720p. A diferença na qualidade é absurda no mínimo. As telas estão em 1680 x 1050:
Baixa resolução: 624 x 352
720p: 1280 x 720
x264 e h26499% dos arquivos de mídia que temos em nosso computador tem alguma forma de compressão, sejam as imagens (.jpg, .png, .gif), músicas (.mp3, .wma, .ogg) e, os astros desse mini-artigo, os filmes (.mpg, .mp4, .mkv). Todos esses algoritmos de compactação tem uma idéia bastante bacana por detrás deles (não é simplesmente um arquivo zipado).
Vejam por exemplo o tão famoso .mp3: Nossa (dos humanos) audição é horrível, uma das piores entre todos os seres vivos capaz dela. A frequência do som que nos é audível varia dos 20Hz até os 20Khz, fora dessa faixa nosso ouvido não consegue captar. Mas isso não quer dizer que o som não existe, ele está ali. Mas se não o ouvimos, por que precisamos dele? Aí que está, não precisamos.
O algoritmo do mp3 corta essas faixas. Além disso, ele corta também sons mascarados que nosso ouvido não consegue captar na presença de outro som. E, sobre esse resultado ainda aplica um algoritmo de compactação, deixando o arquivo o menor possível.
Expliquei isso para que entendam a necessidade de usarmos codecs (que são esses formatos). Ninguém iria ter suas músicas em .wav ou suas imagens em .bmp, não é mesmo?
Pois bem, o x264/h264 é o codec de vídeo mais refinado no momento. As extensões de arquivo geralmente são .mkv, também chamados de Matroska. Ele usa inúmeras técnicas de compressão e diversos outros algoritmos para manter o tamanho do arquivo baixo e ao mesmo tempo a qualidade alta. Entre esses algoritmos (comum a outros codecs), pode-se citar um que divide o vídeo em blocos, e compara a cada intervalo de frames se houve uma mudança significativa nesse bloco, caso houve, ele grava a nova informação e se não, só grava que houve uma repetição, logo poupando espaço no arquivo.
Visivelmente, essa é uma tarefa árdua para o processador, tanto na hora de encodar, quanto na hora de executar o arquivo. Some isso a imensa resolução do vídeo e você descobrirá porque os PCs da Xuxa e do Milhão não rodam conteúdo de alta definição.
Certamente um encoder profissional poderia dar uma explicação melhor, mas acho que foi o suficiente para que consigam entender a árdua tarefa que é para a CPU renderizar um arquivo desses.
Bom, agora você sabe o que é 1080p e o que é x264/h264 e sabe que terá qualidade com eles. Mas, como todo bom nerd, nunca está satisfeito com apenas isso, quer sempre algo mais. Filtros e mais filtros! Performance! Aumento na qualidade! Mas tudo isso se torna ainda mais pesado para a CPU.
E a GPU está lá, parada, vários graus Celsius abaixo do processador, tirando uma soneca. E convenhamos, ela é muito melhor para isso do que a CPU. Vamos pegar a série 4800 da ATI ,por exemplo (meh, se todo mundo paga pau para a nVidia, eu posso pagar para a ATI também!), com sua quantidade absurda de steam e shader processors. Certamente teríamos um trabalho mais rápido e melhor caso fosse realizado com ela.
Acho que chega de papo-furado, apresento a vocês a solução
gratuita para seus problemas, o
Media Player Classic Homecinema! Podem clicar ali e baixar ele logo mesmo!
A interface dele é simples e bastante espartana. Muitos já devem conhecer o Media Player Classic do pacote de codecs Klite (excelente pacote BTW) e esse aqui mantém a mesma idéia por detrás do projeto. Ele habilita DXVA – DirectX Video Aceleration – quando possível, fazendo com que o trabalho de executar passe para a GPU e não para a CPU. Além de permitir aplicar efeitos de pós-processamento feitos pelos shader processors de sua GPU!
A versão x64 (aye, versão 64-bits! \o/) tem algumas limitações, que podem ser melhor lidas no site oficial. Bom, depois de instalado, abra as opções dele (View > Options) e configure essas duas telas da seguinte maneira:
IMPORTANTE: Em “DirectShow Video”, caso esteja usando o Windows XP selecione
VMR9 renderless e caso esteja usando o Vista, selecione
EVR Custom Preset. Caso marque a opção “Direct3D Fullscreen (remove tearing)” o Player só executará em tela cheia e para sair do vídeo, deve-se pressionar CONTROL + C. Pelo que eu entendi, isso aplica Antialising no vídeo! Sinta-se livre para alterar qualquer outra configuração.
Após isso, saia do aplicativo e entre de novo para ter certeza de que as novas configurações foram aplicadas.
Após entrar novamente, você está pronto para executar arquivos de vídeo com aceleração por sua GPU! Mas como todo bom nerd, você
precisa dos filtros, pois bem, faça o seguinte:
- Desmarque a opção “Direct3D Fullscreen (remove tearing)” caso a tinha marcado
- Abra um arquivo de vídeo qualquer
- Clique com o direito em qualquer parte do vídeo e vá em Shaders > Combine
- Configure assim:
- Caso deseje, pode marcar novamente a opção “Direct3D Fullscreen (remove tearing)”
Pronto, já deve ter notado a diferença na qualidade! Para ver a diferença com mais clareza, use CONTROL+P para ativar ou desativar os filtros. Compare e comprove! Eu achei a diferença na qualidade
gritante!
Abaixo umas telas para comparações (vejam elas em tela cheia, fica mais clara a diferença):
The Legend of the Seeker 01.12 - Home:
Padrão
Homecinema
Homecinema com shaderJá disse que a Kahlan é linda? <3
Diablo III - Trailer de Gameplay:
Padrão
Homecinema
Homecinema com shaderQuero ver se providencio um arquivo em 1080p para testar, só tinha em 720p. Atualizarei assim que conseguir um.
Atualização 08/03/2010!Como o Biel havia solicitado eu trago uma pequena atualização devido à nova versão do MPC - HC. A parte das configurações para o DXVA não mudaram muito, há apenas umas opções a menos na tela de configuração de filtros internos, o que não é relevante. Porém, vou passar uma atualização nos shaders.
Estou usando atualmente o seguinte:
Configuração atualExplico agora o porquê das diferenças.
- 15-235 -> 0-255 foi substituído pela versão 15-235 -> 0-255 [SD][HD], que suporta ambos vídeos em baixa qualidade (SD) como em alta (HD).
- Deinterlace caiu fora porque segundo o que li, é inútil; o que a GPU faz é melhor. Porém não sei informar como fica para aqueles que não tem GPU.
- BT.601 -> BT.709 entrou pois ele faz um upgrade na qualidade do contraste das cores, em especial o fundo das imagens, o que sempre é bem-vindo.
- YV12 Chroma Upsampling entrou porque alguns vídeos possuem problemas com os vermelhos e esse shader corrige isso.
- Sharpen complex foi substituído pelo Sharpen. Aqui é mais complicado, é uma questão de gosto pessoal escolher entre todos os sharpens disponíveis (Sharpen, Edge Sharpen, Sharpen Complex e Sharpen Complex 2). Recomendo olhar as imagens abaixo de Coração Valente em 720p (filme foda bagarai BTW) e fazer a sua escolha. O recomendável é baixar as imagens e vê-las em tela cheia para melhor ver as diferenças. Caso preferir, pode ver numa apresentação de slides clicando aqui.
Sem sharpen
Sharpen
Edge Sharpen
Sharpen complex
Sharpen complex 2
----------------
Now playing:
Stormwarrior [Stormwarrior] - Thunderer