libjpeg-turbo iš pradžių buvo pagrįsta libjpeg/SIMD, MMX pagreitintu libjpeg v6b išvestiniu.
„Linux“, kalbant apie kodekus, dauguma vartotojų paprastai dėl to nesijaudina, nes daugelyje platinimų ši problema paprastai jau išspręsta įtraukus į tikslą pagal numatytuosius nustatymus, be programų peržiūros ar redagavimo, jie taip pat prisideda prie smėlio, įskaitant kai kuriuos priedus.
Bet kas atsitinka, kai vartotojas nori pagerinti našumą tam tikrais aspektais, tarkime, redagavimo užduotims ar paprastam laisvalaikiui. Šioje dalyje ne visi vartotojai įsitraukia, bet tie, kurie domisi, yra linkę ištirti kiekvieno formato privalumus ir trūkumus.
Štai čia atsiranda kodekas, apie kurį šiandien kalbėsime, o būtent JPEG vaizdo formatas yra vienas populiariausių, tačiau tai nereiškia, kad jis yra geriausias, nes yra ir kitų formatų, suteikia daug pranašumų prieš tai.
„libjpeg-turbo“ yra sprendimas, skirtas kai kuriems JPEG trūkumams , palyginti su kitais formatais, kaip nurodyta jo „GitHub“ saugykloje:
libjpeg-turbo yra JPEG vaizdo kodekas, kuris naudoja SIMD instrukcijas, kad pagreitintų etaloninį JPEG glaudinimą ir išglaudinimą x86, x86-64, Arm, PowerPC ir MIPS sistemose, taip pat laipsnišką JPEG glaudinimą x86, x86-64 ir arm . Tokiose sistemose libjpeg-turbo paprastai yra 2–6 kartus greitesnis nei libjpeg, o visa kita yra vienoda. Kitų tipų sistemose libjpeg-turbo vis tiek gali gerokai pranokti libjpeg dėl labai optimizuotos Huffmano kodavimo tvarkos. Daugeliu atvejų libjpeg-turbo našumas konkuruoja su patentuotų didelės spartos JPEG kodekų našumu.
libjpeg-turbo įgyvendina ir tradicinę libjpeg API, ir mažiau galingą, bet paprastesnę TurboJPEG API. „libjpeg-turbo“ taip pat turi spalvų erdvės plėtinius, leidžiančius suspausti / išskleisti iki 32 bitų ir didelių pikselių buferių (RGBX, XBGR ir kt.), taip pat visų funkcijų turinčią „Java“ sąsają.
„Libjpeg-turbo“ yra API/ABI suderinama klasikinės „libjpeg“ bibliotekos atšaka , sukurta siekiant užtikrinti greičiausią kodavimo ir dekodavimo greitį. Be standartinės „libjpeg“ API, biblioteka teikia savo „TurboJPEG“ API ir keletą plėtinių su spalvų perteikimo modeliais, kurie leidžia suspausti vaizdus į 32 bitų pikselių buferius (RGBX, XBGR) arba dekoduoti.
Kitose architektūrose pagreitis nėra toks reikšmingas, tačiau dėl optimizuotų „Huffman“ kodavimo funkcijų naudojimo biblioteka vis tiek yra pastebimai greitesnė nei „libjpeg“ ir našumu artėja prie aukštos kokybės patentuotų JPEG kodekų.
Verta paminėti, kad „ibjpeg-turbo“ neseniai gavo naują 3.0 versiją , o pagrindinės šios naujos versijos naujovės yra šios:
- Pridėtas 4:1:1 spalvų atrankos palaikymas, leidžiantis konvertuoti, apkarpyti ir pasukti 4:1:1 atrinktus JPEG vaizdus neprarandant kokybės, taip pat juos išskleisti ir konvertuoti į YUV spalvų modelį.
- Žymiai paspartintas optimalių Huffman lentelių skaičiavimas. Mažiems vaizdams (256 × 256) pakeitimas leido sutrumpinti suspaudimo laiką iki dviejų kartų.
- Pridėta galimybė pritaikyti aritmetinį entropijos kodavimą JPEG vaizdams su 12 bitų kanalo spalvų atvaizdavimu.
- TurboJPEG API buvo gerokai pakeista, kad būtų pašalinti esami apribojimai ir padidintas išplėtimas. Pavyzdžiui, visos C funkcijos dabar turi priešdėlį „tj3“.
- Daugelis vėliavėlių ir režimų buvo konvertuoti iš funkcijos argumentų į bendruosius API parametrus.
- Vaizdų su 12 ir 16 bitų spalvų viename kanale palaikymas nuostolingo ir be nuostolių režimuose.
- Pridėtas be nuostolių JPEG failo režimas, kuris galimas vaizdams su 8, 12 ir 16 bitų spalvų viename kanale. Pridėta nauja funkcija jpeg_enable_lossless() ir komandinės eilutės parinktis „-lossless“.
- Pašalinti nebenaudojami laukai, konstruktoriai ir metodai iš Java TurboJPEG API.
Galiausiai reikia paminėti, kad ateityje libjpeg-turbo autorius ketina apriboti darbą su projektu ir išleisti tik atnaujinimus su klaidų pataisymais. Naujos 3.1 versijos kūrimas nebus pradėtas, kol nebus gautas projekto finansavimas.
Tiems, kurie domisi kodu , jis platinamas pagal tris BSD tipo licencijas: IJG, modifikuota BSD, ir zlib. Dvejetainiai failai yra prieinami „Linux“, „macOS“ ir „Windows“. Daugiau informacijos ir dvejetainius failus galite atsisiųsti iš šios nuorodos.