Бесплатная библиотека с функциями SIMD
libjpeg-turbo — это JPEG кодек изображений. , который использует класс параллельных компьютеров, называемый одна инструкция, несколько данных (SIMD). Сюда входят инструкции для таких процессоров, как MMX, SSE2, AVX2, NEON и AltiVec. Инструкции SIMD используются для ускорения базового JPEG сжатия файлов или распаковки на платформах x86, x86-64. , ARM и PowerPC. Эта программа последовала за программой libjpeg, но превосходит ее, будучи в 2–6 раз быстрее, чем ее предшественница. Благодаря высокооптимизированным процедурам кодирования Хаффмана этот инструмент работает быстрее и плавнее, чем его другие проприетарные высокоскоростные кодеки JPEG.
Что такое libjpeg-turbo?
libjpeg-turbo изначально был основан на libjpeg/SIMD, дочерней компании libjpeg v6b, созданной Миясакой Масару, с ускорением MMX. В конце 2000-х годов компании TigerVNC и VirtualGL внесли различные обновления кодека. Эта утилита выросла в автономную задачу с целью быстрого создания JPEG инновация сжатия или декомпрессии, доступная для более широкого круга клиентов и инженеров.
Предприятиес открытым исходным кодом было названо таким образом, поскольку оно обеспечивает ускоренное с помощью SIMD выполнение задач. стандартный бизнес-интерфейс libjpeg API. Библиотека, которую мы предоставляем, которая выполняет этот API, представляет собой два API/ABI, которые хороши и совершенны в числовом отношении с libjpeg v6b. В качестве альтернативы он также может быть разработан как API/ABI с libjpeg v7 и v8. Обратите внимание, что он исключает поддержку нестандартной группы SmartScale, представленной в libjpeg v8.
Этот инструмент актуализирует как обычный API libjpeg, так и более четкий API TurboJPEG. TurboJPEG — это API более высокого уровня, изначально созданный для использования VirtualGL и TurboVNC. У них разные задачи, но все указанные программы имеют открытый исходный код и в настоящее время также используют его. Еще одно различие между ними заключается в том, что последний имеет простой в использовании интерфейс для упаковки и распаковки изображений JPEG в памяти.
Зачем использовать libjpeg-turbo?
Внутри libjpeg-turbo API TurboJPEG предоставляется методом покрывающей библиотеки, которая обращается к API libjpeg. Эта конкретная программа, с другой стороны, включает расширения цветового пространства, которые позволяют ей упаковывать или распаковывать до 32-элементных и огромных колыбелей пикселей с порядком байтов — RGBX и XBGR. — точно так же, как полностью выделенный интерфейс Java.