libjpeg-turbo

Software kuvakaappaus:
libjpeg-turbo
Ohjelmiston tiedot:
Versio: 1.4.90 Päivitetty
Lähetyksen päivämäärä: 10 Mar 16
Kehittäjä: D. R. Commander
Lupa: Vapaa
Suosio: 68

Rating: nan/5 (Total Votes: 0)

libjpeg-turbo on avoimen lähdekoodin, cross-platform ja täysin ilmainen ohjelmisto suunniteltu tarjoamaan nopea versio alkuperäisestä libjpeg-ohjelmisto, erityisesti muotoillun x86 ja x86-64 prosessorit, jotka käyttävät SIMD ( Single Instruction, Multiple Data) ohjeet, kuten SSE2, MMX ja NEON, nopeuttaa JPEG purku ja pakkaus.


Erittäin nopea JPEG koodekki

Ohjelmisto on erittäin nopea JPEG koodekki, joka on yleensä 2-4x nopeampi kuin modifioimaton version libjpeg. Hanke alunperin perustuu libjpeg / SIMD projektin luoma Myasaka Masaru.


Toteuttaa perinteisen libjpeg API

Tämä turbo versio libjpeg kirjaston toteuttaa myös perinteisen libjpeg API, samoin kuin suoraviivainen TurboJPEG API. Siinä on väriavaruus laajennuksia, jonka avulla käyttäjät voivat pakata välillä tai purkaa big-endian ja 32-bittinen pikseli puskureita (XBGR, RGBX jne), ja monipuolinen Java käyttöliittymä.


Jaetaan natiivi asentajat DEB ja RPM-pohjainen OSes

Alla ohjelmisto jaetaan natiivi asentajat DEB ja RPM-pohjaisten käyttöjärjestelmien, kuten Debian, Ubuntu, Linux Mint, Fedora, CentOS, Red Hat Enterprise Linux, openSUSE, Mageia jne tukee sekä 64 ja 32-bittinen laitteissa.


Käytön aloittaminen libjpeg-turbo

libjpeg-turbo projekti on helppo asentaa päässä asennuslähteet GNU / Linux-jakelun. Se myös asennetaan automaattisesti mukana tahansa ohjelmisto, joka vaatii sitä.

Voit asentaa sen manuaalisesti lähdepaketista, jos haluat optimoida sitä oman laitearkkitehtuuria / käyttöjärjestelmä, ladata ja tallentaa viimeisimmät arkisto Softoware, sisältö purkautuu käyttämällä arkiston johtaja apuohjelma, avaa Terminal sovellus ja siirry sijainti puretut arkiston tiedosto (esim cd / home / softoware / libjpeg-turbo).

Suorita sitten & lsquo; ./ konfiguroida && tehdä & rsquo; komento määrittää ja kääntää ohjelman, jonka jälkeen & lsquo; sudo make install & rsquo; commad asentaa koko järjestelmän ja asettaa sen kaikkiin sovelluksiin.

Mikä on uusi tässä julkaisussa:

    < li> Kiinteät rakentaa kysymys OS X PowerPC alustoilla (md5cmp epäonnistui rakentaa, koska OS X ei tarjoa le32toh () ja htole32 () toiminnot.).
  • Ei-SIMD RGB565 värimuunnoksen ei toiminut oikein big endian koneita. Tämä on korjattu.
  • Kiinteät ongelman tjPlaneSizeYUV () jolloin se olisi virheellisesti palauttaa 1 sijasta -1 jos ComponentID oli & gt; 0 ja subsamp oli TJSAMP_GRAY.
  • Kiinteät ongelman tjBufSizeYUV2 () wherby olisi virheellisesti palata 0 sijasta -1 jos leveys oli & lt; 1.
  • Huffman kooderi käyttää nyt CLZ ja BSR ohjeet bitin luottaen ARM64 alustoilla.
  • Läheinen () -menetelmää TJCompressor ja TJDecompressor Java luokkia on nyt idempotentti. Aikaisemmin että menetelmä voisi soittaa natiivi tjDestroy () funktio vaikka TurboJPEG esimerkiksi jo tuhottu. Tämä aiheutti poikkeuksen on heitetty viimeistelyn aikana, jos lähellä () menetelmä oli jo kutsuttu. Poikkeuksena oli kiinni, mutta se oli vielä runsaasti aikaa.
  • TurboJPEG API aiemmin luotu virhe (& quot; ei voitu määrittää subsampling tyyppiä JPEG kuva & quot;), kun yritetään purkaa harmaasävy JPEG-kuvat pakattuja näytteenotto tekijä muu kuin 1 (esim kanssa "cjpeg -grayscale - näyte 2x2 '). Subsampling teknisesti ei ole merkitystä kanssa harmaasävy JPEG, ja näin vaaka- ja pystysuuntainen näytteenotto tekijät tällaisten kuvien ohitetaan purkaja. Kuitenkin TurboJPEG API liian jäykkä ja odotti näytteenotto tekijöistä on yhtä suuri kuin 1, ennen kuin se käsitellään kuvan harmaasävyisenä JPEG.
  • cjpeg, djpeg, ja jpegtran nyt hyväksy väitettä -version, joka tulostaa kirjaston versio ja poistu.
  • Viitaten 1,4-beeta-1 [15], toinen erittäin harvinainen seikka havaittiin, joiden Huffman kooderi paikallisen puskurin voidaan ylivuoto kun puskuroitua Kohdepäällikkö käytetään sekä erittäin korkean taajuuden lohko (pohjimmiltaan roskaa kuva) on koodataan. Vaikka Huffman paikallisen puskurin nostettiin 128 tavua 136 tavua puuttua edelliseen versioon, uusi kysymys aiheutti vielä suuremman puskurin ylivuoto. Tarkempi analyysi paljastaa, että absoluuttinen pahimmassa tapauksessa (esimerkiksi asettamalla vuorotellen AC-kertoimet 32767 ja -32768 JPEG skannaus järjestyksessä), Huffman kooderi voi tuottaa koodattuja lohkoja, jotka lähestyvät kaksinkertainen koko koodaamattomassa lohkoja. Siten Huffman paikallinen puskuri nostettiin 256 tavua, jonka pitäisi estää tällaiset asiaa uusiutumista tulevaisuudessa.
  • Uusi tjPlaneSizeYUV (), tjPlaneWidth (), ja tjPlaneHeight () toiminnot eivät tosiasiassa käytettävissä millä tahansa alustalla paitsi OS X ja Windows, koska nämä toiminnot eivät sisälly libturbojpeg MAPFILE. Tämä on korjattu.
  • Palautettu JPP (), JMETHOD (), ja FAR makroja libjpeg-turbo header-tiedostot. JPP () ja JMETHOD () makroja alun perin toteutettu libjpeg keinona tukea kuin ANSI kerääjiä joka puuttui tuki prototyyppi parametreja. libjpeg-turbo ei ole koskaan tukenut tällaisia ​​kerääjiä, mutta jotkut ohjelmistot silti käyttää makrojen määritellä omat prototyyppejä. Samoin libjpeg-turbo ei ole koskaan tukenut MS-DOS ja muut alustat, joissa on pitkälle symboleja, mutta jotkut ohjelmistot silti käyttää FAR makro. Aika hyvä argumentti voidaan tehdä, että tämä on huono käytäntö osa ohjelmistoa kyseessä, mutta koska tämä vaikuttaa useampaan kuin yhden paketin, se on vain helpompi korjata sen täällä.
  • Kiinteät asioita, jotka estivät ARM 64-bittinen SIMD koodi kokoamiseen iOS, ja sisälsi ARMv8 arkkitehtuuria kaikissa binäärien asentamat & quot; viralliset & quot; libjpeg-turbo SDK OS X.

Mikä on uusi versiossa 1.4.2:

  • Kiinteät rakentaa kysymys OS X PowerPC alustoilla ( md5cmp epäonnistui rakentaa, koska OS X ei tarjoa le32toh () ja htole32 () toiminnot.).
  • Ei-SIMD RGB565 värimuunnoksen ei toiminut oikein big endian koneita. Tämä on korjattu.
  • Kiinteät ongelman tjPlaneSizeYUV () jolloin se olisi virheellisesti palauttaa 1 sijasta -1 jos ComponentID oli & gt; 0 ja subsamp oli TJSAMP_GRAY.
  • Kiinteät ongelman tjBufSizeYUV2 () wherby olisi virheellisesti palata 0 sijasta -1 jos leveys oli & lt; 1.
  • Huffman kooderi käyttää nyt CLZ ja BSR ohjeet bitin luottaen ARM64 alustoilla.
  • Läheinen () -menetelmää TJCompressor ja TJDecompressor Java luokkia on nyt idempotentti. Aikaisemmin että menetelmä voisi soittaa natiivi tjDestroy () funktio vaikka TurboJPEG esimerkiksi jo tuhottu. Tämä aiheutti poikkeuksen on heitetty viimeistelyn aikana, jos lähellä () menetelmä oli jo kutsuttu. Poikkeuksena oli kiinni, mutta se oli vielä runsaasti aikaa.
  • TurboJPEG API aiemmin luotu virhe (& quot; ei voitu määrittää subsampling tyyppiä JPEG kuva & quot;), kun yritetään purkaa harmaasävy JPEG-kuvat pakattuja näytteenotto tekijä muu kuin 1 (esim kanssa "cjpeg -grayscale - näyte 2x2 '). Subsampling teknisesti ei ole merkitystä kanssa harmaasävy JPEG, ja näin vaaka- ja pystysuuntainen näytteenotto tekijät tällaisten kuvien ohitetaan purkaja. Kuitenkin TurboJPEG API liian jäykkä ja odotti näytteenotto tekijöistä on yhtä suuri kuin 1, ennen kuin se käsitellään kuvan harmaasävyisenä JPEG.
  • cjpeg, djpeg, ja jpegtran nyt hyväksy väitettä -version, joka tulostaa kirjaston versio ja poistu.
  • Viitaten 1,4-beeta-1 [15], toinen erittäin harvinainen seikka havaittiin, joiden Huffman kooderi paikallisen puskurin voidaan ylivuoto kun puskuroitua Kohdepäällikkö käytetään sekä erittäin korkean taajuuden lohko (pohjimmiltaan roskaa kuva) on koodataan. Vaikka Huffman paikallisen puskurin nostettiin 128 tavua 136 tavua puuttua edelliseen versioon, uusi kysymys aiheutti vielä suuremman puskurin ylivuoto. Tarkempi analyysi paljastaa, että absoluuttinen pahimmassa tapauksessa (esimerkiksi asettamalla vuorotellen AC-kertoimet 32767 ja -32768 JPEG skannaus järjestyksessä), Huffman kooderi voi tuottaa koodattuja lohkoja, jotka lähestyvät kaksinkertainen koko koodaamattomassa lohkoja. Siten Huffman paikallinen puskuri nostettiin 256 tavua, jonka pitäisi estää tällaiset asiaa uusiutumista tulevaisuudessa.
  • Uusi tjPlaneSizeYUV (), tjPlaneWidth (), ja tjPlaneHeight () toiminnot eivät tosiasiassa käytettävissä millä tahansa alustalla paitsi OS X ja Windows, koska nämä toiminnot eivät sisälly libturbojpeg MAPFILE. Tämä on korjattu.
  • Palautettu JPP (), JMETHOD (), ja FAR makroja libjpeg-turbo header-tiedostot. JPP () ja JMETHOD () makroja alun perin toteutettu libjpeg keinona tukea kuin ANSI kerääjiä joka puuttui tuki prototyyppi parametreja. libjpeg-turbo ei ole koskaan tukenut tällaisia ​​kerääjiä, mutta jotkut ohjelmistot silti käyttää makrojen määritellä omat prototyyppejä. Samoin libjpeg-turbo ei ole koskaan tukenut MS-DOS ja muut alustat, joissa on pitkälle symboleja, mutta jotkut ohjelmistot silti käyttää FAR makro. Aika hyvä argumentti voidaan tehdä, että tämä on huono käytäntö osa ohjelmistoa kyseessä, mutta koska tämä vaikuttaa useampaan kuin yhden paketin, se on vain helpompi korjata sen täällä.
  • Kiinteät asioita, jotka estivät ARM 64-bittinen SIMD koodi kokoamiseen iOS, ja sisälsi ARMv8 arkkitehtuuria kaikissa binäärien asentamat & quot; viralliset & quot; libjpeg-turbo SDK OS X.

Mikä on uusi versiossa 1.4.0:

  • Kiinteät rakentaa kysymys OS X PowerPC alustoilla ( md5cmp epäonnistui rakentaa, koska OS X ei tarjoa le32toh () ja htole32 () toiminnot.).
  • Ei-SIMD RGB565 värimuunnoksen ei toiminut oikein big endian koneita. Tämä on korjattu.
  • Kiinteät ongelman tjPlaneSizeYUV () jolloin se olisi virheellisesti palauttaa 1 sijasta -1 jos ComponentID oli & gt; 0 ja subsamp oli TJSAMP_GRAY.
  • Kiinteät ongelman tjBufSizeYUV2 () wherby olisi virheellisesti palata 0 sijasta -1 jos leveys oli & lt; 1.
  • Huffman kooderi käyttää nyt CLZ ja BSR ohjeet bitin luottaen ARM64 alustoilla.
  • Läheinen () -menetelmää TJCompressor ja TJDecompressor Java luokkia on nyt idempotentti. Aikaisemmin että menetelmä voisi soittaa natiivi tjDestroy () funktio vaikka TurboJPEG esimerkiksi jo tuhottu. Tämä aiheutti poikkeuksen on heitetty viimeistelyn aikana, jos lähellä () menetelmä oli jo kutsuttu. Poikkeuksena oli kiinni, mutta se oli vielä runsaasti aikaa.
  • TurboJPEG API aiemmin luotu virhe (& quot; ei voitu määrittää subsampling tyyppiä JPEG kuva & quot;), kun yritetään purkaa harmaasävy JPEG-kuvat pakattuja näytteenotto tekijä muu kuin 1 (esim kanssa "cjpeg -grayscale - näyte 2x2 '). Subsampling teknisesti ei ole merkitystä kanssa harmaasävy JPEG, ja näin vaaka- ja pystysuuntainen näytteenotto tekijät tällaisten kuvien ohitetaan purkaja. Kuitenkin TurboJPEG API liian jäykkä ja odotti näytteenotto tekijöistä on yhtä suuri kuin 1, ennen kuin se käsitellään kuvan harmaasävyisenä JPEG.
  • cjpeg, djpeg, ja jpegtran nyt hyväksy väitettä -version, joka tulostaa kirjaston versio ja poistu.
  • Viitaten 1,4-beeta-1 [15], toinen erittäin harvinainen seikka havaittiin, joiden Huffman kooderi paikallisen puskurin voidaan ylivuoto kun puskuroitua Kohdepäällikkö käytetään sekä erittäin korkean taajuuden lohko (pohjimmiltaan roskaa kuva) on koodataan. Vaikka Huffman paikallisen puskurin nostettiin 128 tavua 136 tavua puuttua edelliseen versioon, uusi kysymys aiheutti vielä suuremman puskurin ylivuoto. Tarkempi analyysi paljastaa, että absoluuttinen pahimmassa tapauksessa (esimerkiksi asettamalla vuorotellen AC-kertoimet 32767 ja -32768 JPEG skannaus järjestyksessä), Huffman kooderi voi tuottaa koodattuja lohkoja, jotka lähestyvät kaksinkertainen koko koodaamattomassa lohkoja. Siten Huffman paikallinen puskuri nostettiin 256 tavua, jonka pitäisi estää tällaiset asiaa uusiutumista tulevaisuudessa.
  • Uusi tjPlaneSizeYUV (), tjPlaneWidth (), ja tjPlaneHeight () toiminnot eivät tosiasiassa käytettävissä millä tahansa alustalla paitsi OS X ja Windows, koska nämä toiminnot eivät sisälly libturbojpeg MAPFILE. Tämä on korjattu.
  • Palautettu JPP (), JMETHOD (), ja FAR makroja libjpeg-turbo header-tiedostot. JPP () ja JMETHOD () makroja alun perin toteutettu libjpeg keinona tukea kuin ANSI kerääjiä joka puuttui tuki prototyyppi parametreja. libjpeg-turbo ei ole koskaan tukenut tällaisia ​​kerääjiä, mutta jotkut ohjelmistot silti käyttää makrojen määritellä omat prototyyppejä. Samoin libjpeg-turbo ei ole koskaan tukenut MS-DOS ja muut alustat, joissa on pitkälle symboleja, mutta jotkut ohjelmistot silti käyttää FAR makro. Aika hyvä argumentti voidaan tehdä, että tämä on huono käytäntö osa ohjelmistoa kyseessä, mutta koska tämä vaikuttaa useampaan kuin yhden paketin, se on vain helpompi korjata sen täällä.
  • Kiinteät asioita, jotka estivät ARM 64-bittinen SIMD koodi kokoamiseen iOS, ja sisälsi ARMv8 arkkitehtuuria kaikissa binäärien asentamat & quot; viralliset & quot; libjpeg-turbo SDK OS X.

Mikä on uusi versiossa 1.3.0:

  • [1] tehdä testi "toimii nyt oikein FreeBSD, ja se ei enää edellytä md5sum suoritettavan ruhon muissa Un * x alustoilla.
  • [2] Korjatut pakkausjärjestelmän: - Jotta ristiriita valmistajan toimittaman libjpeg-turbo paketteja, virallinen RPM ja debs varten libjpeg-turbo on nimetty uudelleen & quot; libjpeg-turbo-viralliset & quot ;. - TurboJPEG kirjastot sijaitsevat nyt alla / opt / libjpeg-turbo viralliseen Linux ja Mac paketteja, jotta vältetään ristiriita valmistajan toimittaman paketteja ja myös virtaviivaistaa pakkausjärjestelmän. - Release paketit nyt luotu hakemistorakenne määrittelemän Määritä muuttujia & quot; etuliite & quot ;, & quot; bindir & quot ;, & quot; libdir & quot ;, jne (Un * x) tai CMAKE_INSTALL_PREFIX muuttuja (Windows.) Poikkeuksena on että dokumentit ovat aina alla järjestelmä oletuksena asiakirjat hakemistoon Un * x ja Mac-järjestelmissä, sekä Windows-TurboJPEG DLL sijaitsee aina Windowsin hakemistoon. - Sekaannuksen välttämiseksi viralliset libjpeg-turbo paketit Linux / Unix (paitsi Mac) aina asentaa 32-bittinen kirjastot / opt / libjpeg-turbo / lib32 ja 64-bittinen kirjastot / opt / libjpeg- turbo / lib64. - Korjattu ongelma jossa joissakin tapauksissa libjpeg-turbo suoritettavia Un * x järjestelmiä ei ole kunnolla yhdistää kanssa jaetut kirjastot asentaa samaan pakettiin. - Korjattu ongelma, jolloin rakennuksen & quot; asentajan & quot; kohdistaa Windows kun WITH_JAVA = 1 epäonnistuisi, jos TurboJPEG JAR ei ollut aikaisemmin rakennettu. - Building & quot; Asenna & quot; tavoite Windows nyt asentaa tiedostot samaan paikkoihin, että asentaja tekee.
  • [3] Kiinteä Huffman kooderi vika, joka esti I / O-suspension toimimasta oikein.

Mikä on uusi versiossa 1.2.0:

  • Build ongelma kohdataan käytettäessä YASM Unix järjestelmissä on vahvistettu.
  • out-of-bounds lukea SSE2 SIMD koodi on vahvistettu.
  • Uusi väriavaruus laajennus vakioita, joiden avulla sovellukset voivat määrittää, että käyttämätön tavu on 4 tavun RGB puskuri olisi pidettävä alfakanavaksi purettaessa lisättiin.
  • regressio ongelma kohdataan rakennettaessa paholainen libjpeg-turbo on vahvistettu.
  • IOS tukea lisättiin libjpeg-turbo SDK Mac.

Mikä on uusi version 1.1 Beta 1:

  • libjpeg-turbo voidaan rakentaa jäljittelemään libjpeg v7 tai v8b API / ABI.
  • Windows rakentaa järjestelmä käyttää nyt CTee.
  • TurboJPEG / OSS voi nyt pakata välillä / purkamiseen harmaasävy bittikarttoja ja muuntaa RGB tai JPEG-kuvia YUV Planar lähdön.
  • jpgtest voidaan käyttää testaamaan purku suorituskyky nykyisten JPEG-kuvia.
  • Valinnainen aritmeettinen koodaus ja dekoodaus tukea lisättiin.
  • Lisätietoja suojaukset lisättiin vastaan ​​kelpaa Huffman-koodeilla.

Mikä on uusi versiossa 1.0.0:

  • On kehitettävä parannuksia FreeBSD.
  • Unix / Linux-paketit sisältävät nyt libjpeg ajonaikaisen ohjelmia (cjpeg jne) ja man-sivut.
  • On 32-bittinen lisäpakettina AMD64 Debian-järjestelmissä.
  • Cygwin tukea.
  • Täysi tuki rakennus / testaus ei-x86 arkkitehtuureille.
  • 64-bittinen OS X binäärit ovat nyt taaksepäin yhteensopiva OS X 10.4.
  • On olemassa erilaisia ​​Linux pakkauksia hienosäädön.

Mikä on uusi versiossa 0.0.91:

  • Lisätty asiakirjat Deb paketit
  • Kiinteät tiedot korruptioon liittyvät kysymykset purettaessa suuren JPEG-kuvan ja / tai käyttämällä puskuroitua I / O kanssa libjpeg-turbo purkajan

Muu ohjelmistojen kehittäjä D. R. Commander

VirtualGL
VirtualGL

7 Mar 16

TurboVNC
TurboVNC

3 Jun 15

Kommentit libjpeg-turbo

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!