libjpeg-turbo

Software screenshot:
libjpeg-turbo
Rincian Software:
Versi: 1.4.90 Diperbarui
Tanggal Upload: 10 Mar 16
Pengembang: D. R. Commander
Lisensi: Gratis
Popularitas: 68

Rating: nan/5 (Total Votes: 0)

libjpeg-turbo adalah open source, cross-platform dan perangkat lunak gratis direkayasa untuk memberikan versi kecepatan tinggi dari perangkat lunak libjpeg perpustakaan asli, khusus dibuat untuk x86 dan x86-64 prosesor, yang menggunakan SIMD ( instruksi single, Multiple data) instruksi, seperti SSE2, MMX dan NEON, untuk mempercepat dekompresi JPEG dasar dan kompresi.


Yang sangat cepat codec gambar JPEG

Perangkat lunak adalah JPEG image codec yang sangat cepat yang umumnya 2-4 x lebih cepat dari versi dimodifikasi dari libjpeg. Proyek ini awalnya didasarkan pada libjpeg / proyek SIMD dibuat oleh Miyasaka Masaru.


Mengimplementasikan libjpeg API tradisional

versi turbo ini perpustakaan libjpeg juga mengimplementasikan API libjpeg tradisional, serta API TurboJPEG langsung. Ini fitur ekstensi colorspace, yang memungkinkan pengguna untuk kompres dari atau dekompresi untuk buffer big-endian dan 32-bit pixel (XBGR, RGBX, dll), dan antarmuka fitur lengkap Java.


Didistribusikan sebagai installer asli untuk DEB dan OS berbasis RPM

Untuk kenyamanan Anda, software ini didistribusikan sebagai installer asli untuk DEB dan sistem operasi berbasis RPM, seperti Debian, Ubuntu, Linux Mint, Fedora, CentOS, Red Hat Enterprise Linux, openSUSE, Mageia, dll, yang mendukung baik 64 dan 32-bit hardware platform.


Memulai dengan libjpeg-turbo

Proyek libjpeg-turbo dapat dengan mudah diinstal dari repositori perangkat lunak utama distribusi GNU / Linux. Ini juga akan secara otomatis diinstal bersama dengan perangkat lunak yang membutuhkan itu.

Untuk menginstalnya secara manual menggunakan paket source, jika anda ingin mengoptimalkan untuk arsitektur hardware Anda / sistem operasi, download dan menyimpan arsip terbaru dari Softoware, ekstrak isinya menggunakan utilitas manajer arsip, membuka aplikasi Terminal dan pergi ke lokasi file arsip yang diekstrak (misalnya cd / home / softoware / libjpeg-turbo).

Kemudian, jalankan & lsquo; ./ configure && make & rsquo; perintah untuk mengkonfigurasi dan mengkompilasi program, diikuti oleh & lsquo; sudo make install & rsquo; commad untuk menginstalnya sistem yang luas dan membuatnya tersedia untuk semua aplikasi

Apa yang baru dalam rilis ini:.

    < li> Fixed membangun masalah pada OS X PowerPC platform (md5cmp gagal membangun karena OS X tidak memberikan le32toh () dan htole32 () fungsi.).
  • The non-SIMD warna RGB565 kode konversi tidak bekerja dengan benar pada mesin endian besar. Ini telah diperbaiki.
  • Memperbaiki masalah tjPlaneSizeYUV (), dimana keliru akan kembali 1 bukannya -1 jika ComponentID adalah & gt; 0 dan subsamp adalah TJSAMP_GRAY.
  • Memperbaiki masalah tjBufSizeYUV2 () wherby itu keliru akan kembali 0 bukan -1 jika lebar adalah & lt; 1.
  • The Huffman encoder sekarang menggunakan clz dan BSR petunjuk untuk sedikit mengandalkan ARM64 platform.
  • dekat () metode dalam kelas TJCompressor dan TJDecompressor Java sekarang idempoten. Sebelumnya, metode yang akan memanggil tjDestroy asli () function bahkan jika misalnya TurboJPEG sudah hancur. Hal ini menyebabkan pengecualian untuk dilempar selama finalisasi, jika metode close () sudah dipanggil. pengecualian tertangkap, tapi itu masih operasi yang mahal.
  • The TurboJPEG API sebelumnya dihasilkan kesalahan (& quot; Tidak dapat menentukan jenis subsampling untuk gambar JPEG & quot;) ketika mencoba untuk dekompresi gambar JPEG grayscale yang dikompresi dengan faktor pengambilan sampel selain 1 (misalnya, dengan 'cjpeg -grayscale - 2x2 sampel '). Subsampling teknis tidak memiliki makna dengan JPEG grayscale, dan dengan demikian faktor pengambilan sampel horisontal dan vertikal untuk gambar tersebut diabaikan oleh decompressor. Namun, TurboJPEG API itu terlalu kaku dan mengharapkan faktor pengambilan sampel untuk menjadi sama dengan 1 sebelum diperlakukan gambar sebagai JPEG grayscale.
  • cjpeg, djpeg, dan jpegtran sekarang menerima argumen dari version, yang akan mencetak versi perpustakaan dan keluar.
  • Mengacu 1,4 beta1 [15], yang lain keadaan yang sangat jarang ditemukan di mana penyangga lokal Huffman encoder dapat dibanjiri ketika seorang manajer tujuan buffered sedang digunakan dan blok yang sangat tinggi frekuensi (pada dasarnya data gambar junk) adalah yang dikodekan. Meskipun Huffman buffer meningkat dari 128 byte ke 136 byte untuk mengatasi masalah sebelumnya, masalah baru yang disebabkan bahkan buffer yang lebih besar akan dibanjiri. Analisis lebih lanjut mengungkapkan bahwa, dalam kasus terburuk mutlak (seperti pengaturan bolak koefisien AC untuk 32767 dan -32.768 di scanning agar JPEG), encoder Huffman dapat menghasilkan blok dikodekan yang mendekati dua kali lipat ukuran blok unencoded. Dengan demikian, Huffman buffer meningkat menjadi 256 byte, yang seharusnya mencegah masalah tersebut dari kembali terjadi di masa depan.
  • The tjPlaneSizeYUV baru (), tjPlaneWidth (), dan tjPlaneHeight () fungsi yang tidak benar-benar dapat digunakan pada platform apapun kecuali OS X dan Windows, karena fungsi-fungsi yang tidak termasuk dalam libturbojpeg mapfile. Ini telah diperbaiki.
  • Dipulihkan yang JPP (), JMETHOD (), dan macro FAR dalam file header libjpeg-turbo. The JPP () dan JMETHOD () macro awalnya dilaksanakan di libjpeg sebagai cara untuk mendukung non-ANSI compiler yang tidak memiliki dukungan untuk parameter prototipe. libjpeg-turbo tidak pernah mendukung compiler tersebut, namun beberapa paket software masih menggunakan macro untuk mendefinisikan prototipe mereka sendiri. Demikian pula, libjpeg-turbo tidak pernah mendukung MS-DOS dan platform lainnya yang memiliki simbol jauh, namun beberapa paket software masih menggunakan makro FAR. Argumen yang cukup baik dapat dibuat bahwa ini adalah praktek yang buruk pada bagian dari perangkat lunak yang bersangkutan, tapi karena ini mempengaruhi lebih dari satu paket, itu hanya lebih mudah untuk memperbaikinya di sini.
  • Tetap masalah yang mencegah ARM 64-bit SIMD kode dari kompilasi untuk iOS, dan termasuk arsitektur ARMv8 di semua binari diinstal oleh & quot; resmi & quot; libjpeg-turbo SDK untuk OS X.

Apa yang baru di versi 1.4.2:

  • Fixed membangun masalah pada OS X PowerPC platform ( md5cmp gagal membangun karena OS X tidak memberikan le32toh () dan htole32 () fungsi.).
  • The non-SIMD warna RGB565 kode konversi tidak bekerja dengan benar pada mesin endian besar. Ini telah diperbaiki.
  • Memperbaiki masalah tjPlaneSizeYUV (), dimana keliru akan kembali 1 bukannya -1 jika ComponentID adalah & gt; 0 dan subsamp adalah TJSAMP_GRAY.
  • Memperbaiki masalah tjBufSizeYUV2 () wherby itu keliru akan kembali 0 bukan -1 jika lebar adalah & lt; 1.
  • The Huffman encoder sekarang menggunakan clz dan BSR petunjuk untuk sedikit mengandalkan ARM64 platform.
  • dekat () metode dalam kelas TJCompressor dan TJDecompressor Java sekarang idempoten. Sebelumnya, metode yang akan memanggil tjDestroy asli () function bahkan jika misalnya TurboJPEG sudah hancur. Hal ini menyebabkan pengecualian untuk dilempar selama finalisasi, jika metode close () sudah dipanggil. pengecualian tertangkap, tapi itu masih operasi yang mahal.
  • The TurboJPEG API sebelumnya dihasilkan kesalahan (& quot; Tidak dapat menentukan jenis subsampling untuk gambar JPEG & quot;) ketika mencoba untuk dekompresi gambar JPEG grayscale yang dikompresi dengan faktor pengambilan sampel selain 1 (misalnya, dengan 'cjpeg -grayscale - 2x2 sampel '). Subsampling teknis tidak memiliki makna dengan JPEG grayscale, dan dengan demikian faktor pengambilan sampel horisontal dan vertikal untuk gambar tersebut diabaikan oleh decompressor. Namun, TurboJPEG API itu terlalu kaku dan mengharapkan faktor pengambilan sampel untuk menjadi sama dengan 1 sebelum diperlakukan gambar sebagai JPEG grayscale.
  • cjpeg, djpeg, dan jpegtran sekarang menerima argumen dari version, yang akan mencetak versi perpustakaan dan keluar.
  • Mengacu 1,4 beta1 [15], yang lain keadaan yang sangat jarang ditemukan di mana penyangga lokal Huffman encoder dapat dibanjiri ketika seorang manajer tujuan buffered sedang digunakan dan blok yang sangat tinggi frekuensi (pada dasarnya data gambar junk) adalah yang dikodekan. Meskipun Huffman buffer meningkat dari 128 byte ke 136 byte untuk mengatasi masalah sebelumnya, masalah baru yang disebabkan bahkan buffer yang lebih besar akan dibanjiri. Analisis lebih lanjut mengungkapkan bahwa, dalam kasus terburuk mutlak (seperti pengaturan bolak koefisien AC untuk 32767 dan -32.768 di scanning agar JPEG), encoder Huffman dapat menghasilkan blok dikodekan yang mendekati dua kali lipat ukuran blok unencoded. Dengan demikian, Huffman buffer meningkat menjadi 256 byte, yang seharusnya mencegah masalah tersebut dari kembali terjadi di masa depan.
  • The tjPlaneSizeYUV baru (), tjPlaneWidth (), dan tjPlaneHeight () fungsi yang tidak benar-benar dapat digunakan pada platform apapun kecuali OS X dan Windows, karena fungsi-fungsi yang tidak termasuk dalam libturbojpeg mapfile. Ini telah diperbaiki.
  • Dipulihkan yang JPP (), JMETHOD (), dan macro FAR dalam file header libjpeg-turbo. The JPP () dan JMETHOD () macro awalnya dilaksanakan di libjpeg sebagai cara untuk mendukung non-ANSI compiler yang tidak memiliki dukungan untuk parameter prototipe. libjpeg-turbo tidak pernah mendukung compiler tersebut, namun beberapa paket software masih menggunakan macro untuk mendefinisikan prototipe mereka sendiri. Demikian pula, libjpeg-turbo tidak pernah mendukung MS-DOS dan platform lainnya yang memiliki simbol jauh, namun beberapa paket software masih menggunakan makro FAR. Argumen yang cukup baik dapat dibuat bahwa ini adalah praktek yang buruk pada bagian dari perangkat lunak yang bersangkutan, tapi karena ini mempengaruhi lebih dari satu paket, itu hanya lebih mudah untuk memperbaikinya di sini.
  • Tetap masalah yang mencegah ARM 64-bit SIMD kode dari kompilasi untuk iOS, dan termasuk arsitektur ARMv8 di semua binari diinstal oleh & quot; resmi & quot; libjpeg-turbo SDK untuk OS X.

Apa yang baru di versi 1.4.0:

  • Fixed membangun masalah pada OS X PowerPC platform ( md5cmp gagal membangun karena OS X tidak memberikan le32toh () dan htole32 () fungsi.).
  • The non-SIMD warna RGB565 kode konversi tidak bekerja dengan benar pada mesin endian besar. Ini telah diperbaiki.
  • Memperbaiki masalah tjPlaneSizeYUV (), dimana keliru akan kembali 1 bukannya -1 jika ComponentID adalah & gt; 0 dan subsamp adalah TJSAMP_GRAY.
  • Memperbaiki masalah tjBufSizeYUV2 () wherby itu keliru akan kembali 0 bukan -1 jika lebar adalah & lt; 1.
  • The Huffman encoder sekarang menggunakan clz dan BSR petunjuk untuk sedikit mengandalkan ARM64 platform.
  • dekat () metode dalam kelas TJCompressor dan TJDecompressor Java sekarang idempoten. Sebelumnya, metode yang akan memanggil tjDestroy asli () function bahkan jika misalnya TurboJPEG sudah hancur. Hal ini menyebabkan pengecualian untuk dilempar selama finalisasi, jika metode close () sudah dipanggil. pengecualian tertangkap, tapi itu masih operasi yang mahal.
  • The TurboJPEG API sebelumnya dihasilkan kesalahan (& quot; Tidak dapat menentukan jenis subsampling untuk gambar JPEG & quot;) ketika mencoba untuk dekompresi gambar JPEG grayscale yang dikompresi dengan faktor pengambilan sampel selain 1 (misalnya, dengan 'cjpeg -grayscale - 2x2 sampel '). Subsampling teknis tidak memiliki makna dengan JPEG grayscale, dan dengan demikian faktor pengambilan sampel horisontal dan vertikal untuk gambar tersebut diabaikan oleh decompressor. Namun, TurboJPEG API itu terlalu kaku dan mengharapkan faktor pengambilan sampel untuk menjadi sama dengan 1 sebelum diperlakukan gambar sebagai JPEG grayscale.
  • cjpeg, djpeg, dan jpegtran sekarang menerima argumen dari version, yang akan mencetak versi perpustakaan dan keluar.
  • Mengacu 1,4 beta1 [15], yang lain keadaan yang sangat jarang ditemukan di mana penyangga lokal Huffman encoder dapat dibanjiri ketika seorang manajer tujuan buffered sedang digunakan dan blok yang sangat tinggi frekuensi (pada dasarnya data gambar junk) adalah yang dikodekan. Meskipun Huffman buffer meningkat dari 128 byte ke 136 byte untuk mengatasi masalah sebelumnya, masalah baru yang disebabkan bahkan buffer yang lebih besar akan dibanjiri. Analisis lebih lanjut mengungkapkan bahwa, dalam kasus terburuk mutlak (seperti pengaturan bolak koefisien AC untuk 32767 dan -32.768 di scanning agar JPEG), encoder Huffman dapat menghasilkan blok dikodekan yang mendekati dua kali lipat ukuran blok unencoded. Dengan demikian, Huffman buffer meningkat menjadi 256 byte, yang seharusnya mencegah masalah tersebut dari kembali terjadi di masa depan.
  • The tjPlaneSizeYUV baru (), tjPlaneWidth (), dan tjPlaneHeight () fungsi yang tidak benar-benar dapat digunakan pada platform apapun kecuali OS X dan Windows, karena fungsi-fungsi yang tidak termasuk dalam libturbojpeg mapfile. Ini telah diperbaiki.
  • Dipulihkan yang JPP (), JMETHOD (), dan macro FAR dalam file header libjpeg-turbo. The JPP () dan JMETHOD () macro awalnya dilaksanakan di libjpeg sebagai cara untuk mendukung non-ANSI compiler yang tidak memiliki dukungan untuk parameter prototipe. libjpeg-turbo tidak pernah mendukung compiler tersebut, namun beberapa paket software masih menggunakan macro untuk mendefinisikan prototipe mereka sendiri. Demikian pula, libjpeg-turbo tidak pernah mendukung MS-DOS dan platform lainnya yang memiliki simbol jauh, namun beberapa paket software masih menggunakan makro FAR. Argumen yang cukup baik dapat dibuat bahwa ini adalah praktek yang buruk pada bagian dari perangkat lunak yang bersangkutan, tapi karena ini mempengaruhi lebih dari satu paket, itu hanya lebih mudah untuk memperbaikinya di sini.
  • Tetap masalah yang mencegah ARM 64-bit SIMD kode dari kompilasi untuk iOS, dan termasuk arsitektur ARMv8 di semua binari diinstal oleh & quot; resmi & quot; libjpeg-turbo SDK untuk OS X.

Apa yang baru di versi 1.3.0:

  • [1] 'membuat test' sekarang bekerja dengan benar pada FreeBSD, dan tidak lagi memerlukan executable md5sum untuk hadir di lain Un * x platform.
  • [2] Overhauled sistem kemasan: - Untuk menghindari konflik dengan paket libjpeg-turbo dari vendor, RPM resmi dan Debs untuk libjpeg-turbo telah berganti nama menjadi & quot; libjpeg-turbo-resmi & quot ;. - The TurboJPEG perpustakaan sekarang terletak di bawah / opt / libjpeg-turbo dalam paket Linux dan Mac resmi, untuk menghindari konflik dengan paket dari vendor dan juga untuk merampingkan sistem kemasan. - Paket Rilis sekarang dibuat dengan struktur direktori yang didefinisikan oleh variabel configure & quot; prefix & quot ;, & quot; bindir & quot ;, & quot; libdir & quot ;, dll (Un * x) atau dengan variabel CMAKE_INSTALL_PREFIX (Windows.) Pengecualian adalah bahwa docs selalu berada di bawah direktori dokumentasi sistem default pada Un * x dan sistem Mac, dan Windows, TurboJPEG DLL selalu terletak di direktori sistem Windows. - Untuk menghindari kebingungan, paket libjpeg-turbo resmi di Linux / Unix platform (kecuali untuk Mac) akan selalu menginstal perpustakaan 32-bit di / opt / libjpeg-turbo / lib32 dan 64-bit perpustakaan di / opt / libjpeg- turbo / lib64. - Tetap masalah di mana, dalam beberapa kasus, executable libjpeg-turbo pada Un * x sistem tidak benar menghubungkan dengan shared library diinstal oleh paket yang sama. - Memperbaiki masalah dimana membangun & quot; installer & quot; menargetkan pada Windows ketika WITH_JAVA = 1 akan gagal jika JAR TurboJPEG tidak dibangun sebelumnya. - Membangun & quot; menginstal & quot; target pada Windows sekarang menginstal file ke dalam tempat yang sama bahwa installer tidak.
  • [3] Fixed encoder bug Huffman yang dicegah I / O suspensi dari bekerja dengan benar.

Apa yang baru di versi 1.2.0:

  • Masalah membangun ditemui ketika menggunakan YASM pada sistem Unix itu tetap.
  • An out-of-batas baca di kode SSE2 SIMD itu tetap.
  • New konstanta ekstensi colorspace yang memungkinkan aplikasi untuk menentukan bahwa byte tidak digunakan dalam 4-byte RGB penyangga harus diperlakukan sebagai channel alpha ketika dekompresi ditambahkan.
  • Masalah regresi ditemui ketika membangun Devil dengan libjpeg-turbo tetap.
  • dukungan iOS ditambahkan ke SDK libjpeg-turbo untuk Mac.

Apa yang baru di versi 1.1 Beta 1:

  • libjpeg-turbo dapat dibangun untuk meniru libjpeg yang v7 atau v8b API / ABI.
  • Windows membangun sistem sekarang menggunakan CMake.
  • TurboJPEG / OSS sekarang dapat memampatkan dari / dekompresi ke bitmap grayscale dan mengkonversi RGB atau JPEG gambar untuk planar keluaran YUV.
  • jpgtest dapat digunakan untuk menguji kinerja dekompresi dengan gambar JPEG yang ada.
  • Opsional aritmatika encoding dan decoding dukungan telah ditambahkan.
  • perlindungan lebih lanjut ditambahkan terhadap kode Huffman yang tidak valid.

Apa yang baru di versi 1.0.0:.

  • Selanjutnya membangun perbaikan pada FreeBSD
  • paket Unix / Linux sekarang termasuk libjpeg run-time program (cjpeg, dll) dan halaman man.
  • Ada paket tambahan 32-bit untuk sistem Debian amd64.
  • dukungan Cygwin.
  • Dukungan penuh untuk membangun / pengujian pada arsitektur non-x86.

  • binari
  • 64-bit OS X sekarang kompatibel dengan OS X 10.4.
  • Ada berbagai tweak kemasan Linux.

Apa yang baru di versi 0.0.91:

  • dokumentasi Ditambahkan ke .deb paket

  • masalah korupsi
  • Data Tetap ketika dekompresi gambar JPEG besar dan / atau menggunakan buffered I / O dengan decompressor libjpeg-turbo

Perangkat lunak lain dari pengembang D. R. Commander

TurboVNC
TurboVNC

3 Jun 15

VirtualGL
VirtualGL

7 Mar 16

Komentar untuk libjpeg-turbo

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!