Desenvolvedores do Android confirmaram que o sistema operacional do Google vai abraçar um novo sistema de codificação (codec) de vídeos em formato AV1. Atualmente, o Google usa no sistema o codec conhecido como “libgav1”, mas a empresa de Mountain View já começou a implementar o “libdav1d” como o novo padrão.
A informação foi confirmada, via LinkedIn, por Arif Dikici, um membro do time de desenvolvedores de soluções em vídeo para o Android. Segundo ele, todos os dispositivos lançados a partir do Android 12 (Snow Cone, ou simplesmente “Android S”) já receberam a atualização mandatória e poderão renderizar vídeos em formato AV1 com 60 quadros por segundo (fps) mesmo em resolução HD (720p).
Veja também
Em termos bem resumidos, “codec” é uma sigla para “codificador/decodificador”. Basicamente, trata-se de uma ferramenta que comprime dados – neste caso, a reprodução de uma mídia – e os descomprime no momento de reprodução. Por isso, é comum ver o termo sendo usado junto de algum artigo relacionado a vídeos ou músicas.
Já o AV1 é um formato de vídeo que vem ganhando mais e mais suporte da comunidade desenvolvedora, por oferecer a mesma qualidade que outros formatos (“H264” é o padrão na maioria dos smartphones Android), mas sem precisar de tanta largura de banda para transmissão de dados.
No caso do Google, a implementação do “libdav1d” já vinha sendo cogitada desde pelo menos o Android 10, mas apenas agora se confirmou em definitivo: essencialmente, o novo codec permite que transmissões de vídeo e áudio sejam feitas em um fluxo de dados (bitrate) maior, o que em tese faz com que as mídias reproduzidas saiam com maior qualidade.
Em outras palavras: não é que você vai ganhar uma nova opção de definição de vídeo ou áudio no seu Android, mas sim que as opções que você já tem ficarão mais bonitas, precisas e com menor taxa de stuttering (o “engasgo” de quando um vídeo ainda está carregando).
Para fins de apresentação visual, o tuíte abaixo, de 2023, ajuda a entender: a barra vermelha do gráfico é o atual “libgav1”, enquanto as partes amarelas representam o novo “libdav1d”:
Here’s an informal performance comparison between Google’s libgav1 and VideoLAN’s libdav1d, two open source, CPU-based AV1 decoders.
My test device was a Pixel 3 XL with Qualcomm’s Snapdragon 845, running AOSP Android 13. I played back two videos encoded in AV1: a 6m30s clip of… pic.twitter.com/Qed1QXqv86
— Mishaal Rahman (@MishaalRahman) November 13, 2023
Mas por que o novo codec s veio agora?
Se entendemos que o “libdav1d” é uma melhor opção, então por que o Google resolveu adotá-la somente agora? Bom, a resposta é simples: “concorrência”. O “libgav1” é uma solução nativa do Android – ou seja, criada pelo próprio Google, ao passo em que o “libdav1d” foi feito pela VideoLAN (a dona do app de vídeos VLC) e tem o código aberto.
A ideia era a de que o Android oferecesse aos seus clientes e desenvolvedores uma nova opção de codec para mídias que rivalizasse com a da empresa rival – essencialmente, o “libgav1” era “forçado” em reproduções do YouTube e apps nativos de galeria de alguns smartphones (este último depende de suporte nativo das variações de Android vindas das fabricantes: a OneUI da Samsung, por exemplo, oferece codificação AV1 de forma emulada, não nativa).
E não é como se o Google estivesse “trocando” a sua criação pela solução de terceiros: o “libgav1” ainda estará presente, e a empresa de Mountain View já notificou desenvolvedores de apps que, a partir de agora, suas criações deverão contemplar as duas possibilidades. Quem não o fizer, ou quem demorar a fazê-lo, ainda poderá veicular seus materiais usando o codec antigo.
A reversão da decisão se deu por reclamações de usuários: o “libgav1” roda bem em vídeos com definição até 1080p60fps (Full HD). Nas resoluções acima disso – 2K em diante – é que a coisa começa a complicar: eram notáveis, segundo alguns internautas, a queda de taxa de quadros e a aparição de atrasos (lag) no meio da reprodução.
A mudança já foi implementada e, agora cabe aos desenvolvedores abraçá-la dentro dos dispositivos de suporte nativo. Para o usuário final, muda pouca coisa: se muito, você deve perceber menos – ou nenhum – problema na reprodução de vídeos.
Mas de qualquer forma, é o consumidor quem ganha com isso.