Sobre o projeto

libjxl é a implementação de referência do JPEG XL (ISO/IEC 18181), oferecendo tanto um codificador quanto um decodificador como biblioteca de software. O JPEG XL foi padronizado em 2022; a parte 1 especifica o codestream principal, a parte 2 o formato de arquivo, a parte 3 a conformidade do decodificador e a parte 4 é este software de referência. O repositório inclui ferramentas de linha de comando: cjxl para codificação e djxl para decodificação. Uma codificação básica é `cjxl input.png output.jxl`, e a decodificação é `djxl input.jxl output.png`. A fidelidade visual pode ser ajustada com --distance (unidades de diferença mínima perceptível, 0 para sem perdas, faixa útil com perdas aproximadamente de 0,5 a 3,0) ou --quality (0-100, aproximadamente equivalente ao libjpeg). O esforço de codificação é controlado com --effort. Listas completas de opções estão disponíveis via cjxl --help ou cjxl -v -v --help. Os formatos de entrada/saída suportados incluem OpenEXR, GIF, JPEG, NetPBM, Portable FloatMap, PGX, PNG, PNG animado e o próprio JPEG XL. Para entrada JPEG, o cjxl usa por padrão recompressão sem perdas, e o djxl pode reconstruir o JPEG original quando a extensão de saída é .jpg. A instalação normalmente é feita por pacotes de distribuição (por exemplo, libjxl-tools em sistemas baseados em Debian, ou libjxl-devtools para ferramentas de benchmarking), Homebrew no macOS (jpeg-xl), ou compilando a partir do código-fonte. Binários para Windows e pacotes .deb para Debian/Ubuntu são publicados na página de releases. Para desenvolvedores, a API da biblioteca está documentada no readthedocs, com aplicações de exemplo e plugins fornecidos como referências de integração. As orientações de benchmarking cobrem a medição de velocidade de decodificação em single-thread e multi-thread; o djxl pode imprimir informações de velocidade de decodificação e a imagem de saída é opcional para benchmarking. O projeto é licenciado sob a licença BSD de 3 cláusulas com uma concessão adicional de direitos de propriedade intelectual descrita no arquivo PATENTS. A documentação inclui uma visão geral do formato, um artigo introdutório, uma visão geral XL dos módulos do código-fonte e o white paper do JPEG XL. Uma nota de segurança recomenda atualizar para a v0.12 ou posterior devido a numerosas correções de segurança. O desenvolvimento do jpegli, um codificador e decodificador JPEG aprimorado, continua em um repositório separado.