Darmowa biblioteka z funkcjami SIMD
libjpeg-turbo to JPEG kodek obrazu wykorzystujący klasę komputerów równoległych o nazwie pojedyncza instrukcja, wiele danych (SIMD). Obejmuje to instrukcje dla procesorów takich jak MMX, SSE2, AVX2, NEON i AltiVec. Instrukcje SIMD służą do przyspieszenia podstawowej kompresji plików lub dekompresji plików JPEG na x86, x86-64 , ARM i PowerPC. Ten program był zgodny z programem libjpeg, ale przewyższa go, ponieważ jest 2 do 6 razy szybszy niż jego poprzednik. Dzięki wysoce zoptymalizowanym procedurom kodowania Huffmana, narzędzie to działa szybciej i płynniej niż inne zastrzeżone kodeki JPEG o wysokiej szybkości.
Co to jest libjpeg-turbo?
libjpeg-turbo została początkowo założona na libjpeg/SIMD, filii libjpeg v6b, stworzonej przez Miyasakę Masaru, z przyspieszoną obsługą MMX. Przedsięwzięcia TigerVNC i VirtualGL dokonały różnych aktualizacji kodeka pod koniec 2000 roku. Ten program narzędziowy przekształcił się w autonomiczne zadanie w celu szybkiego tworzenia plików JPEG innowacja ciśnieniowa lub dekompresyjna dostępna dla szerszego grona klientów i inżynierów.
przedsięwzięcie open source zostało nazwane w ten sposób, ponieważ zapewnia przyspieszoną realizację standard biznesowy libjpeg API. Biblioteka, którą podajemy, wykonuje to API, to dwa API/ABI, które są dobre i doskonałe numerycznie z libjpeg v6b. Można go również alternatywnie zaprojektować jako API/ABI z libjpeg v7 i v8. Zauważ, że wyklucza obsługę dla niestandardowej grupy SmartScale prezentowanej w libjpeg v8.
To narzędzie aktualizuje zarówno zwyczajowy interfejs API libjpeg, ale nie tak dobrze, jak progresywnie czytelny interfejs API TurboJPEG. TurboJPEG to interfejs API o wyższym poziomie, początkowo stworzony do użytku przez VirtualGL i TurboVNC. Mają różne przedsięwzięcia, ale wszystkie wymienione programy są open source i obecnie również z niego korzystają. Kolejną różnicą między nimi jest to, że ten ostatni ma prosty w obsłudze interfejs do pakowania i dekompresowania zdjęć JPEG w pamięci.
Dlaczego używać libjpeg-turbo?
Wewnątrz libjpeg-turbo API TurboJPEG jest udostępniane przez metodę biblioteki pokrywającej, która wywołuje API libjpeg. Z drugiej strony ten konkretny program zawiera rozszerzenia przestrzeni kolorów, które umożliwiają pakowanie lub dekompresowanie do 32-częściowych i ogromnych podstawek pikseli endian — RGBX i XBGR — podobnie jak w pełni podświetlony interfejs Java.