libjpeg-turbo

Programinė įranga Screenshot:
libjpeg-turbo
Programinė detalės:
Versija: 1.4.90 Atnaujintas
Įkėlimo datą: 10 Mar 16
Kūrėjas: D. R. Commander
Licencija: Nemokamai
Populiarumas: 68

Rating: nan/5 (Total Votes: 0)

libjpeg turbo yra atviro kodo, cross-platform ir visiškai nemokama programinė įranga, inžinerijos teikti didelės spartos orginalią libjpeg biblioteka programinę įrangą, specialiai sukurtą x86 ir x86-64 procesoriai, kurie naudoja SIMD ( viensrautės, Keli duomenis) instrukcijos, kaip antai SSE2, MMX ir neoninės, paspartinti pradinis JPEG dekompresija ir suspaudimo.


Labai greitai JPEG kodekas

programinė įranga yra labai greitai JPEG kodekas, paprastai yra 2-4x greičiau nei originalioje versijoje libjpeg. Projektas iš pradžių buvo grindžiamas libjpeg / SIMD projektas, sukurtas Miyasaka Masaru.


Įgyvendina tradicinį libjpeg API

Turbo versija libjpeg bibliotekoje taip pat įgyvendina tradicinį libjpeg API, taip pat paprastą TurboJPEG API. It features colorspace plėtinius, kuri leidžia vartotojams suspausti arba iš išskleisti į BIG-endian ir 32 bitų pikselių buferiai (XBGR, RGBX ir tt), ir pilnai Java sąsaja.


Platinama kaip gimtoji montuotojams už DEB ir RPM pagrindu OS

Jūsų patogumui, programinė įranga yra platinama kaip gimtoji montuotojams už DEB ir RPM pagrindu operacinių sistemų, pavyzdžiui, Debian, Ubuntu, Linux Mint, Fedora, CentOS, Red Hat Enterprise Linux, openSUSE, Mageia ir tt, remti ir 64 ir 32 bitų aparatūros platformos.


Darbo su libjpeg-turbo

libjpeg turbo projektas gali būti lengvai įdiegti iš pagrindinių programinės įrangos saugyklų GNU / Linux distribucija. Ji taip pat bus automatiškai įdiegtas kartu su bet kokios programinės įrangos, kad to reikalauja.

Jei norite įdiegti rankiniu būdu, naudojant šaltinio paketą, jei norite optimizuoti savo aparatūros Architektūra / operacinę sistemą, atsisiųsti ir išsaugoti naujausią archyvą nuo Softoware, ekstraktas jo turinį naudojant archyvo vadybininkas įrankis, atidarykite terminalo programą ir eiti į išgautų archyvo failo vietą (pavyzdžiui, CD / namų / softoware / libjpeg turbo).

Tada paleiskite & lsquo; ./ configure && padaryti & rsquo; komanda konfigūruoti ir sudaryti programą, o po to ir lsquo; sudo make install & rsquo; commad jį įdiegti sistemą platus ir kad ji taptų prieinama visoms paraiškoms

Kas naujo , šioje laidoje.

    < li> Ištaisyta statyti klausimas OS X "PowerPC platformoms (md5cmp nesukūrė, nes OS X" neteikia le32toh () ir htole32 () funkcijos.).
  • ne SIMD RGB565 spalva konversijos kodas neveikia teisingai didelių endian mašinos. Tai buvo fiksuotas.
  • Ištaisyta klausimą tjPlaneSizeYUV (), kuriuo būtų klaidingai return 1 vietoj -1, jei ComponentID buvo & gt; 0 ir subsamp buvo TJSAMP_GRAY.
  • Ištaisyta problema tjBufSizeYUV2 () wherby ji klaidingai grįžti 0 vietoj -1, jei plotis buvo & lt; 1.
  • Huffman kodavimo dabar naudoja clz ir BJR instrukcijas tiek tikisi ARM64 platformų.
  • arti () metodą per TJCompressor ir TJDecompressor Java klases dabar idempotent. Anksčiau šis metodas vadinčiau gimtoji tjDestroy () funkcija, net jei TurboJPEG atvejis jau buvo sunaikinta. Tai sukėlė išimtis turi būti mestas užbaigimo metu, jei arti () metodas jau buvo vadinamas. Išimtis buvo sugauta, bet ji vis dar buvo brangus operacija.
  • TurboJPEG API anksčiau sukurtas klaidą (& quot; Nepavyko nustatyti imties ėmimo tipo JPEG & quot;) bandant išskleisti pilki JPEG vaizdus, ​​suspausti, išskyrus 1 (atrankos faktorių, pavyzdžiui, su "cjpeg -grayscale - pavyzdys 2x2). Imties ėmimo techniškai neturi prasmės su pustonių JPEG, todėl horizontali ir vertikali mėginių ėmimo veiksniai tokių vaizdų yra ignoruojami dekompresor. Tačiau TurboJPEG API buvo pernelyg griežtas ir tikėjosi mėginių ėmimo veiksnius turi būti lygus 1, prieš tai traktavo įvaizdį pustoniai JPEG.
  • cjpeg, djpeg ir jpegtran dabar priimti iš -version argumentą, kuris spausdins bibliotekos versiją ir išeiti. "
  • Kalbėdamas 1.4 beta-1 [15], dar labai retas atvejis buvo atrasta, pagal kurią Huffman Encoder vietinis buferis gali būti viršyta, kai buferinis paskirties vadovas yra naudojamas ir labai aukšto dažnio blokas (iš esmės šiukšlių vaizdo duomenys) yra yra užkoduota. Nors Huffman vietos buferis buvo padidintas nuo 128 baitų iki 136 baitų spręsti ankstesnį klausimą, naujas klausimas sukėlė net didesnį buferį turi būti viršyta. Tolesnė analizė atskleidžia, kad absoliuti blogiausiu atveju (pavyzdžiui, nustatant kintamąją AC koeficientus, 32767 ir -32768 JPEG skenavimo tvarka), The Huffman Encoder gali gaminti užkoduotus blokus, kurie kreipiasi padvigubinti neužkoduotos blokų dydis. Taigi, Huffman vietos buferis buvo padidintas iki 256 baitų, kurie turėtų užkirsti kelią tokio klausimo iš naujo nepasikartotų ateityje.
  • Naujas tjPlaneSizeYUV (), tjPlaneWidth () ir tjPlaneHeight () funkcijos nebuvo faktiškai naudojamas ant bet kokios platformos išskyrus OS X ir Windows, nes šios funkcijos nebuvo įtraukti į libturbojpeg mapFile. Tai buvo fiksuotas.
  • atkūrė JPP () JMETHOD () ir toli makrokomandas libjpeg-turbo header files. Į JPP () ir JMETHOD () makrokomandos pradžių buvo įgyvendinta libjpeg kaip remti ne ANSI kompiliatoriai, kad trūko paramą prototipų parametrų būdu. libjpeg turbo niekada palaiko tokius kompiliatoriai, tačiau kai kurie programinės įrangos paketai vis dar naudoja makrokomandas apibrėžti savo prototipus. Panašiai libjpeg turbo niekada palaiko MS-DOS ir kitų platformų, kad turi daug simbolių, tačiau kai kurie programinės įrangos paketai vis dar naudoja Tolimųjų makro. Gana geras argumentas gali būti, kad tai yra bloga praktika pagal atitinkamą programinę įrangą dalį, bet kadangi tai turi įtakos daugiau nei vieną paketą, tai tik lengviau ją išspręsti čia.
  • Fiksuoti klausimai, kurie buvo neleidžiančių ARM 64 bitų SIMD kodą iš renkant už "iOS" ir apėmė ARMv8 architektūrą visus dvejetainius įdiegtų pagal & quot; oficialus & quot; libjpeg turbo SDK OS X.

Kas naujo versijos 1.4.2:

  • Ištaisyta statyti klausimas OS X "PowerPC platformoms ( md5cmp nesukūrė, nes OS X "neteikia le32toh () ir htole32 () funkcijos.).
  • ne SIMD RGB565 spalva konversijos kodas neveikia teisingai didelių endian mašinos. Tai buvo fiksuotas.
  • Ištaisyta klausimą tjPlaneSizeYUV (), kuriuo būtų klaidingai return 1 vietoj -1, jei ComponentID buvo & gt; 0 ir subsamp buvo TJSAMP_GRAY.
  • Ištaisyta problema tjBufSizeYUV2 () wherby ji klaidingai grįžti 0 vietoj -1, jei plotis buvo & lt; 1.
  • Huffman kodavimo dabar naudoja clz ir BJR instrukcijas tiek tikisi ARM64 platformų.
  • arti () metodą per TJCompressor ir TJDecompressor Java klases dabar idempotent. Anksčiau šis metodas vadinčiau gimtoji tjDestroy () funkcija, net jei TurboJPEG atvejis jau buvo sunaikinta. Tai sukėlė išimtis turi būti mestas užbaigimo metu, jei arti () metodas jau buvo vadinamas. Išimtis buvo sugauta, bet ji vis dar buvo brangus operacija.
  • TurboJPEG API anksčiau sukurtas klaidą (& quot; Nepavyko nustatyti imties ėmimo tipo JPEG & quot;) bandant išskleisti pilki JPEG vaizdus, ​​suspausti, išskyrus 1 (atrankos faktorių, pavyzdžiui, su "cjpeg -grayscale - pavyzdys 2x2). Imties ėmimo techniškai neturi prasmės su pustonių JPEG, todėl horizontali ir vertikali mėginių ėmimo veiksniai tokių vaizdų yra ignoruojami dekompresor. Tačiau TurboJPEG API buvo pernelyg griežtas ir tikėjosi mėginių ėmimo veiksnius turi būti lygus 1, prieš tai traktavo įvaizdį pustoniai JPEG.
  • cjpeg, djpeg ir jpegtran dabar priimti iš -version argumentą, kuris spausdins bibliotekos versiją ir išeiti. "
  • Kalbėdamas 1.4 beta-1 [15], dar labai retas atvejis buvo atrasta, pagal kurią Huffman Encoder vietinis buferis gali būti viršyta, kai buferinis paskirties vadovas yra naudojamas ir labai aukšto dažnio blokas (iš esmės šiukšlių vaizdo duomenys) yra yra užkoduota. Nors Huffman vietos buferis buvo padidintas nuo 128 baitų iki 136 baitų spręsti ankstesnį klausimą, naujas klausimas sukėlė net didesnį buferį turi būti viršyta. Tolesnė analizė atskleidžia, kad absoliuti blogiausiu atveju (pavyzdžiui, nustatant kintamąją AC koeficientus, 32767 ir -32768 JPEG skenavimo tvarka), The Huffman Encoder gali gaminti užkoduotus blokus, kurie kreipiasi padvigubinti neužkoduotos blokų dydis. Taigi, Huffman vietos buferis buvo padidintas iki 256 baitų, kurie turėtų užkirsti kelią tokio klausimo iš naujo nepasikartotų ateityje.
  • Naujas tjPlaneSizeYUV (), tjPlaneWidth () ir tjPlaneHeight () funkcijos nebuvo faktiškai naudojamas ant bet kokios platformos išskyrus OS X ir Windows, nes šios funkcijos nebuvo įtraukti į libturbojpeg mapFile. Tai buvo fiksuotas.
  • atkūrė JPP () JMETHOD () ir toli makrokomandas libjpeg-turbo header files. Į JPP () ir JMETHOD () makrokomandos pradžių buvo įgyvendinta libjpeg kaip remti ne ANSI kompiliatoriai, kad trūko paramą prototipų parametrų būdu. libjpeg turbo niekada palaiko tokius kompiliatoriai, tačiau kai kurie programinės įrangos paketai vis dar naudoja makrokomandas apibrėžti savo prototipus. Panašiai libjpeg turbo niekada palaiko MS-DOS ir kitų platformų, kad turi daug simbolių, tačiau kai kurie programinės įrangos paketai vis dar naudoja Tolimųjų makro. Gana geras argumentas gali būti, kad tai yra bloga praktika pagal atitinkamą programinę įrangą dalį, bet kadangi tai turi įtakos daugiau nei vieną paketą, tai tik lengviau ją išspręsti čia.
  • Fiksuoti klausimai, kurie buvo neleidžiančių ARM 64 bitų SIMD kodą iš renkant už "iOS" ir apėmė ARMv8 architektūrą visus dvejetainius įdiegtų pagal & quot; oficialus & quot; libjpeg turbo SDK OS X.

Kas naujo versijos 1.4.0:

  • Ištaisyta statyti klausimas OS X "PowerPC platformoms ( md5cmp nesukūrė, nes OS X "neteikia le32toh () ir htole32 () funkcijos.).
  • ne SIMD RGB565 spalva konversijos kodas neveikia teisingai didelių endian mašinos. Tai buvo fiksuotas.
  • Ištaisyta klausimą tjPlaneSizeYUV (), kuriuo būtų klaidingai return 1 vietoj -1, jei ComponentID buvo & gt; 0 ir subsamp buvo TJSAMP_GRAY.
  • Ištaisyta problema tjBufSizeYUV2 () wherby ji klaidingai grįžti 0 vietoj -1, jei plotis buvo & lt; 1.
  • Huffman kodavimo dabar naudoja clz ir BJR instrukcijas tiek tikisi ARM64 platformų.
  • arti () metodą per TJCompressor ir TJDecompressor Java klases dabar idempotent. Anksčiau šis metodas vadinčiau gimtoji tjDestroy () funkcija, net jei TurboJPEG atvejis jau buvo sunaikinta. Tai sukėlė išimtis turi būti mestas užbaigimo metu, jei arti () metodas jau buvo vadinamas. Išimtis buvo sugauta, bet ji vis dar buvo brangus operacija.
  • TurboJPEG API anksčiau sukurtas klaidą (& quot; Nepavyko nustatyti imties ėmimo tipo JPEG & quot;) bandant išskleisti pilki JPEG vaizdus, ​​suspausti, išskyrus 1 (atrankos faktorių, pavyzdžiui, su "cjpeg -grayscale - pavyzdys 2x2). Imties ėmimo techniškai neturi prasmės su pustonių JPEG, todėl horizontali ir vertikali mėginių ėmimo veiksniai tokių vaizdų yra ignoruojami dekompresor. Tačiau TurboJPEG API buvo pernelyg griežtas ir tikėjosi mėginių ėmimo veiksnius turi būti lygus 1, prieš tai traktavo įvaizdį pustoniai JPEG.
  • cjpeg, djpeg ir jpegtran dabar priimti iš -version argumentą, kuris spausdins bibliotekos versiją ir išeiti. "
  • Kalbėdamas 1.4 beta-1 [15], dar labai retas atvejis buvo atrasta, pagal kurią Huffman Encoder vietinis buferis gali būti viršyta, kai buferinis paskirties vadovas yra naudojamas ir labai aukšto dažnio blokas (iš esmės šiukšlių vaizdo duomenys) yra yra užkoduota. Nors Huffman vietos buferis buvo padidintas nuo 128 baitų iki 136 baitų spręsti ankstesnį klausimą, naujas klausimas sukėlė net didesnį buferį turi būti viršyta. Tolesnė analizė atskleidžia, kad absoliuti blogiausiu atveju (pavyzdžiui, nustatant kintamąją AC koeficientus, 32767 ir -32768 JPEG skenavimo tvarka), The Huffman Encoder gali gaminti užkoduotus blokus, kurie kreipiasi padvigubinti neužkoduotos blokų dydis. Taigi, Huffman vietos buferis buvo padidintas iki 256 baitų, kurie turėtų užkirsti kelią tokio klausimo iš naujo nepasikartotų ateityje.
  • Naujas tjPlaneSizeYUV (), tjPlaneWidth () ir tjPlaneHeight () funkcijos nebuvo faktiškai naudojamas ant bet kokios platformos išskyrus OS X ir Windows, nes šios funkcijos nebuvo įtraukti į libturbojpeg mapFile. Tai buvo fiksuotas.
  • atkūrė JPP () JMETHOD () ir toli makrokomandas libjpeg-turbo header files. Į JPP () ir JMETHOD () makrokomandos pradžių buvo įgyvendinta libjpeg kaip remti ne ANSI kompiliatoriai, kad trūko paramą prototipų parametrų būdu. libjpeg turbo niekada palaiko tokius kompiliatoriai, tačiau kai kurie programinės įrangos paketai vis dar naudoja makrokomandas apibrėžti savo prototipus. Panašiai libjpeg turbo niekada palaiko MS-DOS ir kitų platformų, kad turi daug simbolių, tačiau kai kurie programinės įrangos paketai vis dar naudoja Tolimųjų makro. Gana geras argumentas gali būti, kad tai yra bloga praktika pagal atitinkamą programinę įrangą dalį, bet kadangi tai turi įtakos daugiau nei vieną paketą, tai tik lengviau ją išspręsti čia.
  • Fiksuoti klausimai, kurie buvo neleidžiančių ARM 64 bitų SIMD kodą iš renkant už "iOS" ir apėmė ARMv8 architektūrą visus dvejetainius įdiegtų pagal & quot; oficialus & quot; libjpeg turbo SDK OS X.

Kas naujo versijos 1.3.0:

  • "[1], kad testas" dabar veikia tinkamai FreeBSD, ir nebereikia md5sum vykdomąjį būti pateikti dėl kitos JT * x platformų.
  • [2] suremontuotas pakavimo sistema: - Siekiant išvengti konfliktų su pardavėjomis-tiekiama libjpeg-turbo paketai, oficialūs RPM ir debs už libjpeg-turbo buvo pervadintas į & quot; libjpeg-turbo oficialus & quot ;. - Pagalbinės TurboJPEG bibliotekos dabar yra po / opt / libjpeg-Turbo oficialių Linux ir Mac paketus, siekiant išvengti konfliktų su pardavėjomis-tiekiamas pakuotėse, taip pat supaprastinti pakavimo sistemą. - atleisti paketai dabar sukurtas katalogo struktūrą apibrėžia konfigūravimas kintamųjų & quot; prefiksas & quot ;, & quot; Bindir & quot ;, & quot; libdir & quot ;, ir tt (Un * x) arba CMAKE_INSTALL_PREFIX kintamojo ( "Windows"). Išimtis yra kad dokumentai visada yra pagal numatytąjį sistemos dokumentacijos katalogą Un * x ir Mac sistemoms, ir Windows, The TurboJPEG DLL visada yra "Windows" sistemos kataloge. - Siekiant išvengti painiavos, oficialus libjpeg-turbo paketus Linux / Unix platformose (išskyrus Mac) visada įdiegti 32 bitų bibliotekas / opt / libjpeg-turbo / lib32 ir 64 bitų bibliotekas / opt / libjpeg- Turbo / lib64. - Ištaisyta problema, pagal kurią, kai kuriais atvejais libjpeg-turbo vykdomąjį dėl JT * x sistemų nebuvo tinkamai susieti su bendro naudojimo bibliotekų įdiegtas toje pačioje pakuotėje. - Ištaisyta problema, kuria pastato & quot; montuotojas & quot; nukreipti Windows, kai WITH_JAVA = 1, jeigu imčiau, jei TurboJPEG JAR anksčiau nebuvo pastatytas. - Statybos & quot; įdiegti & quot; tikslinė Windows dabar įdiegia failus į tas pačias vietas, montuotojas nėra.
  • [3] Ištaisyta Huffman kodavimo klaidų, kad neleido I / O suspensija veikia tinkamai.

Kas naujo versijos 1.2.0:

  • statyti problema susidūrė naudojant YASM Unix sistemose buvo fiksuotas.
  • out-of-ribos skaityti į SSE2 SIMD kodas buvo fiksuotas.
  • Naujos colorspace priauginimas konstantos, kurios leidžia paraiškas nurodoma, kad nepanaudoti baitas į 4-baitų RGB buferyje turėtų būti traktuojami kaip alfa kanalas, kai dekompresijos buvo pridėta.
  • regresijos problema susidūrė statant velnias su libjpeg-turbo buvo fiksuotas.
  • "iOS" parama buvo įtraukta į libjpeg-turbo SDK for Mac.

Kas naujo versija 1.1 Beta 1:

  • libjpeg turbo gali būti pastatytas rungtyniauti libjpeg V7 ar v8b API / ABI.
  • Langai statyti sistema dabar naudoja cmake.
  • TurboJPEG / OSS dabar gali suspausti nuo / išskleisti pustoniai rastrai ir konvertuoti RGB arba JPEG vaizdus į YUV plokščių produkcija.
  • jpgtest gali būti naudojama patikrinti dekompresijos našumą su esamais JPEG vaizdų.
  • buvo įtraukta neprivalomas aritmetinis kodavimas ir dekodavimas parama.
  • Kitos apsaugos buvo pridėta nuo negaliojančių Huffman kodus.

Kas naujo versija 1.0.0.

  • Toliau stiprinti patobulinimų ant FreeBSD,
  • UNIX / Linux paketai apima dabar libjpeg run-time programas (cjpeg ir tt) ir žmogus puslapius.
  • Yra 32 bitų papildoma paketas amd64 Debian sistemas.
  • Cygwin parama.
  • Pilnas palaikymas statybos / bandymus su ne x86 architektūros.
  • 64 bitų OS X dvejetainius dabar yra suderinamas su OS X 10.4.
  • Yra įvairių Linux pakavimo patobulinimai.

Kas naujo versiją 0.0.91:

  • Pridėta dokumentus .deb paketus;
  • Fiksuoti duomenys korupcija klausimai, kai dekompresijos didelių JPEG vaizdų ir / arba naudojant buferinį I / O su libjpeg-turbo dekompresor

Kita programinė įranga kūrėjas D. R. Commander

VirtualGL
VirtualGL

7 Mar 16

TurboVNC
TurboVNC

3 Jun 15

Komentarai libjpeg-turbo

Komentarai nerastas
Pridėti komentarą
Pasukite ant paveikslėlio!