либјпег-турбо је првобитно био заснован на либјпег/СИМД, ММКС-убрзаном деривату либјпег в6б
У Линук-у, када је реч о кодецима, већина корисника обично не брине о томе, пошто је у многим дистрибуцијама овај проблем обично већ решен тако што је подразумевано укључен у циљ, поред прегледања или уређивања апликација, они такође доприносе свом зрну песка укључујући неке додатке.
Али шта се дешава када корисник жели да побољша перформансе у одређеним аспектима, рецимо за задатке уређивања или за једноставно слободно време. У овом делу се не укључују сви корисници, али они који су заинтересовани теже да истраже предности и недостатке које сваки формат нуди.
И ту се појављује кодек о коме ћемо данас да причамо, а то је да је као такав ЈПЕГ формат слике један од најпопуларнијих, али то не значи да је најбољи, јер постоје и други формати који нуде многе предности у односу на ово.
libjpeg-turbo је решење за неке недостатке JPEG-а у поређењу са другим форматима, као што је поменуто у његовом GitHub репозиторијуму:
либјпег-турбо је кодек за ЈПЕГ слике који користи СИМД инструкције да убрза ЈПЕГ компресију и декомпресију на к86, к86-64, Арм, ПоверПЦ и МИПС системима, као и прогресивну ЈПЕГ компресију на к86, к86-64 и арм. На таквим системима, либјпег-турбо је генерално 2-6 пута бржи од либјпег-а, под условом да је све остало једнако. На другим типовима система, либјпег-турбо и даље може да надмаши либјпег за значајну количину, захваљујући својим високо оптимизованим Хафмановим рутинама кодирања. У многим случајевима, перформансе либјпег-турбо су ривале власничким брзим ЈПЕГ кодецима.
либјпег-турбо имплементира и традиционални либјпег АПИ и мање моћан, али једноставнији ТурбоЈПЕГ АПИ. либјпег-турбо такође има проширења простора боја која му омогућавају да компримује/декомпресује у 32-битне и биг-ендиан бафере пиксела (РГБКС, КСБГР, итд.), као и Јава интерфејс са свим функцијама.
Libjpeg-turbo је API/ABI-компатибилна огранка класичне libjpeg библиотеке , дизајнирана да обезбеди највеће брзине кодирања и декодирања. Поред стандардног libjpeg API-ја, библиотека пружа сопствени TurboJPEG API и бројна проширења са моделима приказивања боја који омогућавају компресију слика у 32-битне пикселне бафере (RGBX, XBGR) или декодирање.
На другим архитектурама, убрзање није толико значајно, али због коришћења оптимизованих функција Хафмановог кодирања, библиотека је и даље приметно бржа од libjpeg-а и приближава се висококвалитетним власничким JPEG кодецима по питању перформанси.
Вреди напоменути да је ibjpeg-turbo недавно добио своју нову грану 3.0 , а главне иновације истакнуте у овој новој верзији су следеће:
- Додата подршка за подузорковање боја 4:1:1, што вам омогућава да конвертујете, исеците и ротирате ЈПЕГ слике подузоркованог формата 4:1:1 без губитка квалитета, као и да их декомпресујете и конвертујете у ИУВ модел боја.
- Значајно убрзано израчунавање оптималних Хафманових табела. За мале слике (256×256), промена је омогућила да се време компресије смањи до два пута.
- Додата је могућност примене аритметичког ентропијског кодирања за ЈПЕГ слике са приказом боја од 12 бита по каналу.
- ТурбоЈПЕГ АПИ је значајно редизајниран како би се уклонила постојећа ограничења и повећала проширивост. На пример, све функције Ц сада имају префикс "тј3".
- Многе заставице и режими су конвертовани из аргумената функције у опште АПИ параметре.
- Подршка за слике са 12 и 16 бита боје по каналу у режимима са губицима и без губитака.
- Додан је режим ЈПЕГ датотеке без губитака, који је доступан за слике са 8, 12 и 16 бита боје по каналу. Додата је нова функција јпег_енабле_лосслесс() и опција командне линије „-лосслесс“.
- Уклоњена су застарела поља, конструктори и методе у Јава ТурбоЈПЕГ АПИ-ју.
На крају, треба напоменути да у будућности аутор либјпег-турбо намерава да ограничи рад на пројекту само на објављивање ажурирања са исправкама грешака. Развој нове верзије 3.1 неће почети док се не прибаве средства за пројекат.
За оне који су заинтересовани за код , он се дистрибуира под три BSD-сличне лиценце: IJG, модификована од стране BSD-а и zlib. Бинарне датотеке су доступне за Linux, macOS и Windows. Више детаља и преузимање бинарних датотека можете пронаћи са следећег линка.