Есть ли бесплатный или коммерческий JPEG-декодирование, которое действительно быстро

Я использую C++, libjpeg для декодирования файла JPEG. Я считаю, что это не достаточно быстро, есть ли способ сделать это быстрее, установив какой-либо параметр компиляции? или есть ли другие библиотеки могут открывать файлы JPEG быстрее?

сейчас для открытия изображения в формате jpeg 4368 * 2912 4 м требуется около 750 мс. Я бы хотел, чтобы это можно было уменьшить до 150 мс. Большое спасибо!

Добавлено: IJL кажется быстрее, чем libjpeg:)

5 ответов

Самый быстрый способ - не декодировать его вообще. Обычно вы можете сначала использовать предварительный просмотр в низком разрешении; это требует только низких частот. Для предварительного просмотра размером 546 x 289 пикселей вам нужен только компонент (0,0) (DC).

Есть Intel Performance Primitives, который содержит реализации кодирования / декодирования JPEG

Также см. http://sourceforge.net/projects/libjpeg-turbo/ для вставной замены libjpeg, которая использует SIMD-инструкции для значительного повышения производительности.

Я использую libjpeg из ijg. Это документировано, как изменить для ваших целей, таких как кодирование / декодирование в памяти.

Я думаю, что DirectX и libSDL могут декодировать JPEG - хотя libSDL может использовать libjpeg для декодирования.

Другие вопросы по тегам