libjpeg-turbo

Software skärmdump:
libjpeg-turbo
Mjukvaruinformation:
Version: 1.4.90 Uppdaterad
Ladda upp dagen: 10 Mar 16
Utvecklare: D. R. Commander
Licens: Gratis
Popularitet: 68

Rating: nan/5 (Total Votes: 0)

libjpeg-turbo är en öppen källkod, plattformsoberoende och helt fri programvara konstruerad för att ge en hög hastighet version av den ursprungliga libjpeg bibliotek programvara, speciellt utformad för x86 och x86-64 processorer som använder SIMD ( enda instruktion, flera data) instruktioner, såsom SSE2, MMX och neon, för att påskynda baslinjen JPEG dekompression och kompression.


En extremt snabb JPEG-bildcodec

Programmet är en extremt snabb JPEG-bildcodec som är i allmänhet 2-4x snabbare än den oförändrade versionen av libjpeg. Projektet baserades ursprungligen på libjpeg / SIMD projekt skapat av Miyasaka Masaru.


Implementerar den traditionella libjpeg API

Den här turboversion av libjpeg bibliotek implementerar också den traditionella libjpeg API liksom de enkla TurboJPEG API. Den har color förlängningar, som tillåter användare att komprimera från eller dekomprimera till big-endian och 32-bitars pixelbuffertar (XBGR, RGBX, etc.), och en fullfjädrad Java gränssnitt.


Distribueras som infödda installatörer för DEB och RPM-baserade operativsystem

För din bekvämlighet, är programvaran distribueras som infödda installatörer för DEB och RPM-baserade operativsystem, såsom Debian, Ubuntu, Linux Mint, Fedora, CentOS, Red Hat Enterprise Linux, SUSE Linux, Mageia, etc, stöder både 64 och 32-bitars hårdvaruplattformar.


Komma igång med libjpeg-turbo

libjpeg-turbo-projektet kan lätt installeras från huvudprogramförråd av GNU / Linux-distribution. Det kommer också att installeras automatiskt tillsammans med alla program som kräver det.

För att installera den manuellt med källpaketet, i fall du vill optimera det för din hårdvara / operativsystem, ladda ner och spara den senaste arkiv från Softoware, extrahera dess innehåll med hjälp av en arkivchef nytta, öppna en terminal app och gå till platsen för den extraherade arkivfil (t.ex. cd / home / softoware / libjpeg-turbo).

Sedan kör & lsquo; ./ configure && make & rsquo; kommando för att konfigurera och kompilera programmet, följt av & lsquo; sudo make install & rsquo; Commad att installera det i hela systemet och göra den tillgänglig för alla program

Vad är nytt i den här versionen.

    < li> Fixat ett build fråga om OS X PowerPC-plattformar (md5cmp misslyckats med att bygga eftersom OS X inte ger le32toh () och htole32 () funktioner.).
  • Den icke-SIMD RGB565 färgomvandlingskoden fungerade inte korrekt på stora endian maskiner. Detta har rättats.
  • Fixat ett problem i tjPlaneSizeYUV (), varigenom det felaktigt skulle återvända en i stället för -1 om ComponentID var & gt; 0 och subsamp var TJSAMP_GRAY.
  • Fixat ett problem i tjBufSizeYUV2 () wherby det felaktigt skulle återvända 0 i stället för -1 om bredd var & lt; 1.
  • Huffman-kodaren använder nu CLZ och BSR instruktioner för bit räknar ARM64-plattformar.
  • close () metoden i TJCompressor och TJDecompressor Javaklasser nu idempotent. Tidigare skulle denna metod kallar den nativa tjDestroy () funktion även om TurboJPEG instans hade redan förstörts. Detta orsakade ett undantag kastas under slut om metoden close () hade redan kallats. Undantaget fångades, men det var fortfarande en dyr operation.
  • TurboJPEG API tidigare genererade ett fel (& quot; Det gick inte att avgöra sampling typ för JPEG-bild & quot;) när du försöker att expandera i gråskala JPEG-bilder som har komprimerats med en samplingsfaktor annat än en (till exempel med "cjpeg -grayscale - prov 2x2 '). Subsampling tekniskt har ingen betydelse med gråskala JPEG, och därmed de horisontella och vertikala samplingsfaktorer för sådana bilder ignoreras av dekomprimeraren. Emellertid var TurboJPEG API är alltför rigid och väntade provtagnings faktorer vara lika med en innan den behandlade bilden som en gråskala JPEG.
  • cjpeg, djpeg och jpegtran nu acceptera en argument -version, som skriver ut biblioteket version och avslutar.
  • Med hänvisning till 1,4 beta1 [15], en annan ytterst sällsynta fall upptäcktes enligt vilken Huffman-kodaren lokala buffert kan överskridas när ett buffrat destinationschef används och en extremt hög-frekvensblock (i princip skräp bilddata) är kodas. Även om Huffman lokala bufferten ökades från 128 bytes till 136 bytes för att ta itu förra numret, orsakade nyemissionen även större buffert för att överskridas. Ytterligare analyser visar att, i den absoluta värsta fall (t.ex. inställning alternerande AC-koefficienter till 32767 och -32768 i JPEG-scanning ordning), Huffman-kodaren kan producera kodade block som närmar dubbelt så stor som de okodade block. Således var Huffman lokala buffert ökade till 256 byte, vilket bör förhindra att någon sådan fråga från att åter uppstår i framtiden.
  • Den nya tjPlaneSizeYUV (), tjPlaneWidth (), och tjPlaneHeight () funktioner var faktiskt inte användas på alla plattformar utom OS X och Windows, eftersom dessa funktioner inte ingick i libturbojpeg mapfile. Detta har rättats.
  • Återställd de JPP (), JMETHOD (), och långt makron i libjpeg-turbo header-filer. De JPP () och JMETHOD () makron ursprungligen genomförts i libjpeg som ett sätt att stödja icke-ANSI kompilatorer som saknade stöd för prototypparametrar. libjpeg-turbo har aldrig stött sådana kompilatorer, men vissa programvarupaket fortfarande använda makron för att definiera sina egna prototyper. På liknande sätt har libjpeg-turbo aldrig stött MS-DOS och andra plattformar som har långt symboler, men vissa programvarupaket fortfarande använda FAR makrot. En ganska bra argument kan göras att detta är en dålig praxis på den del av programmet i fråga, men eftersom detta påverkar mer än ett paket, det är bara lättare att fixa det här.
  • Fast problem som förhindrar ARM 64-bitars SIMD kod från kompilera för iOS, och inkluderade en ARMv8 arkitektur i alla binärfiler som installerats av & quot; tjänsteman & quot; libjpeg-turbo SDK för OS X.

Vad är nytt i version 1.4.2:

  • Fast en build fråga om OS X PowerPC-plattformar ( md5cmp misslyckats med att bygga eftersom OS X inte ger le32toh () och htole32 () funktioner.).
  • Den icke-SIMD RGB565 färgomvandlingskoden fungerade inte korrekt på stora endian maskiner. Detta har rättats.
  • Fixat ett problem i tjPlaneSizeYUV (), varigenom det felaktigt skulle återvända en i stället för -1 om ComponentID var & gt; 0 och subsamp var TJSAMP_GRAY.
  • Fixat ett problem i tjBufSizeYUV2 () wherby det felaktigt skulle återvända 0 i stället för -1 om bredd var & lt; 1.
  • Huffman-kodaren använder nu CLZ och BSR instruktioner för bit räknar ARM64-plattformar.
  • close () metoden i TJCompressor och TJDecompressor Javaklasser nu idempotent. Tidigare skulle denna metod kallar den nativa tjDestroy () funktion även om TurboJPEG instans hade redan förstörts. Detta orsakade ett undantag kastas under slut om metoden close () hade redan kallats. Undantaget fångades, men det var fortfarande en dyr operation.
  • TurboJPEG API tidigare genererade ett fel (& quot; Det gick inte att avgöra sampling typ för JPEG-bild & quot;) när du försöker att expandera i gråskala JPEG-bilder som har komprimerats med en samplingsfaktor annat än en (till exempel med "cjpeg -grayscale - prov 2x2 '). Subsampling tekniskt har ingen betydelse med gråskala JPEG, och därmed de horisontella och vertikala samplingsfaktorer för sådana bilder ignoreras av dekomprimeraren. Emellertid var TurboJPEG API är alltför rigid och väntade provtagnings faktorer vara lika med en innan den behandlade bilden som en gråskala JPEG.
  • cjpeg, djpeg och jpegtran nu acceptera en argument -version, som skriver ut biblioteket version och avslutar.
  • Med hänvisning till 1,4 beta1 [15], en annan ytterst sällsynta fall upptäcktes enligt vilken Huffman-kodaren lokala buffert kan överskridas när ett buffrat destinationschef används och en extremt hög-frekvensblock (i princip skräp bilddata) är kodas. Även om Huffman lokala bufferten ökades från 128 bytes till 136 bytes för att ta itu förra numret, orsakade nyemissionen även större buffert för att överskridas. Ytterligare analyser visar att, i den absoluta värsta fall (t.ex. inställning alternerande AC-koefficienter till 32767 och -32768 i JPEG-scanning ordning), Huffman-kodaren kan producera kodade block som närmar dubbelt så stor som de okodade block. Således var Huffman lokala buffert ökade till 256 byte, vilket bör förhindra att någon sådan fråga från att åter uppstår i framtiden.
  • Den nya tjPlaneSizeYUV (), tjPlaneWidth (), och tjPlaneHeight () funktioner var faktiskt inte användas på alla plattformar utom OS X och Windows, eftersom dessa funktioner inte ingick i libturbojpeg mapfile. Detta har rättats.
  • Återställd de JPP (), JMETHOD (), och långt makron i libjpeg-turbo header-filer. De JPP () och JMETHOD () makron ursprungligen genomförts i libjpeg som ett sätt att stödja icke-ANSI kompilatorer som saknade stöd för prototypparametrar. libjpeg-turbo har aldrig stött sådana kompilatorer, men vissa programvarupaket fortfarande använda makron för att definiera sina egna prototyper. På liknande sätt har libjpeg-turbo aldrig stött MS-DOS och andra plattformar som har långt symboler, men vissa programvarupaket fortfarande använda FAR makrot. En ganska bra argument kan göras att detta är en dålig praxis på den del av programmet i fråga, men eftersom detta påverkar mer än ett paket, det är bara lättare att fixa det här.
  • Fast problem som förhindrar ARM 64-bitars SIMD kod från kompilera för iOS, och inkluderade en ARMv8 arkitektur i alla binärfiler som installerats av & quot; tjänsteman & quot; libjpeg-turbo SDK för OS X.

Vad är nytt i version 1.4.0:

  • Fast en build fråga om OS X PowerPC-plattformar ( md5cmp misslyckats med att bygga eftersom OS X inte ger le32toh () och htole32 () funktioner.).
  • Den icke-SIMD RGB565 färgomvandlingskoden fungerade inte korrekt på stora endian maskiner. Detta har rättats.
  • Fixat ett problem i tjPlaneSizeYUV (), varigenom det felaktigt skulle återvända en i stället för -1 om ComponentID var & gt; 0 och subsamp var TJSAMP_GRAY.
  • Fixat ett problem i tjBufSizeYUV2 () wherby det felaktigt skulle återvända 0 i stället för -1 om bredd var & lt; 1.
  • Huffman-kodaren använder nu CLZ och BSR instruktioner för bit räknar ARM64-plattformar.
  • close () metoden i TJCompressor och TJDecompressor Javaklasser nu idempotent. Tidigare skulle denna metod kallar den nativa tjDestroy () funktion även om TurboJPEG instans hade redan förstörts. Detta orsakade ett undantag kastas under slut om metoden close () hade redan kallats. Undantaget fångades, men det var fortfarande en dyr operation.
  • TurboJPEG API tidigare genererade ett fel (& quot; Det gick inte att avgöra sampling typ för JPEG-bild & quot;) när du försöker att expandera i gråskala JPEG-bilder som har komprimerats med en samplingsfaktor annat än en (till exempel med "cjpeg -grayscale - prov 2x2 '). Subsampling tekniskt har ingen betydelse med gråskala JPEG, och därmed de horisontella och vertikala samplingsfaktorer för sådana bilder ignoreras av dekomprimeraren. Emellertid var TurboJPEG API är alltför rigid och väntade provtagnings faktorer vara lika med en innan den behandlade bilden som en gråskala JPEG.
  • cjpeg, djpeg och jpegtran nu acceptera en argument -version, som skriver ut biblioteket version och avslutar.
  • Med hänvisning till 1,4 beta1 [15], en annan ytterst sällsynta fall upptäcktes enligt vilken Huffman-kodaren lokala buffert kan överskridas när ett buffrat destinationschef används och en extremt hög-frekvensblock (i princip skräp bilddata) är kodas. Även om Huffman lokala bufferten ökades från 128 bytes till 136 bytes för att ta itu förra numret, orsakade nyemissionen även större buffert för att överskridas. Ytterligare analyser visar att, i den absoluta värsta fall (t.ex. inställning alternerande AC-koefficienter till 32767 och -32768 i JPEG-scanning ordning), Huffman-kodaren kan producera kodade block som närmar dubbelt så stor som de okodade block. Således var Huffman lokala buffert ökade till 256 byte, vilket bör förhindra att någon sådan fråga från att åter uppstår i framtiden.
  • Den nya tjPlaneSizeYUV (), tjPlaneWidth (), och tjPlaneHeight () funktioner var faktiskt inte användas på alla plattformar utom OS X och Windows, eftersom dessa funktioner inte ingick i libturbojpeg mapfile. Detta har rättats.
  • Återställd de JPP (), JMETHOD (), och långt makron i libjpeg-turbo header-filer. De JPP () och JMETHOD () makron ursprungligen genomförts i libjpeg som ett sätt att stödja icke-ANSI kompilatorer som saknade stöd för prototypparametrar. libjpeg-turbo har aldrig stött sådana kompilatorer, men vissa programvarupaket fortfarande använda makron för att definiera sina egna prototyper. På liknande sätt har libjpeg-turbo aldrig stött MS-DOS och andra plattformar som har långt symboler, men vissa programvarupaket fortfarande använda FAR makrot. En ganska bra argument kan göras att detta är en dålig praxis på den del av programmet i fråga, men eftersom detta påverkar mer än ett paket, det är bara lättare att fixa det här.
  • Fast problem som förhindrar ARM 64-bitars SIMD kod från kompilera för iOS, och inkluderade en ARMv8 arkitektur i alla binärfiler som installerats av & quot; tjänsteman & quot; libjpeg-turbo SDK för OS X.

Vad är nytt i version 1.3.0:

  • [1] göra test "fungerar nu korrekt på FreeBSD, och det inte längre krävs att md5sum körbara att vara närvarande på andra Un * x plattformar.
  • [2] översyn förpackningssystemet: - För att undvika konflikt med från leverantören libjpeg-turbo-paket, har den officiella varvtal och Debs för libjpeg-turbo döpts till & quot; libjpeg-turbo-tjänsteman & quot ;. - De TurboJPEG biblioteken nu ligger under / opt / libjpeg-turbo i den officiella Linux och Mac paket, för att undvika konflikter med från leverantören paket och även för att effektivisera förpackningssystemet. - Release paket skapas nu med katalogstrukturen som definieras av configure variabler & quot; prefix & quot ;, & quot; bindir & quot ;, & quot; libdir & quot ;, etc. (Un * x) eller av CMAKE_INSTALL_PREFIX variabeln (Windows). Undantaget är att docs är alltid placerad under systemet standard dokumentationskatalog på Un * x och Mac-system, och Windows är TurboJPEG DLL alltid ligger i Windows-katalogen. - För att undvika förvirring, officiella libjpeg-turbo paket på Linux / Unix-plattformar (med undantag för Mac) kommer alltid att installera 32-bitarsbibliotek i / opt / libjpeg-turbo / lib32 och 64-bitarsbibliotek i / opt / libjpeg- turbo / lib64. - Fast ett problem där, i vissa fall, de libjpeg-turbo körbara på Un * x systemen inte riktigt hänger samman med delade bibliotek som installerats av samma paket. - Fast ett problem som innebär att bygga & quot; installer & quot; rikta på Windows när WITH_JAVA = 1 skulle misslyckas om TurboJPEG JAR inte tidigare hade byggt. - Att bygga & quot; installera & quot; mål på Windows installerar nu filer i samma ställen som installatören gör.
  • [3] Fast en Huffman-kodare bugg som hindrade I / O avstängning från fungerar.

Vad är nytt i version 1.2.0:

  • En build problem uppstår när du använder yasm på Unix-system fastställdes.
  • En out-of-bounds läsa i SSE2 SIMD koden fast.
  • Nya färgrymd förlängningskonstanter som gör att program för att ange att den oanvända byte i en fyra-byte RGB bufferten bör behandlas som en alfakanal när dekomprimering tillsattes.
  • En regressions problem uppstår när bygga Devil med libjpeg-turbo fastställdes.
  • iOS stöd sattes till libjpeg-turbo SDK för Mac.

Vad är nytt i version 1.1 Beta 1:

  • libjpeg-turbo kan byggas för att efterlikna libjpeg v7 eller v8b API / ABI.
  • Windows byggsystem använder nu CMake.
  • TurboJPEG / OSS kan nu komprimera från / dekomprimera till gråskala bitmappar och konvertera RGB eller JPEG-bilder till YUV plana utgång.
  • jpgtest kan användas för att testa dekompression prestanda med befintliga JPEG-bilder.
  • Valfri aritmetisk kodning och avkodning stöd tillsattes.
  • Ytterligare skydd sattes mot ogiltiga Huffman-koder.

Vad är nytt i version 1.0.0.

  • Ytterligare bygga förbättringar på FreeBSD
  • Unix / Linux-paket inkluderar nu libjpeg run-time program (cjpeg, etc.) och manualsidor.
  • Det finns en 32-bitars tilläggspaket för amd64 Debian-system.
  • Cygwin stöd.
  • Fullt stöd för att bygga / testa på icke-x86-arkitekturer.
  • 64-bitars OS X-binärer är nu bakåtkompatibel med OS X 10.4.
  • Det finns olika Linux-förpacknings tweaks.

Vad är nytt i version 0.0.91:

  • Inkom dokumentation .deb-paket

  • frågor
  • Fasta datakorruption när dekomprimering stora JPEG-bilder och / eller med hjälp av buffrade I / O med libjpeg-turbo expanderare

Annan programvara för utvecklare D. R. Commander

VirtualGL
VirtualGL

7 Mar 16

TurboVNC
TurboVNC

3 Jun 15

Kommentarer till libjpeg-turbo

Kommentarer hittades inte
Kommentar
Slå på bilder!