libjpeg-turbo

Phần mềm chụp màn hình:
libjpeg-turbo
Các chi tiết về phần mềm:
Phiên bản: 1.4.90 Cập nhật
Ngày tải lên: 10 Mar 16
Nhà phát triển: D. R. Commander
Giấy phép: Miễn phí
Phổ biến: 68

Rating: nan/5 (Total Votes: 0)

libjpeg-turbo là một mã nguồn mở, nền tảng và phần mềm hoàn toàn miễn phí thiết kế để cung cấp một phiên bản tốc độ cao của phần mềm thư viện libjpeg ban đầu, đặc biệt crafted cho x86 và x86-64 bộ xử lý, sử dụng SIMD ( đơn, bội Data) hướng dẫn, chẳng hạn như SSE2, MMX và NEON, để đẩy nhanh tiến độ giải nén JPEG cơ sở và nén.


Codec hình ảnh JPEG rất nhanh

Phần mềm này là một cực kỳ nhanh JPEG hình ảnh codec mà nói chung là 2-4x nhanh hơn so với phiên bản chưa sửa đổi của libjpeg. Dự án ban đầu được dựa trên libjpeg / dự án SIMD tạo ra bởi Miyasaka Masaru.


Thực hiện các API libjpeg truyền thống

Đây là phiên bản Turbo của thư viện libjpeg cũng thực hiện các API libjpeg truyền thống, cũng như các TurboJPEG API đơn giản. Nó có tính năng mở rộng vùng màu, cho phép người sử dụng để nén từ hoặc giải nén để đệm điểm ảnh lớn về cuối nhỏ và 32-bit (XBGR, RGBX, vv), và một giao diện Java đầy đủ tính năng.


Phân phối như các trình cài đặt bản địa cho DEB và các hệ điều hành dựa trên RPM

Để tiện cho bạn, phần mềm được phân phối như các trình cài đặt bản địa cho DEB và hệ điều hành dựa trên RPM, như Debian, Ubuntu, Linux Mint, Fedora, CentOS, Red Hat Enterprise Linux, openSUSE, Mageia, vv, hỗ trợ cả hai 64 và 32-bit nền tảng phần cứng.


Bắt đầu với libjpeg-turbo

Các dự án libjpeg-turbo có thể được dễ dàng cài đặt từ kho phần mềm chính của một bản phân phối GNU / Linux. Nó cũng sẽ được tự động cài đặt cùng với bất kỳ phần mềm đòi hỏi nó.

Để cài đặt nó bằng tay bằng cách sử dụng gói nguồn, trong trường hợp bạn muốn tối ưu hóa nó cho kiến ​​trúc phần cứng của bạn / hệ điều hành, tải và lưu kho lưu trữ mới nhất từ ​​Softoware, trích xuất nội dung của nó sử dụng một tiện ích quản lý lưu trữ, mở ứng dụng Terminal và đi đến vị trí của các tập tin lưu trữ được chiết xuất (ví dụ cd / home / softoware / libjpeg-turbo).

Sau đó, chạy & lsquo; ./ configure && make & rsquo; lệnh để cấu hình và biên dịch chương trình, tiếp theo là & lsquo; sudo make install & rsquo; commad để cài đặt nó rộng hệ thống và làm cho nó có sẵn cho tất cả các ứng dụng

Điều gì là mới trong phiên bản này:.

    < li> cố định một vấn đề xây dựng trên nền tảng hệ điều hành X PowerPC (md5cmp thất bại để xây dựng vì OS X không cung cấp các le32toh () và htole32 () chức năng.).
  • Các phi SIMD mã chuyển đổi màu RGB565 đã không làm việc một cách chính xác trên máy về cuối lớn. Điều này đã được cố định.
  • Cố định một vấn đề trong tjPlaneSizeYUV (), theo đó nó sẽ sai lầm trở về 1 thay vì -1 nếu componentID là & gt; 0 và subsamp là TJSAMP_GRAY.
  • Cố định một vấn đề trong tjBufSizeYUV2 () wherby nó sẽ sai lầm trở về 0 thay vì -1 nếu chiều rộng là & lt; 1.
  • Các Huffman mã hóa hiện nay sử dụng hướng dẫn CLZ và BSR cho bit đếm trên nền tảng ARM64.
  • Phương thức close () trong các lớp TJCompressor và TJDecompressor Java hiện idempotent. Trước đây, phương pháp đó sẽ gọi tjDestroy bản địa () chức năng ngay cả khi dụ TurboJPEG đã bị phá hủy. Điều này gây ra một ngoại lệ được ném trong quyết toán thuế, nếu phương thức close () đã được gọi. Các ngoại lệ được bắt gặp, nhưng nó vẫn còn là một hoạt động tốn kém.
  • Các TurboJPEG API trước đây tạo ra một lỗi (& quot; Không thể quyết định kiểu mẫu phụ cho hình ảnh JPEG & quot;) khi cố gắng để giải nén hình ảnh JPEG màu xám đã được nén với một yếu tố lấy mẫu khác hơn 1 (ví dụ, với 'cjpeg -grayscale - 2x2 mẫu '). Lấy mẫu con về mặt kỹ thuật không có ý nghĩa với hình ảnh JPEG màu xám, và do đó các yếu tố lấy mẫu theo chiều ngang và theo chiều dọc, hình ảnh đó sẽ được bỏ qua bởi những giải nén. Tuy nhiên, các TurboJPEG API quá cứng nhắc và được mong đợi các yếu tố lấy mẫu phải bằng 1 trước khi nó được xử lý hình ảnh như là một JPEG grayscale.
  • cjpeg, djpeg, và jpegtran bây giờ chấp nhận một đối số của -version, mà sẽ in các phiên bản thư viện và thoát.
  • Nhắc đến 1,4 beta1 [15], một hoàn cảnh cực kỳ quý hiếm đã được phát hiện, theo đó bộ đệm địa phương các bộ mã hóa của Huffman có thể bị tàn phá khi một người quản lý điểm đến đệm đang được sử dụng và một khối tần số cực cao (về cơ bản dữ liệu hình ảnh rác) là được mã hóa. Mặc dù bộ đệm địa phương Huffman đã tăng từ 128 byte đến 136 byte để giải quyết các vấn đề trước đây, vấn đề mới gây ra ngay cả những bộ đệm lớn hơn để bị tàn phá. Phân tích sâu hơn cho thấy rằng, trong trường hợp xấu nhất tuyệt đối (như thiết lập xen kẽ các hệ số AC đến 32.767 -32.768 và theo thứ tự quét JPEG), các bộ mã hóa Huffman có thể sản xuất các khối mã hóa mà tiếp cận gấp đôi kích thước của các khối unencoded. Như vậy, các bộ đệm địa phương Huffman đã tăng lên đến 256 byte, mà sẽ ngăn chặn bất kỳ vấn đề như vậy tái diễn trong tương lai.
  • Các tjPlaneSizeYUV mới (), tjPlaneWidth (), và các chức năng tjPlaneHeight () là không thực sự có thể sử dụng trên bất kỳ nền tảng trừ OS X và Windows, bởi vì những chức năng không được bao gồm trong libturbojpeg mapfile. Điều này đã được cố định.
  • Phục hồi các JPP (), JMETHOD (), và macro FAR trong các tập tin tiêu đề libjpeg-turbo. Các JPP () và JMETHOD () macro đã được thực hiện ban đầu trong libjpeg như một cách hỗ trợ các trình biên dịch không ANSI rằng thiếu hỗ trợ cho các tham số mẫu thử nghiệm. libjpeg-turbo đã không bao giờ hỗ trợ các trình biên dịch như vậy, nhưng một số gói phần mềm vẫn sử dụng các macro để xác định nguyên mẫu của mình. Tương tự như vậy, libjpeg-turbo đã không bao giờ được hỗ trợ MS-DOS và các nền tảng khác mà có biểu tượng, nhưng một số gói phần mềm vẫn sử dụng các macro FAR. Một lập luận khá tốt có thể được thực hiện rằng đây là một thực tế xấu trên một phần của phần mềm trong câu hỏi, nhưng vì điều này ảnh hưởng nhiều hơn một gói, nó chỉ là dễ dàng hơn để sửa chữa nó ở đây.
  • vấn đề cố định đã được ngăn chặn ARM 64-bit, mã SIMD từ biên soạn dành cho iOS, và bao gồm một kiến ​​trúc ARMv8 trong tất cả các tập tin nhị phân được cài đặt bởi các & quot; chính thức & quot; libjpeg-turbo SDK cho OS X.

Điều gì là mới trong phiên bản 1.4.2:

  • Cố định một vấn đề xây dựng trên nền tảng hệ điều hành X PowerPC ( md5cmp thất bại để xây dựng vì OS X không cung cấp các le32toh () và htole32 () chức năng.).
  • Các phi SIMD mã chuyển đổi màu RGB565 đã không làm việc một cách chính xác trên máy về cuối lớn. Điều này đã được cố định.
  • Cố định một vấn đề trong tjPlaneSizeYUV (), theo đó nó sẽ sai lầm trở về 1 thay vì -1 nếu componentID là & gt; 0 và subsamp là TJSAMP_GRAY.
  • Cố định một vấn đề trong tjBufSizeYUV2 () wherby nó sẽ sai lầm trở về 0 thay vì -1 nếu chiều rộng là & lt; 1.
  • Các Huffman mã hóa hiện nay sử dụng hướng dẫn CLZ và BSR cho bit đếm trên nền tảng ARM64.
  • Phương thức close () trong các lớp TJCompressor và TJDecompressor Java hiện idempotent. Trước đây, phương pháp đó sẽ gọi tjDestroy bản địa () chức năng ngay cả khi dụ TurboJPEG đã bị phá hủy. Điều này gây ra một ngoại lệ được ném trong quyết toán thuế, nếu phương thức close () đã được gọi. Các ngoại lệ được bắt gặp, nhưng nó vẫn còn là một hoạt động tốn kém.
  • Các TurboJPEG API trước đây tạo ra một lỗi (& quot; Không thể quyết định kiểu mẫu phụ cho hình ảnh JPEG & quot;) khi cố gắng để giải nén hình ảnh JPEG màu xám đã được nén với một yếu tố lấy mẫu khác hơn 1 (ví dụ, với 'cjpeg -grayscale - 2x2 mẫu '). Lấy mẫu con về mặt kỹ thuật không có ý nghĩa với hình ảnh JPEG màu xám, và do đó các yếu tố lấy mẫu theo chiều ngang và theo chiều dọc, hình ảnh đó sẽ được bỏ qua bởi những giải nén. Tuy nhiên, các TurboJPEG API quá cứng nhắc và được mong đợi các yếu tố lấy mẫu phải bằng 1 trước khi nó được xử lý hình ảnh như là một JPEG grayscale.
  • cjpeg, djpeg, và jpegtran bây giờ chấp nhận một đối số của -version, mà sẽ in các phiên bản thư viện và thoát.
  • Nhắc đến 1,4 beta1 [15], một hoàn cảnh cực kỳ quý hiếm đã được phát hiện, theo đó bộ đệm địa phương các bộ mã hóa của Huffman có thể bị tàn phá khi một người quản lý điểm đến đệm đang được sử dụng và một khối tần số cực cao (về cơ bản dữ liệu hình ảnh rác) là được mã hóa. Mặc dù bộ đệm địa phương Huffman đã tăng từ 128 byte đến 136 byte để giải quyết các vấn đề trước đây, vấn đề mới gây ra ngay cả những bộ đệm lớn hơn để bị tàn phá. Phân tích sâu hơn cho thấy rằng, trong trường hợp xấu nhất tuyệt đối (như thiết lập xen kẽ các hệ số AC đến 32.767 -32.768 và theo thứ tự quét JPEG), các bộ mã hóa Huffman có thể sản xuất các khối mã hóa mà tiếp cận gấp đôi kích thước của các khối unencoded. Như vậy, các bộ đệm địa phương Huffman đã tăng lên đến 256 byte, mà sẽ ngăn chặn bất kỳ vấn đề như vậy tái diễn trong tương lai.
  • Các tjPlaneSizeYUV mới (), tjPlaneWidth (), và các chức năng tjPlaneHeight () là không thực sự có thể sử dụng trên bất kỳ nền tảng trừ OS X và Windows, bởi vì những chức năng không được bao gồm trong libturbojpeg mapfile. Điều này đã được cố định.
  • Phục hồi các JPP (), JMETHOD (), và macro FAR trong các tập tin tiêu đề libjpeg-turbo. Các JPP () và JMETHOD () macro đã được thực hiện ban đầu trong libjpeg như một cách hỗ trợ các trình biên dịch không ANSI rằng thiếu hỗ trợ cho các tham số mẫu thử nghiệm. libjpeg-turbo đã không bao giờ hỗ trợ các trình biên dịch như vậy, nhưng một số gói phần mềm vẫn sử dụng các macro để xác định nguyên mẫu của mình. Tương tự như vậy, libjpeg-turbo đã không bao giờ được hỗ trợ MS-DOS và các nền tảng khác mà có biểu tượng, nhưng một số gói phần mềm vẫn sử dụng các macro FAR. Một lập luận khá tốt có thể được thực hiện rằng đây là một thực tế xấu trên một phần của phần mềm trong câu hỏi, nhưng vì điều này ảnh hưởng nhiều hơn một gói, nó chỉ là dễ dàng hơn để sửa chữa nó ở đây.
  • vấn đề cố định đã được ngăn chặn ARM 64-bit, mã SIMD từ biên soạn dành cho iOS, và bao gồm một kiến ​​trúc ARMv8 trong tất cả các tập tin nhị phân được cài đặt bởi các & quot; chính thức & quot; libjpeg-turbo SDK cho OS X.

Điều gì là mới trong phiên bản 1.4.0:

  • Cố định một vấn đề xây dựng trên nền tảng hệ điều hành X PowerPC ( md5cmp thất bại để xây dựng vì OS X không cung cấp các le32toh () và htole32 () chức năng.).
  • Các phi SIMD mã chuyển đổi màu RGB565 đã không làm việc một cách chính xác trên máy về cuối lớn. Điều này đã được cố định.
  • Cố định một vấn đề trong tjPlaneSizeYUV (), theo đó nó sẽ sai lầm trở về 1 thay vì -1 nếu componentID là & gt; 0 và subsamp là TJSAMP_GRAY.
  • Cố định một vấn đề trong tjBufSizeYUV2 () wherby nó sẽ sai lầm trở về 0 thay vì -1 nếu chiều rộng là & lt; 1.
  • Các Huffman mã hóa hiện nay sử dụng hướng dẫn CLZ và BSR cho bit đếm trên nền tảng ARM64.
  • Phương thức close () trong các lớp TJCompressor và TJDecompressor Java hiện idempotent. Trước đây, phương pháp đó sẽ gọi tjDestroy bản địa () chức năng ngay cả khi dụ TurboJPEG đã bị phá hủy. Điều này gây ra một ngoại lệ được ném trong quyết toán thuế, nếu phương thức close () đã được gọi. Các ngoại lệ được bắt gặp, nhưng nó vẫn còn là một hoạt động tốn kém.
  • Các TurboJPEG API trước đây tạo ra một lỗi (& quot; Không thể quyết định kiểu mẫu phụ cho hình ảnh JPEG & quot;) khi cố gắng để giải nén hình ảnh JPEG màu xám đã được nén với một yếu tố lấy mẫu khác hơn 1 (ví dụ, với 'cjpeg -grayscale - 2x2 mẫu '). Lấy mẫu con về mặt kỹ thuật không có ý nghĩa với hình ảnh JPEG màu xám, và do đó các yếu tố lấy mẫu theo chiều ngang và theo chiều dọc, hình ảnh đó sẽ được bỏ qua bởi những giải nén. Tuy nhiên, các TurboJPEG API quá cứng nhắc và được mong đợi các yếu tố lấy mẫu phải bằng 1 trước khi nó được xử lý hình ảnh như là một JPEG grayscale.
  • cjpeg, djpeg, và jpegtran bây giờ chấp nhận một đối số của -version, mà sẽ in các phiên bản thư viện và thoát.
  • Nhắc đến 1,4 beta1 [15], một hoàn cảnh cực kỳ quý hiếm đã được phát hiện, theo đó bộ đệm địa phương các bộ mã hóa của Huffman có thể bị tàn phá khi một người quản lý điểm đến đệm đang được sử dụng và một khối tần số cực cao (về cơ bản dữ liệu hình ảnh rác) là được mã hóa. Mặc dù bộ đệm địa phương Huffman đã tăng từ 128 byte đến 136 byte để giải quyết các vấn đề trước đây, vấn đề mới gây ra ngay cả những bộ đệm lớn hơn để bị tàn phá. Phân tích sâu hơn cho thấy rằng, trong trường hợp xấu nhất tuyệt đối (như thiết lập xen kẽ các hệ số AC đến 32.767 -32.768 và theo thứ tự quét JPEG), các bộ mã hóa Huffman có thể sản xuất các khối mã hóa mà tiếp cận gấp đôi kích thước của các khối unencoded. Như vậy, các bộ đệm địa phương Huffman đã tăng lên đến 256 byte, mà sẽ ngăn chặn bất kỳ vấn đề như vậy tái diễn trong tương lai.
  • Các tjPlaneSizeYUV mới (), tjPlaneWidth (), và các chức năng tjPlaneHeight () là không thực sự có thể sử dụng trên bất kỳ nền tảng trừ OS X và Windows, bởi vì những chức năng không được bao gồm trong libturbojpeg mapfile. Điều này đã được cố định.
  • Phục hồi các JPP (), JMETHOD (), và macro FAR trong các tập tin tiêu đề libjpeg-turbo. Các JPP () và JMETHOD () macro đã được thực hiện ban đầu trong libjpeg như một cách hỗ trợ các trình biên dịch không ANSI rằng thiếu hỗ trợ cho các tham số mẫu thử nghiệm. libjpeg-turbo đã không bao giờ hỗ trợ các trình biên dịch như vậy, nhưng một số gói phần mềm vẫn sử dụng các macro để xác định nguyên mẫu của mình. Tương tự như vậy, libjpeg-turbo đã không bao giờ được hỗ trợ MS-DOS và các nền tảng khác mà có biểu tượng, nhưng một số gói phần mềm vẫn sử dụng các macro FAR. Một lập luận khá tốt có thể được thực hiện rằng đây là một thực tế xấu trên một phần của phần mềm trong câu hỏi, nhưng vì điều này ảnh hưởng nhiều hơn một gói, nó chỉ là dễ dàng hơn để sửa chữa nó ở đây.
  • vấn đề cố định đã được ngăn chặn ARM 64-bit, mã SIMD từ biên soạn dành cho iOS, và bao gồm một kiến ​​trúc ARMv8 trong tất cả các tập tin nhị phân được cài đặt bởi các & quot; chính thức & quot; libjpeg-turbo SDK cho OS X.

Điều gì là mới trong phiên bản 1.3.0:

  • [1] 'làm bài kiểm tra' hiện đang làm việc đúng cách trên FreeBSD, và nó không còn đòi hỏi các md5sum thực thi để có mặt trên Un * x nền tảng khác.
  • [2] đại tu hệ thống đóng gói: - Để tránh xung đột với các gói libjpeg-turbo nhà cung cấp cung cấp, RPM chính thức và Debs cho libjpeg-turbo đã được đổi tên để & quot; libjpeg-turbo-chính thức & quot ;. - Các thư viện TurboJPEG hiện đang nằm dưới / opt / libjpeg-turbo trong các gói Linux và Mac chính thức, để tránh xung đột với các gói nhà cung cấp cung cấp và cũng để hợp lý hóa hệ thống đóng gói. - Gói phát hành hiện nay được tạo với các cấu trúc thư mục được xác định bởi các biến cấu hình & quot; tiền tố & quot ;, & quot; bindir & quot ;, & quot; libdir & quot ;, vv (Un * x) hoặc bởi biến CMAKE_INSTALL_PREFIX (Windows). Trường hợp ngoại lệ là rằng các tài liệu luôn luôn nằm dưới thư mục tài liệu mặc định hệ thống trên Un * x và các hệ thống Mac, và trên Windows, các TurboJPEG DLL là luôn luôn nằm trong thư mục hệ thống của Windows. - Để tránh nhầm lẫn, gói libjpeg-turbo chính thức trên các nền tảng Linux / Unix (trừ Mac) sẽ luôn luôn cài đặt các thư viện 32-bit trong / opt / libjpeg-turbo / lib32 và các thư viện 64-bit trong / opt / libjpeg- turbo / lib64. - Cố định một vấn đề đó, trong một số trường hợp, việc thực thi libjpeg-turbo trên Un * x hệ thống không đúng cách liên kết với các thư viện chia sẻ được cài đặt bởi cùng một gói. - Cố định một vấn đề theo đó xây dựng & quot; cài đặt & quot; nhắm mục tiêu trên Windows khi WITH_JAVA = 1 sẽ thất bại nếu JAR TurboJPEG đã không được xây dựng trước đây. - Xây dựng & quot; cài đặt & quot; mục tiêu trên Windows bây giờ cài đặt tập tin vào cùng một nơi rằng trình cài đặt.
  • [3] cố định một bộ mã hóa Huffman lỗi ngăn I / O tạm đình chỉ hoạt động.

Điều gì là mới trong phiên bản 1.2.0:

  • Một vấn đề xây dựng gặp phải khi sử dụng YASM trên hệ thống Unix đã được cố định.
  • Một out-of-bounds đọc mã SSE2 SIMD đã được cố định.
  • hằng mở rộng vùng màu mới cho phép các ứng dụng để xác định rằng các byte không sử dụng trong một 4-byte RGB đệm phải được coi là một kênh alpha khi giải nén đã được thêm vào.
  • Một vấn đề hồi quy gặp phải khi xây dựng quỷ với libjpeg-turbo đã được cố định.
  • Hỗ trợ iOS đã được thêm vào SDK libjpeg-turbo cho Mac.

Điều gì là mới trong phiên bản 1.1 Beta 1:

  • libjpeg-turbo có thể được xây dựng để thi đua libjpeg v7 hoặc v8b API / ABI.
  • Windows xây dựng hệ thống hiện nay sử dụng CMake.
  • bây giờ TurboJPEG / OSS có thể nén từ / giải nén thành bitmap màu xám và chuyển đổi RGB hoặc JPEG hình ảnh đầu ra phẳng YUV.
  • jpgtest có thể được sử dụng để thử nghiệm hiệu suất nén với hình ảnh JPEG hiện.
  • Tùy chọn mã hóa và giải mã số học hỗ trợ được thêm vào.
  • bảo vệ hơn nữa được thêm chống lại các mã Huffman không hợp lệ.

Điều gì là mới trong phiên bản 1.0.0:.

  • xây dựng thêm những cải tiến trên FreeBSD
  • gói Unix / Linux hiện nay bao gồm libjpeg thời gian chạy chương trình (cjpeg, vv) và các trang con người.
  • Có một gói 32-bit bổ sung cho hệ thống Debian amd64.
  • hỗ trợ Cygwin.
  • Hỗ trợ đầy đủ cho xây dựng / thử nghiệm trên kiến ​​trúc x86 không.

  • nhị phân
  • 64-bit OS X hiện nay là tương thích ngược với OS X 10.4.
  • Có rất nhiều tinh chỉnh bao bì Linux.

Điều gì là mới trong phiên bản 0.0.91:

  • Thêm tài liệu để .deb gói

  • vấn đề tham nhũng
  • dữ liệu Sửa lỗi khi giải nén hình ảnh JPEG lớn và / hoặc sử dụng đệm I / O với giải nén libjpeg-turbo

Phần mềm khác của nhà phát triển D. R. Commander

VirtualGL
VirtualGL

7 Mar 16

TurboVNC
TurboVNC

3 Jun 15

Ý kiến ​​để libjpeg-turbo

Bình luận không
Nhập bình luận
Bật hình ảnh!