The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Доступна библиотека libjpeg-turbo 1.5.0

08.06.2016 11:14

После полутора лет разработки представлен выпуск libjpeg-turbo 1.5.0, высокопроизводительной библиотеки для кодирования и декодирования изображений в формате JPEG. Libjpeg-turbo представляет собой совместимый на уровне API/ABI форк классической библиотеки libjpeg, нацеленный на обеспечение максимальной скорости кодирования и декодирования. Кроме стандартного libjpeg API библиотека предоставляет собственный TurboJPEG API и ряд расширений с моделями представления цвета, дающих возможность сжимать изображения в 32-разрядные пиксельные буферы (RGBX, XBGR) или декодировать из них. Код распространяется под тремя BSD-подобными лицензиями IJG, модифицированой BSD и zlib, бинарные сборки подготовлены для Linux (rpm, deb), OS X и Windows.

По сравнению с libjpeg библиотека libjpeg-turbo позволяет добиться ускорения операций кодирования и декодирования JPEG в 2-4 раза, благодаря использованию инструкций SIMD (MMX, SSE2, NEON, AltiVec VMX) на архитектурах x86, x86-64, PowerPC и ARM. На других архитектурах ускорение не столь значительное, но за счёт применения оптимизированных функций кодирования Хаффмана библиотека всё равно заметно быстрее libjpeg и близка по своим показателям к высококачественным проприетарным кодекам JPEG. Отдельно развивается mozjpeg, форк libjpeg-turbo, который движется в сторону оптимизации размера результирующих изображений.

Основные новшества:

  • Для архитектуры PowerPC реализована поддержка полноценного ускорения с использованием инструкций AltiVec VMX (128-разрядный SIMD), что позволило увеличить производительность кодирования в 3-4 раза и декодирования в 2-2.5 раза;
  • Добавлены две новые функции libjpeg API: jpeg_skip_scanlines() и jpeg_crop_scanline() для частичного декодирования изображений JPEG;
  • В классах TJCompressor и TJDecompressor, представленных в TurboJPEG Java API, реализован интерфейс Closeable, что позволяет использовать данные классы в выражениях try-with-resources;
  • Буферы с частями исходного изображения теперь передаются в функции TurboJPEG C API и в jpeg_mem_src() в режиме только для чтения, не допускающем внесение изменений;
  • Добавлена переменная окружения JSIMD_FORCENONE позволяющая во время работы отключить применение оптимизаций SIMD для архитектуры x86-64;
  • В TJBench добавлена опция "-nowrite" запрещающая вывод изображений в процессе измерения производительности (позволяет минимизировать влияние задержек при дисковой записи);
  • На SSE2-совместимых платформах x86 и x86-64, а также на NEON-совместимых 32- и 64-разрядных платформах ARM реализовано SIMD-ускорение кодирования Хаффмана, которое позволило увеличить скорость кодирования полноцветных JPEG на 10-15% для современных процессоров Intel и AMD, на 30% для iPhone 4S и CPU Cortex-A9, на 6-8% для Nexus 5X, CPU Cortex-A53 и Cortex-A57, на 40% для iPhone 5S и Apple A7;
  • На 64-разрядных процессорах ARM (ARMv8) задействованы инструкции NEON для ускорения типовых алгоритмов сжатия и распаковки, что позволило ускорить операции сжатия полноцветных JPEG в среднем на 73% на CPU Cavium ThunderX и в 2-2.5 раза на CPU Cortex-A53 и Cortex-A57. Скорость распаковки увеличилась в 2 раза на CPU Cavium ThunderX и на 15% на CPU Cortex-A53.


  1. Главная ссылка к новости (https://sourceforge.net/p/libj...)
  2. OpenNews: Истёк срок патента на методы оптимизации JPEG
  3. OpenNews: Выпуск библиотеки libjpeg-turbo 1.4.0
  4. OpenNews: Доступен MozJPEG 3.0, высокоэффективный кодировщик JPEG-изображений от проекта Mozilla
  5. OpenNews: Продемонстрирован JPEG-файл, превращающийся в PNG при AES-шифровании и в PDF после 3DES-дешифровки
  6. OpenNews: Стеганографический веб-сервис DarkJPEG
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/44563-libjpeg-turbo
Ключевые слова: libjpeg-turbo, libjpeg, jpeg, image
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:33, 08/06/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    >JPEG

    Невольно посмотрел на календарь.

     
     
  • 2.12, Аноним (-), 13:52, 08/06/2016 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Да, в наше время этот отсталый формат уже давно нигде не используется, дурачки одним словом
     

  • 1.2, Аноним (2), 11:36, 08/06/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Сам JPEG пора уже на свалку.
     
     
  • 2.3, Аноним (-), 11:42, 08/06/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Сам JPEG пора уже на свалку.

    Чем он тебе мешает?

     
  • 2.4, RazrFalcon (ok), 11:49, 08/06/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Альтернативы? Тот же webp поддерживается от силы половиной софта.
     
     
  • 3.5, ЛинуксПользователь (ok), 11:59, 08/06/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Очень сильно преувеличили
     
  • 3.23, Аноним (-), 12:08, 10/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    jpeg2000
     
  • 2.6, Аноним 84702 (?), 12:08, 08/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А какие есть сейчас форматы, которые могли бы его полноценно заменить?
     
     
  • 3.7, Аноним (-), 12:15, 08/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    FLIF
     
  • 3.8, Я (??), 12:23, 08/06/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    BPG
     
  • 3.9, anonymous (??), 12:39, 08/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    JPEG 2K (если допилить OpenJPEG)
     
  • 3.13, Аноним (-), 13:53, 08/06/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Инет у всех гигабиты, т.ч. BMP
     
     
  • 4.17, anonymous (??), 17:18, 08/06/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Гори в аду
     
     
  • 5.20, Ананимас (ok), 01:09, 09/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ну шутили же раньше про вирусы, написанные на визуал студии и весом в мегабайты. И на тебе...
    Скажи спасибо что не tiff.
     
     
  • 6.21, Аноним (-), 09:08, 09/06/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А чем tiff не угодил? Его использовали со стародавних времен, когда экономили каждый байт. У него поддерживаются разные алгоритмы сжатия. В том числе есть крутые алгоритмы для сжатия изображений с печатным текстом, когда на изображении ищутся повторяющиеся фрагменты (соответсвующие печатным символам или их последовательностям) и после изображения сжимаются с учетом этой информации. О использовании подобного механизма я слышал только в djvu.
     
     
  • 7.22, anonymous (??), 16:13, 09/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Нишу TIFF сейчас занял PDF.
     
  • 2.15, Нанобот (ok), 16:44, 08/06/2016 [^] [^^] [^^^] [ответить]  
  • +19 +/
    иксперды опеннета с недоверием относятся к форматам, возраст которых превышает возраст иксперда
     
     
  • 3.19, Led (ok), 23:58, 08/06/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > иксперды опеннета с недоверием относятся к форматам, возраст которых превышает возраст иксперда

    ...более, чем в два раза.

     

  • 1.10, Аноним (-), 12:49, 08/06/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Форматов может и полно, но jpeg пока рано списывать. По выше указанным причинам. Кэп.
     
     
  • 2.14, Аноним (-), 13:54, 08/06/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Капитан Занудство
     

  • 1.11, Аноним (-), 13:48, 08/06/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    FLIF, BPG, WebP нефига не работает на зеркалках и фотиках RAW рулит этим миром.
     
  • 1.16, ryoken (ok), 16:57, 08/06/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > благодаря использованию инструкций SIMD (MMX, SSE2, NEON)  на архитектурах x86, x86-64,
    > PowerPC и ARM.
    > Для архитектуры PowerPC реализована поддержка полноценного ускорения с использованием
    > инструкций AltiVec VMX  (128-разрядный SIMD)

    Определитесь плз в показаниях.

     
  • 1.18, mkarev (ok), 19:58, 08/06/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Корневой CMakeLists.txt
    if(NOT WIN32)
      message(FATAL_ERROR "Platform not supported by this build system.  Use autotools instead.")
    endif()

    то ли недоделаи еще систему сборки, то ли мазахисты

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру