Быстрая библиотека кодировки JPEG

Проблема может заключаться в том, что каталогом развертывания является «webapps / manager» (/private/tmp/apache-tomcat-8.5.38/webapps/manager), а не «webapps».

10
задан Budric 15 May 2009 в 15:16
поделиться

7 ответов

ImageMagick использует libjpeg (также известную как независимая библиотека группы JPEG). Если вы улучшите скорость libjpeg, скорость ImageMagick JPEG увеличится.

Есть несколько вариантов:

  1. Скомпилировать оптимизированный libjpeg. Если у вас есть современный gcc и хотя бы Pentium 4, вы можете попробовать -O3 -msse2 и посмотреть, сможет ли он повысить вашу скорость. Затем вы можете использовать LD_LIBRARY_PATH или другой способ загрузить вашу libjpeg вместо системной.
  2. Попробуйте libjpeg-mmx. Он не обслуживается, предположительно содержит ошибки и недостатки безопасности, но в вашем случае это может дать прирост скорости.
2
ответ дан 3 December 2019 в 21:22
поделиться

AMD предлагает Framewave , альтернативу IPP с открытым кодом.

3
ответ дан 3 December 2019 в 21:22
поделиться

Я считаю, что GIL, которая является библиотекой в ​​Boost, содержит способ сохранения данных изображения в формате JPEG. Однако я не знаю, насколько это быстро. Учитывая, что библиотека спонсируется Adobe, я ожидал, что она сделана довольно хорошо.

3
ответ дан 3 December 2019 в 21:22
поделиться

Есть также Independent JPEG Group , которая довольно старая, и я не могу ручаться за ее скорость. Но он должен быть стабильным.

Найдено через эту страницу .

1
ответ дан 3 December 2019 в 21:22
поделиться

Если вы посмотрите вокруг, вы можете найти старую версию Intel Библиотека JPEG. Это не с открытым исходным кодом, но это быстро. Этого было достаточно, чтобы получить 25 кадров в секунду на 733 МГц P-III.

1
ответ дан 3 December 2019 в 21:22
поделиться

Я немного по времени кодировал JPEG 512x512 со 100% качеством (я знаю, что 100% не без потерь). По сути, ImageMagick был лишь немного медленнее, чем libjpeg. Для 100 изображений разница была порядка десятых секунды. Затем я получил libjpeg с расширением SIMD ( http://cetus.sakura.ne.jp/softlab/jpeg-x86simd/jpegsimd.html#source ) и это в 6-10 раз быстрее. Обратите внимание, это действительно зависит от типа изображения. Изображения с большим количеством черного действительно быстрые, изображения с деталями повсюду очень медленные - я в это верю ' s алгоритм кодирования. Возможно, мне придется попробовать libjpeg-mmx, потому что она выглядит более поддерживаемой, чем японская версия, которую я получил, и я даже не знаю, что это за лицензия.

Я также пытался заставить Framewave работать, но не смог даже оторвать его от земли. В заголовочных файлах отсутствует определение какой-либо структуры, а форумы не предоставляют никакой поддержки. Я не могу поверить, что он «спонсируется AMD».

1
ответ дан 3 December 2019 в 21:22
поделиться

Проверьте libjpeg/SIMD, в стволе TigerVNC (http://www.tigervnc.com). Мы оптимизировали 64-битные и 32-битные версии, которые почти так же быстро, как IPP при сжатии/разборке исходного JPEG:

_COPY15@lists.sourceforge.net/msg00403.html

6
ответ дан 3 December 2019 в 21:22
поделиться