FLAC 1.4.0 lançado com pequenas e importantes melhorias

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

FLAC 1.4.0 lançado com pequenas e importantes melhorias
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.
Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.