Passados muitos anos desde a última atualização, a comunidade Xiph.Org lançou o FLAC 1.4.0 com pequenas e importantes melhorias.
Para quem não está familiarizado com o FLAC, deve saber que este é um formato de streaming completamente aberto, o que implica não só a abertura das bibliotecas com a implementação de funções de codificação e decodificação, mas também a ausência de restrições no uso de especificações e criando versões derivadas do código da biblioteca.
FLAC é projetado para compactar áudio. Por causa disso, os arquivos resultantes são reproduzíveis e utilizáveis, além de serem menores do que se um algoritmo de compactação estatística (como ZIP) tivesse sido aplicado diretamente ao arquivo PCM.
O formato FLAC usa apenas métodos de codificação sem perdas, o que garante a preservação completa da qualidade original.
O FLAC tornou-se um dos formatos preferidos para vender música na Internet, assim como o Monkey’s Audio, que funciona de forma idêntica.
Além disso, é utilizado na troca de músicas pela rede, como alternativa ao MP3, quando se deseja obter uma redução de tamanho maior do que em um arquivo WAV-PCM e não perder a qualidade do som.
Ao mesmo tempo, os métodos de compressão sem perdas usados permitem que o tamanho do fluxo de áudio original seja reduzido em 50-60%.
Nove anos após a publicação do último tópico importante, a comunidade Xiph.Org lançou uma nova versão do codec FLAC 1.4.0 que fornece codificação de áudio sem perdas.
FLAC 1.4.0 lançado com pequenas e importantes melhorias
No FLAC 1.4.0, destaca-se que foi adicionado suporte para codificação e decodificação com uma profundidade de bits de quantização de 32 bits por amostra.
Outra novidade que acompanha o lançamento desta nova versão é que a eficiência de compressão foi melhorada nos níveis 3 a 8 ao custo de uma ligeira redução na velocidade de codificação devido à maior precisão do cálculo de autocorrelação.
Além disso, destaca-se também que a biblioteca libFLAC e o utilitário flac, nesta nova versão, permitem limitar a taxa de bits mínima para arquivos FLAC, em até um bit por amostra (pode ser útil na organização de transmissões ao vivo) .
A velocidade de codificação aumentada para os níveis 0, 1 e 2 também foi alcançada, juntamente com a compactação ligeiramente melhorada nos níveis 1 a 4, alterando a heurística adaptativa, além de ser possível codificar arquivos com taxas de amostragem de até 1048575Hz
Por outro lado, destaca-se também que a velocidade de compressão foi significativamente melhorada nos processadores ARMv8 de 64 bits, graças ao uso de instruções NEON. Desempenho aprimorado em processadores x86_64 que suportam o conjunto de instruções FMA.
Das outras mudanças que se destacam nesta nova versão:
- A API e ABI das bibliotecas libFLAC e libFLAC++ foram alteradas (a atualização para a versão 1.4 requer que os aplicativos sejam reconstruídos).
- Obsoleto e será removido na próxima versão do plugin para XMMS.
- O utilitário flac tem novas opções “–limit-min-bitrate” e “–keep-foreign-metadata-if-present”.
- A compressão das predefinições -1 e -4 foi ligeiramente melhorada em alguns materiais, alterando a heurística adaptativa do meio
- Aceleração integrada visando especificamente dispositivos ARMv8 de 64 bits usando NEON (Ronen Gvili, Martijn van Beurden)
- Aceleração adicionada para CPUs x86_64 que possuem a extensão do conjunto de instruções FMA
- Agora é possível codificar e decodificar PCM de 32 bits
- Corrigido um problema ao usar o recurso de análise que fazia com que o primeiro quadro tivesse o tamanho e o deslocamento incorretos
- Os arquivos de sistema de compilação MSVC e Makefile.lite foram removidos. Construir com MSVC (Visual Studio) pode ser feito usando CMake
- Adição de um novo decodificador fuzzer, adicionando cobertura de código de pesquisa
- O aviso retornado ao manipular metadados externos agora é mais claro no caso de um usuário tentar restaurar metadados externos do tipo errado, por exemplo, decodificando um arquivo FLAC contendo metadados AIFF externos em um arquivo WAV.