Chrome добавляет поддержку JPEG XL с декодером на Rust

Изображение: OpenAI
Chrome добавляет поддержку изображений JPEG XL с версии 155 по просьбам веб-разработчиков, сообщается на сайте браузера.
По данным разработчиков, JPEG XL обеспечивает на 30–50% более эффективное сжатие, чем JPEG, и поддерживает сжатие без потерь. Команда считает формат особенно полезным для фотографий, где важно сохранить высокое качество, и там, где нужно постепенно декодировать изображение. Для лучшего результата разработчики рекомендуют попробовать и AVIF, и JPEG XL.
Декодеры изображений обрабатывают сложные двоичные данные из сети и работают внутри процесса рендеринга браузера. В декодерах на C++ встречались уязвимости, связанные с работой с памятью. Чтобы предотвращать такие ошибки, команда Chrome использует библиотеку jxl-rs, написанную на Rust. Песочница при этом служит вторым рубежом защиты.
Для ускорения обработки разработчики использовали SIMD-инструкции, ограничив небезопасные операции небольшим числом тщательно проверенных участков кода. Библиотеку проверяли с помощью фаззинга и анализа кода средствами ИИ. По словам команды, за всю историю разработки jxl-rs ошибок работы с памятью в ней не обнаружили.



