Libjpeg

libjpeg — библиотека программ, созданная Independent JPEG Group. Содержит функции для работы с изображениями формата JPEG. Написана преимущественно на языке программирования Си с использованием ассемблера x86 (синтаксис MASM).

Общие сведения
libjpeg
Тип графическая библиотека
Разработчик Independent JPEG Group
Написана на C
Операционные системы POSIX, Microsoft Windows, Mac OS X, Linux, FreeBSD, MS-DOS
Первый выпуск 7 октября 1991[1]
Последняя версия 9e (16 января 2022)
Состояние Актуальный
Лицензия Свободная для любого использования
Сайт ijg.org

Библиотека содержит программы, работающие из командной строки

  • cjpeg — для конвертации изображения в JPEG
  • djpeg — для конвертации изображения из JPEG
  • jpegtran — для выполнения ряда преобразований JPEG-изображений без потери качества
  • rdjpgcom — для обработки JFIF-комментариев
  • wrjpgcom — для обработки JFIF-комментариев

Программа jpegtran используется для оптимизации сжатия JPEG файла, преобразования между прогрессивным и непрогрессивным форматами JPEG, вырезания специфичных для создавшего файл приложения данных или для выполнения некоторых трансформаций файла — например, обесцвечивания, вращения (на углы, кратные 90o) и отражения (в некоторых пределах) — все это выполняется по возможности без потерь (то есть без декомпрессии и повторного сжатия изображения, которое из-за переквантования приводит к снижению качества изображения).

В списке создаваемых libjpeg форматов — JIF, JFIF, BMP (в форматах Windows и OS/2), GIF, PPM/PGM, RLE, TGA (TARGA), в списке читаемых форматов — JIF, JFIF, BMP (в форматах Windows и OS/2), GIF, PPM/PGM, RLE, TGA (TARGA), TIFF, о чём можно прочитать в документации к libjpeg, доступной на ijg.org.

История

Реализация JPEG от Independent JPEG Group (IJG) была впервые публично представлена ​​7 октября 1991 года и с тех пор значительно усовершенствовалась. Первоначально разработка велась в основном Томом Лейном[2].

Для версии 5, которая была выпущена 24 сентября 1994 года, вся кодовая база была переписана. Она представила служебные программы rdjpgcom и wrjpgcom для обработки встроенных текстовых комментариев. Версия 6 от 2 августа 1995 года поставлялась с поддержкой прогрессивного JPEG и впервые с служебной программой jpegtran . Эта утилита была расширена функциями поворота и переворота изображений и снижения градаций серого в версии 6b.

libjpeg-turbo

Из версии 6b libjpeg от 27 марта 1998 года Миясака Масару создал ветку под названием libjpeg/SIMD , которая включала оптимизации x86 SIMD. Она получила существенный вклад от проектов TigerVNC и VirtualGL в 2009 году. На этой основе в 2010 году был создан проект libjpeg-turbo[3].

В 2019 году libjpeg-turbo была одобрена ISO и ITU и стала эталонной реализацией формата JPEG[4].

См. также

Ссылки