libjpeg-turbo

Screenshot der Software:
libjpeg-turbo
Softwarebeschreibung:
Version: 1.4.90 Aktualisiert
Upload-Datum: 10 Mar 16
Entwickler: D. R. Commander
Lizenz: Frei
Popularität: 68

Rating: nan/5 (Total Votes: 0)

libjpeg-turbo ist ein Open Source, plattformübergreifende und freie Software vollständig entwickelt, um eine High-Speed-Version der ursprünglichen libjpeg Bibliothek-Software, die speziell gestaltete für x86 und x86-64-Prozessoren, die SIMD verwenden ( Single Instruction, Multiple Data) Anweisungen, wie SSE2, MMX und NEON, zu beschleunigen, Baseline-JPEG Dekompression und Kompression.


Ein extrem schneller JPEG-Bild-Codec

Die Software ist ein extrem schnelles JPEG-Bild-Codec, der im Allgemeinen 2-4x schneller als die unmodifizierte Version von libjpeg ist. Das Projekt wurde ursprünglich auf der Grundlage der libjpeg / SIMD-Projekt erstellt von Miyasaka Masaru.


Implementiert die traditionelle libjpeg API

Diese Turbo-Version der libjpeg Bibliothek implementiert auch die traditionelle libjpeg API sowie die einfache TurboJPEG API. Es verfügt über Farbraum-Erweiterungen, mit denen Benutzer von zu komprimieren können oder dekomprimieren zu Big-Endian und 32-Bit-Pixelpuffer (XBGR, RGBX, etc.), und eine voll funktionsfähige Java-Schnittstelle.


Verteilt als native Installationsprogramme für DEB und RPM-basierte Betriebssysteme

Für Ihre Bequemlichkeit ist die Software als native Installationsprogramme für DEB und RPM-basierte Betriebssysteme wie Debian, Ubuntu, Linux Mint, Fedora, CentOS, Red Hat Enterprise Linux, openSUSE, Mageia usw. verteilt, die beide unterstützen 64 und 32-Bit-Hardware-Plattformen.


Erste Schritte mit libjpeg-turbo

Das libjpeg-turbo-Projekt kann leicht von den wichtigsten Software-Repositories einer GNU / Linux-Distribution installiert werden. Es wird auch zusammen mit jeder Software automatisch installiert werden, die es erfordert.

es manuell zu installieren mit dem Quellcode-Paket, falls Sie es für Ihre Hardware-Architektur / Betriebssystem-Download zu optimieren und das neueste Archiv von Softoware speichern, extrahieren Sie dessen Inhalt ein Archiv-Manager-Dienstprogramm verwenden, öffnen Sie ein Terminal-App und gehen auf den Speicherort der extrahierten Archivdatei (zB cd / home / softoware / libjpeg-turbo).

Führen Sie dann die & lsquo; ./ configure && make & rsquo; Befehl zu konfigurieren und das Programm zu kompilieren, gefolgt von der & lsquo; sudo make install & rsquo; commad installieren es systemweit und für alle Anwendungen zur Verfügung zu stellen

Was ist neu in dieser Version:.

    < li> Es wurde ein Build-Ausgabe auf OS X PowerPC-Plattformen (md5cmp gescheitert zu bauen, weil OS X die le32toh bietet keine () und htole32 () Funktionen.).
  • Die Nicht-SIMD RGB565 Farbkonvertierung Code funktioniert nicht richtig auf Big-Endian-Maschinen. Dies wurde behoben.
  • Ein Problem wurde behoben in tjPlaneSizeYUV (), wodurch es fälschlicherweise 1 statt -1 zurückgeben würde, wenn ComponentID war & gt; 0 und subsamp war TJSAMP_GRAY.
  • Ein Problem wurde behoben in tjBufSizeYUV2 () wherby es fälschlicherweise 0 statt -1 zurückgeben würde, wenn Breite war & lt; 1.
  • Die Huffman-Codierer verwendet nun clz und bsr Anweisungen für Bit auf ARM64-Plattformen zählen.
  • Die Methode close () in den TJCompressor und TJDecompressor Java-Klassen ist jetzt idempotent. Früher hätte nennen das Verfahren die native tjDestroy () Funktion, auch wenn die TurboJPEG Instanz bereits zerstört worden war. Dies verursachte eine Ausnahme bei der Finalisierung geworfen werden, wenn die Methode close () bereits aufgerufen worden war. Die Ausnahme war gefangen, aber es war immer noch eine teure Operation.
  • Die TurboJPEG API generiert zuvor einen Fehler (& quot; konnte nicht Subsampling Typ für JPEG-Bild & quot bestimmen;) bei dem Versuch, Graustufen JPEG-Bilder zu dekomprimieren, die andere mit einer Sampling-Faktor komprimiert wurden als 1 (zum Beispiel mit 'cjpeg -grayscale - Probe 2x2 '). Unterabtasten hat technisch keine Bedeutung mit Graustufen JPEGs, und damit die horizontale und vertikale Abtastung Faktoren für solche Bilder werden durch den Dekompressor ignoriert. Allerdings wurde die TurboJPEG API zu starr zu sein und erwartete die Probenahme Faktoren gleich 1 zu sein, bevor sie das Bild als Graustufen-JPEG behandelt.
  • cjpeg, djpeg und jpegtran jetzt ein Argument von -Ausführung, akzeptieren, die die Version der Bibliothek und Ausgang wird gedruckt.
  • Mit Bezug auf 1.4 Beta1 [15] wurde ein weiterer äußerst seltenen Umstand, unter dem die lokale Encoders Huffman entdeckt Pufferüberlauf werden kann, wenn eine gepufferte Ziel Manager benutzt wird und eine extrem hohe Frequenzblock (im Grunde Junk-Bilddaten) ist wobei kodiert. Obwohl die Huffman lokalen Puffer von 128 Bytes auf 136 Bytes erhöht wurde die bisherige Problem zu beheben, verursacht die neue Ausgabe sogar den größeren Pufferüberlauf zu werden. Eine weitere Analyse zeigt, dass in der absoluten schlimmsten Fall (wie abwechselnd AC-Koeffizienten bis 32767 und -32768 im JPEG-Scan-Reihenfolge Einstellung), die Huffman-Codierer kann codierten Blöcke erzeugen, die die doppelte Größe der nicht codierten Blöcke nähern. So wurde die Huffman lokalen Puffer auf 256 Bytes erhöht, die aus wiederkehr in Zukunft eine solche Problem zu verhindern sollte.
  • Die neue tjPlaneSizeYUV (), tjPlaneWidth () und tjPlaneHeight () Funktionen waren nicht wirklich verwendbar auf jeder Plattform außer OS X und Windows, da diese Funktionen in der libturbojpeg mapfile nicht enthalten waren. Dies wurde behoben.
  • Wiederhergestellte die JPP (), JMETHOD () und FAR-Makros in den libjpeg-Turbo-Header-Dateien. Die JPP () und JMETHOD () Makros wurden ursprünglich in libjpeg als eine Möglichkeit der Nicht-ANSI-Compiler Unterstützung implementiert, die Unterstützung für die Prototypen Parameter fehlte. libjpeg-turbo hat noch nie eine solche Compiler unterstützt, aber einige Software-Pakete noch die Makros nutzen, um ihre eigenen Prototypen definieren. In ähnlicher Weise hat libjpeg-turbo nie unterstützt MS-DOS und andere Plattformen, die weit Symbole haben, aber einige Software-Pakete noch das Makro FAR verwenden. Ein ziemlich gutes Argument kann gemacht werden, dass diese auf dem Teil der Software in Frage eine schlechte Praxis ist, aber da dies mehr als ein Paket betrifft, es ist nur einfacher, es hier zu beheben.
  • Fixed Probleme, die die ARM 64-Bit-SIMD-Code für iOS kompilieren wurden zu verhindern und enthalten eine ARMv8-Architektur in allen installierten Binärdateien von der & quot; offiziellen & quot; libjpeg-turbo-SDK für OS X.

Was ist neu in Version 1.4.2:

  • Es wurde ein Build-Ausgabe auf OS X PowerPC-Plattformen ( md5cmp gescheitert zu bauen, weil OS X nicht die le32toh liefern () und htole32 () Funktionen.).
  • Die Nicht-SIMD RGB565 Farbkonvertierung Code funktioniert nicht richtig auf Big-Endian-Maschinen. Dies wurde behoben.
  • Ein Problem wurde behoben in tjPlaneSizeYUV (), wodurch es fälschlicherweise 1 statt -1 zurückgeben würde, wenn ComponentID war & gt; 0 und subsamp war TJSAMP_GRAY.
  • Ein Problem wurde behoben in tjBufSizeYUV2 () wherby es fälschlicherweise 0 statt -1 zurückgeben würde, wenn Breite war & lt; 1.
  • Die Huffman-Codierer verwendet nun clz und bsr Anweisungen für Bit auf ARM64-Plattformen zählen.
  • Die Methode close () in den TJCompressor und TJDecompressor Java-Klassen ist jetzt idempotent. Früher hätte nennen das Verfahren die native tjDestroy () Funktion, auch wenn die TurboJPEG Instanz bereits zerstört worden war. Dies verursachte eine Ausnahme bei der Finalisierung geworfen werden, wenn die Methode close () bereits aufgerufen worden war. Die Ausnahme war gefangen, aber es war immer noch eine teure Operation.
  • Die TurboJPEG API generiert zuvor einen Fehler (& quot; konnte nicht Subsampling Typ für JPEG-Bild & quot bestimmen;) bei dem Versuch, Graustufen JPEG-Bilder zu dekomprimieren, die andere mit einer Sampling-Faktor komprimiert wurden als 1 (zum Beispiel mit 'cjpeg -grayscale - Probe 2x2 '). Unterabtasten hat technisch keine Bedeutung mit Graustufen JPEGs, und damit die horizontale und vertikale Abtastung Faktoren für solche Bilder werden durch den Dekompressor ignoriert. Allerdings wurde die TurboJPEG API zu starr zu sein und erwartete die Probenahme Faktoren gleich 1 zu sein, bevor sie das Bild als Graustufen-JPEG behandelt.
  • cjpeg, djpeg und jpegtran jetzt ein Argument von -Ausführung, akzeptieren, die die Version der Bibliothek und Ausgang wird gedruckt.
  • Mit Bezug auf 1.4 Beta1 [15] wurde ein weiterer äußerst seltenen Umstand, unter dem die lokale Encoders Huffman entdeckt Pufferüberlauf werden kann, wenn eine gepufferte Ziel Manager benutzt wird und eine extrem hohe Frequenzblock (im Grunde Junk-Bilddaten) ist wobei kodiert. Obwohl die Huffman lokalen Puffer von 128 Bytes auf 136 Bytes erhöht wurde die bisherige Problem zu beheben, verursacht die neue Ausgabe sogar den größeren Pufferüberlauf zu werden. Eine weitere Analyse zeigt, dass in der absoluten schlimmsten Fall (wie abwechselnd AC-Koeffizienten bis 32767 und -32768 im JPEG-Scan-Reihenfolge Einstellung), die Huffman-Codierer kann codierten Blöcke erzeugen, die die doppelte Größe der nicht codierten Blöcke nähern. So wurde die Huffman lokalen Puffer auf 256 Bytes erhöht, die aus wiederkehr in Zukunft eine solche Problem zu verhindern sollte.
  • Die neue tjPlaneSizeYUV (), tjPlaneWidth () und tjPlaneHeight () Funktionen waren nicht wirklich verwendbar auf jeder Plattform außer OS X und Windows, da diese Funktionen in der libturbojpeg mapfile nicht enthalten waren. Dies wurde behoben.
  • Wiederhergestellte die JPP (), JMETHOD () und FAR-Makros in den libjpeg-Turbo-Header-Dateien. Die JPP () und JMETHOD () Makros wurden ursprünglich in libjpeg als eine Möglichkeit der Nicht-ANSI-Compiler Unterstützung implementiert, die Unterstützung für die Prototypen Parameter fehlte. libjpeg-turbo hat noch nie eine solche Compiler unterstützt, aber einige Software-Pakete noch die Makros nutzen, um ihre eigenen Prototypen definieren. In ähnlicher Weise hat libjpeg-turbo nie unterstützt MS-DOS und andere Plattformen, die weit Symbole haben, aber einige Software-Pakete noch das Makro FAR verwenden. Ein ziemlich gutes Argument kann gemacht werden, dass diese auf dem Teil der Software in Frage eine schlechte Praxis ist, aber da dies mehr als ein Paket betrifft, es ist nur einfacher, es hier zu beheben.
  • Fixed Probleme, die die ARM 64-Bit-SIMD-Code für iOS kompilieren wurden zu verhindern und enthalten eine ARMv8-Architektur in allen installierten Binärdateien von der & quot; offiziellen & quot; libjpeg-turbo-SDK für OS X.

Was ist neu in Version 1.4.0:

  • Es wurde ein Build-Ausgabe auf OS X PowerPC-Plattformen ( md5cmp gescheitert zu bauen, weil OS X nicht die le32toh liefern () und htole32 () Funktionen.).
  • Die Nicht-SIMD RGB565 Farbkonvertierung Code funktioniert nicht richtig auf Big-Endian-Maschinen. Dies wurde behoben.
  • Ein Problem wurde behoben in tjPlaneSizeYUV (), wodurch es fälschlicherweise 1 statt -1 zurückgeben würde, wenn ComponentID war & gt; 0 und subsamp war TJSAMP_GRAY.
  • Ein Problem wurde behoben in tjBufSizeYUV2 () wherby es fälschlicherweise 0 statt -1 zurückgeben würde, wenn Breite war & lt; 1.
  • Die Huffman-Codierer verwendet nun clz und bsr Anweisungen für Bit auf ARM64-Plattformen zählen.
  • Die Methode close () in den TJCompressor und TJDecompressor Java-Klassen ist jetzt idempotent. Früher hätte nennen das Verfahren die native tjDestroy () Funktion, auch wenn die TurboJPEG Instanz bereits zerstört worden war. Dies verursachte eine Ausnahme bei der Finalisierung geworfen werden, wenn die Methode close () bereits aufgerufen worden war. Die Ausnahme war gefangen, aber es war immer noch eine teure Operation.
  • Die TurboJPEG API generiert zuvor einen Fehler (& quot; konnte nicht Subsampling Typ für JPEG-Bild & quot bestimmen;) bei dem Versuch, Graustufen JPEG-Bilder zu dekomprimieren, die andere mit einer Sampling-Faktor komprimiert wurden als 1 (zum Beispiel mit 'cjpeg -grayscale - Probe 2x2 '). Unterabtasten hat technisch keine Bedeutung mit Graustufen JPEGs, und damit die horizontale und vertikale Abtastung Faktoren für solche Bilder werden durch den Dekompressor ignoriert. Allerdings wurde die TurboJPEG API zu starr zu sein und erwartete die Probenahme Faktoren gleich 1 zu sein, bevor sie das Bild als Graustufen-JPEG behandelt.
  • cjpeg, djpeg und jpegtran jetzt ein Argument von -Ausführung, akzeptieren, die die Version der Bibliothek und Ausgang wird gedruckt.
  • Mit Bezug auf 1.4 Beta1 [15] wurde ein weiterer äußerst seltenen Umstand, unter dem die lokale Encoders Huffman entdeckt Pufferüberlauf werden kann, wenn eine gepufferte Ziel Manager benutzt wird und eine extrem hohe Frequenzblock (im Grunde Junk-Bilddaten) ist wobei kodiert. Obwohl die Huffman lokalen Puffer von 128 Bytes auf 136 Bytes erhöht wurde die bisherige Problem zu beheben, verursacht die neue Ausgabe sogar den größeren Pufferüberlauf zu werden. Eine weitere Analyse zeigt, dass in der absoluten schlimmsten Fall (wie abwechselnd AC-Koeffizienten bis 32767 und -32768 im JPEG-Scan-Reihenfolge Einstellung), die Huffman-Codierer kann codierten Blöcke erzeugen, die die doppelte Größe der nicht codierten Blöcke nähern. So wurde die Huffman lokalen Puffer auf 256 Bytes erhöht, die aus wiederkehr in Zukunft eine solche Problem zu verhindern sollte.
  • Die neue tjPlaneSizeYUV (), tjPlaneWidth () und tjPlaneHeight () Funktionen waren nicht wirklich verwendbar auf jeder Plattform außer OS X und Windows, da diese Funktionen in der libturbojpeg mapfile nicht enthalten waren. Dies wurde behoben.
  • Wiederhergestellte die JPP (), JMETHOD () und FAR-Makros in den libjpeg-Turbo-Header-Dateien. Die JPP () und JMETHOD () Makros wurden ursprünglich in libjpeg als eine Möglichkeit der Nicht-ANSI-Compiler Unterstützung implementiert, die Unterstützung für die Prototypen Parameter fehlte. libjpeg-turbo hat noch nie eine solche Compiler unterstützt, aber einige Software-Pakete noch die Makros nutzen, um ihre eigenen Prototypen definieren. In ähnlicher Weise hat libjpeg-turbo nie unterstützt MS-DOS und andere Plattformen, die weit Symbole haben, aber einige Software-Pakete noch das Makro FAR verwenden. Ein ziemlich gutes Argument kann gemacht werden, dass diese auf dem Teil der Software in Frage eine schlechte Praxis ist, aber da dies mehr als ein Paket betrifft, es ist nur einfacher, es hier zu beheben.
  • Fixed Probleme, die die ARM 64-Bit-SIMD-Code für iOS kompilieren wurden zu verhindern und enthalten eine ARMv8-Architektur in allen installierten Binärdateien von der & quot; offiziellen & quot; libjpeg-turbo-SDK für OS X.

Was ist neu in Version 1.3.0:

  • [1] 'make test' funktioniert nun korrekt auf FreeBSD, und es erfordert nicht mehr die md5sum ausführbare vorhanden auf anderen Un * x Plattformen zu sein.
  • [2] Überarbeitete das Verpackungssystem: - Um Konflikte mit vom Hersteller gelieferten libjpeg-turbo-Pakete, die offiziellen RPMs und DEBs für libjpeg-turbo vermeiden wurden auf & quot umbenannt; libjpeg-turbo-offiziellen & quot ;. - Die TurboJPEG Bibliotheken befinden sich nun unter / opt / libjpeg-turbo in den offiziellen Linux-und Mac-Pakete zu vermeiden, Konflikte mit vom Hersteller bereitgestellte Pakete und auch das Verpackungssystem zu straffen. - Release-Pakete sind jetzt mit der Verzeichnisstruktur, die durch die configure Variablen & quot erstellt; Präfix & quot ;, & quot; bindir & quot ;, & quot; libdir & rdquo ;, usw. (Un * x) oder durch die CMAKE_INSTALL_PREFIX Variable (Windows). Die Ausnahme ist dass die Dokumentation immer unter dem System-Standard-Dokumentationsverzeichnis auf Un * x und Mac-Systemen befinden und unter Windows wird die TurboJPEG DLL immer im Windows-Systemverzeichnis. - Um Verwirrung, offizielle libjpeg-turbo-Pakete auf Linux / Unix-Plattformen (außer Mac) zu vermeiden werden die 32-Bit-Bibliotheken in / opt / libjpeg-turbo / lib32 und die 64-Bit-Bibliotheken immer installieren in / opt / libjpeg- Turbo / lib64. - Ein Problem wurde behoben, wobei in einigen Fällen die libjpeg-turbo ausführbaren Dateien auf Un * x-Systeme wurden nicht richtig mit den gemeinsam genutzten Bibliotheken installiert mit dem gleichen Paket zu verknüpfen. - Ein Problem wurde behoben, wodurch Aufbau der & quot; Installer & quot; Ziel unter Windows, wenn WITH_JAVA = 1 würde scheitern, wenn die TurboJPEG JAR bisher nicht gebaut worden war. - Aufbau der & quot; installieren & quot; Ziel unter Windows nun Dateien in den gleichen Orten installiert werden, die das Installationsprogramm funktioniert.
  • [3] Es wurde ein Encoder Fehler Huffman, die nicht richtig funktionieren I / O-Suspension verhindert werden.

Was ist neu in Version 1.2.0:

  • Ein Build Problem auftreten, wenn YASM auf Unix-Systemen wurde behoben.
  • eine out-of-bounds im SSE2 SIMD Code gelesen wurde behoben.
  • Neue Farbraumerweiterung Konstanten, die Anwendungen festlegen lassen, dass die ungenutzten Byte in einem 4-Byte-RGB-Puffer sollte als Alpha-Kanal behandelt werden, wenn zugegeben Dekomprimieren.
  • angetroffen Eine Regression Problem beim Bau von DevIL mit libjpeg-turbo wurde behoben.
  • wurde iOS Unterstützung der libjpeg-turbo-SDK für Mac hinzugefügt.

Was ist neu in der Version 1.1 Beta 1:

  • libjpeg-turbo können die libjpeg zu emulieren gebaut werden v7 oder V8B API / ABI.
  • Der Windows-Build-System verwendet nun CMake.
  • TurboJPEG / OSS kann ab sofort komprimieren / dekomprimieren in Graustufen-Bitmaps und RGB oder JPEG-Bilder zu YUV planaren Ausgang umwandeln.
  • jpgtest verwendet werden können Dekompression Leistung mit vorhandenen JPEG-Bilder zu testen.
  • Optional arithmetische Codierung und Decodierung Unterstützung wurde hinzugefügt.
  • wurden weitere Schutzmechanismen hinzugefügt gegen ungültige Huffman-Codes.

Was ist neu in Version 1.0.0:.

  • Weitere bauen Verbesserungen auf FreeBSD
  • Unix / Linux-Pakete nun auch libjpeg Laufzeitprogramme (cjpeg, etc.) und man-Seiten.
  • Es ist ein 32-Bit-Zusatzpaket für amd64 Debian-Systemen.
  • Cygwin-Support.
  • Volle Unterstützung für das Bauen / Prüfung auf nicht-x86-Architekturen.
  • 64-Bit-OS X-Binärdateien sind jetzt rückwärts kompatibel mit OS X 10.4.
  • Es gibt verschiedene Linux Verpackung zwickt.

Was ist neu in Version 0.0.91:

  • hinzugefügt Dokumentationspakete zu .deb
  • Korruption Feste Datenprobleme, wenn große JPEG-Bilder dekomprimiert und / oder mit gepufferten I / O mit dem libjpeg-turbo Dekompressor

Andere Software von Entwickler D. R. Commander

TurboVNC
TurboVNC

3 Jun 15

VirtualGL
VirtualGL

7 Mar 16

Kommentare zu libjpeg-turbo

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!