libjpeg-turbo

소프트웨어 스크린 샷:
libjpeg-turbo
소프트웨어 정보:
버전: 1.4.90 업데이트
업로드 날짜: 10 Mar 16
개발자: D. R. Commander
라이센스: 무료
인기: 68

Rating: nan/5 (Total Votes: 0)

libjpeg 터보은 원래 libjpeg 라이브러리 소프트웨어의 고속 버전, 특히 SIMD를 사용하여 x86 및 x86-64에 프로세서에 대한 조작을 제공하기 위해 설계된 오픈 소스, 크로스 플랫폼 및 완전 무료 소프트웨어입니다 ( 단일 명령, 같은 SSE2, MMX 및 NEON 같은 여러 데이터) 지침, 기준 JPEG 압축 해제 및 압축을 가속화합니다.


매우 빠른 JPEG 이미지 코덱

소프트웨어 libjpeg의 개질 된 버전보다 일반적으로 더 빠르다 2-4X 매우 빠른 JPEG 영상 코덱이다. 이 프로젝트는 원래 Miyasaka 마사루에 의해 생성 된 libjpeg / SIMD 프로젝트를 기반으로했다.


기존의 libjpeg API를 구현

는 libjpeg 라이브러리이 터보 버전은 기존의 libjpeg API뿐만 아니라 간단한 TurboJPEG의 API를 구현한다. 그것은 사용자가에서 압축 또는 빅 endian 및 32 비트 픽셀 버퍼 (XBGR, RGBX 등) 및 완전한 기능을 갖춘 Java 인터페이스.에 압축 해제 할 수 있습니다 색 공간 확장을 특징으로


DEB에 대한 기본 설치 및 RPM 기반의 OS로 배포

는 사용자의 편의를 위해 소프트웨어를 모두 지원하는 등 데비안, 우분투, 리눅스 민트, 페도라, CentOS에, 레드햇 엔터프라이즈 리눅스, 오픈 수세, 마제 야, 같은 DEB에 대한 기본 설치 및 RPM 기반의 운영 체제로 배포됩니다 64 및 32 비트 하드웨어 플랫폼.


libjpeg 터보 시작하기

는 libjpeg 터보 프로젝트는 쉽게 GNU / 리눅스 배포판의 주요 소프트웨어 저장소에서 설치할 수 있습니다. 그것은 또한 자동으로 필요로하는 소프트웨어와 함께 설치됩니다.

당신의 하드웨어 아키텍처 / 운영 체제, 다운로드를 최적화하고 Softoware의 최신 아카​​이브를 저장, 보관 관리 유틸리티를 사용하여 그 내용을 추출, 터미널 응용 프로그램을 열려면 수동 경우, 소스 패키지를 사용하여 설치하고, 추출 된 아카이브 파일의 위치로 이동합니다 (예 : CD / 홈 / softoware / libjpeg 터보).


./ 구성 && 확인 했음

그리고, & lsquo을 실행; 명령을 구성하고 다음 프로그램을 컴파일하려면, & lsquo; sudo를 설치 했음 만들; commad 넓은 그것을 시스템을 설치하고 모든 응용 프로그램에서 사용할 수 있도록하는

이 릴리스의 새로운 기능입니다 무엇 : 있습니다.

OS X 파워 PC 플랫폼에서 빌드 문제를 해결 (md5cmp OS X가 le32toh ()와 htole32 () 함수를 제공하지 않기 때문에 구축하는 데 실패했습니다.).
비 SIMD RGB565 색 변환 코드는 빅 엔디안 시스템에서 제대로 작동하지 않았다. 이 수정되었습니다.
한 ComponentID이었다된다 경우 잘못 한 대신 -1의 반환된다 tjPlaneSizeYUV ()에서 문제를 해결; 0 subsamp는 TJSAMP_GRAY했다.
그것이 잘못 0을 반환 wherby tjBufSizeYUV2 ()에서 문제를 해결하는 대신 -1 폭이었다 & LT 경우; 1.
허프만 인코더는 이제 ARM64 플랫폼에서 비트 계산을위한 CLZ과 BSR 지침을 사용합니다.
TJCompressor ​​및 TJDecompressor ​​자바 클래스의 close () 메서드에서 이제 나무 등입니다. 이전에, 그 방법은 TurboJPEG 인스턴스가 이미 파괴되었다하더라도 기본 tjDestroy () 함수를 호출합니다. 이것은 가까운 () 메서드가 이미 호출 된 경우 예외가 마무리 중에 발생되는 원인. 예외가 발견되지만 여전히 비용이 많이 드는 작업이었다.
예를 들어 (1 이외의 샘플링 요인으로 압축 된 그레이 스케일 JPEG 이미지 압축을 해제 할 때 'cjpeg -grayscale -sample × 2'로, (; JPEG 이미지 & quot위한 서브 샘플링 유형을 판별 할 수 없습니다 & quot)를 TurboJPEG API는 이전에 오류를 발생 ). 기술적으로 서브 샘플링은 그레이 스케일 JPEG 파일과 아무런 의미가 없습니다, 따라서 이러한 이미지의 수평 및 수직 샘플링 인자는 압축에 의해 무시됩니다. 그러나 TurboJPEG의 API도 강성인하고 그 계조로 JPEG 화상을 처리하기 전에 샘플링 인자가 1과 동일 할 것으로 예상되었다.
cjpeg는 djpeg 및 jpegtran 이제 라이브러리 버전 종료 인쇄됩니다 -version의 인수를 받아들입니다.
1.4 베타 [15]을 참조하면, 또 극히 드문 상황은 버퍼링 대상 관리자가 사용되면, 허프만 부호화의 로컬 버퍼 오버런 할 수 있으며, 매우 높은 - 주파수 블록 (기본적으로 쓰레기 화상 데이터)가 부호화되고있는 따라 발견되었다. 허프만 로컬 버퍼가 이전의 문제점을 해결하기 위해 136 바이트에 128 바이트의 증가에도 불구하고, 새로운 문제도 오버런 큰 버퍼를 일으켰다. 추가 분석 밝혀 그 절대 최악의 경우 (예 : JPEG 주사 순서 32767 및 -32768 교류 AC 계수의 설정 등)은 인코딩되지 않은 블록의 두 배 크기에 접근하는 코드 블록을 생성 할 수 허프만 인코더. 따라서, 허프만 로컬 버퍼는 미래에 다시 발생하는 등의 문제를 방지해야 256 바이트로 증가 하였다.
이러한 기능은 libturbojpeg 맵 파일에 포함되지 않았기 때문에 새로운 tjPlaneSizeYUV (), tjPlaneWidth () 및 tjPlaneHeight () 함수는 OS X와​​ Windows를 제외한 모든 플랫폼에서 실제로 사용할 수 없었다. 이 수정되었습니다.
복원 된 JPP (), JMETHOD () 및 libjpeg 터보 헤더 파일에서 FAR 매크로. JPP ()와 JMETHOD () 매크로는 원래 프로토 타입 매개 변수에 대한 지원이 부족 비 ANSI 컴파일러를 지원하는 방법으로 libjpeg으로 구현되었다. libjpeg 터보는 컴파일러를 지원 적이 있지만, 일부 소프트웨어 패키지는 여전히 자신의 프로토 타입을 정의하기 위해 매크로를 사용합니다. 마찬가지로, libjpeg 터보는 MS-DOS 훨씬 기호가 다른 플랫폼을 지원하는 적이 있지만, 일부 소프트웨어 패키지는 여전히 FAR 매크로를 사용합니다. 꽤 좋은 인수는이 문제의 소프트웨어 측의 나쁜 관행이라고 할 수 있지만,이 이상 하나의 패키지에 영향을 받기 때문에, 여기 그것을 해결하기 위해 단지 쉽다.
공식 & quot; iOS 용 컴파일에서 ARM 64 비트 SIMD 코드를 방지했다, 그리고 행하여, 설치 바이너리 모두에 ARMv8 아키텍처를 포함 해결 된 문제; OS X 용 libjpeg 터보 SDK

이 버전 1.4.2의 새로운 기능입니다 :

는 md5cmp는 OS X가 le32toh ()와 htole32를 제공하지 않기 때문에 (빌드 실패 (OS X 파워 PC 플랫폼에서 빌드 문제를 해결 ) 기능을합니다.).
비 SIMD RGB565 색 변환 코드는 빅 엔디안 시스템에서 제대로 작동하지 않았다. 이 수정되었습니다.
한 ComponentID이었다된다 경우 잘못 한 대신 -1의 반환된다 tjPlaneSizeYUV ()에서 문제를 해결; 0 subsamp는 TJSAMP_GRAY했다.
그것이 잘못 0을 반환 wherby tjBufSizeYUV2 ()에서 문제를 해결하는 대신 -1 폭이었다 & LT 경우; 1.
허프만 인코더는 이제 ARM64 플랫폼에서 비트 계산을위한 CLZ과 BSR 지침을 사용합니다.
TJCompressor ​​및 TJDecompressor ​​자바 클래스의 close () 메서드에서 이제 나무 등입니다. 이전에, 그 방법은 TurboJPEG 인스턴스가 이미 파괴되었다하더라도 기본 tjDestroy () 함수를 호출합니다. 이것은 가까운 () 메서드가 이미 호출 된 경우 예외가 마무리 중에 발생되는 원인. 예외가 발견되지만 여전히 비용이 많이 드는 작업이었다.
예를 들어 (1 이외의 샘플링 요인으로 압축 된 그레이 스케일 JPEG 이미지 압축을 해제 할 때 'cjpeg -grayscale -sample × 2'로, (; JPEG 이미지 & quot위한 서브 샘플링 유형을 판별 할 수 없습니다 & quot)를 TurboJPEG API는 이전에 오류를 발생 ). 기술적으로 서브 샘플링은 그레이 스케일 JPEG 파일과 아무런 의미가 없습니다, 따라서 이러한 이미지의 수평 및 수직 샘플링 인자는 압축에 의해 무시됩니다. 그러나 TurboJPEG의 API도 강성인하고 그 계조로 JPEG 화상을 처리하기 전에 샘플링 인자가 1과 동일 할 것으로 예상되었다.
cjpeg는 djpeg 및 jpegtran 이제 라이브러리 버전 종료 인쇄됩니다 -version의 인수를 받아들입니다.
1.4 베타 [15]을 참조하면, 또 극히 드문 상황은 버퍼링 대상 관리자가 사용되면, 허프만 부호화의 로컬 버퍼 오버런 할 수 있으며, 매우 높은 - 주파수 블록 (기본적으로 쓰레기 화상 데이터)가 부호화되고있는 따라 발견되었다. 허프만 로컬 버퍼가 이전의 문제점을 해결하기 위해 136 바이트에 128 바이트의 증가에도 불구하고, 새로운 문제도 오버런 큰 버퍼를 일으켰다. 추가 분석 밝혀 그 절대 최악의 경우 (예 : JPEG 주사 순서 32767 및 -32768 교류 AC 계수의 설정 등)은 인코딩되지 않은 블록의 두 배 크기에 접근하는 코드 블록을 생성 할 수 허프만 인코더. 따라서, 허프만 로컬 버퍼는 미래에 다시 발생하는 등의 문제를 방지해야 256 바이트로 증가 하였다.
이러한 기능은 libturbojpeg 맵 파일에 포함되지 않았기 때문에 새로운 tjPlaneSizeYUV (), tjPlaneWidth () 및 tjPlaneHeight () 함수는 OS X와​​ Windows를 제외한 모든 플랫폼에서 실제로 사용할 수 없었다. 이 수정되었습니다.
복원 된 JPP (), JMETHOD () 및 libjpeg 터보 헤더 파일에서 FAR 매크로. JPP ()와 JMETHOD () 매크로는 원래 프로토 타입 매개 변수에 대한 지원이 부족 비 ANSI 컴파일러를 지원하는 방법으로 libjpeg으로 구현되었다. libjpeg 터보는 컴파일러를 지원 적이 있지만, 일부 소프트웨어 패키지는 여전히 자신의 프로토 타입을 정의하기 위해 매크로를 사용합니다. 마찬가지로, libjpeg 터보는 MS-DOS 훨씬 기호가 다른 플랫폼을 지원하는 적이 있지만, 일부 소프트웨어 패키지는 여전히 FAR 매크로를 사용합니다. 꽤 좋은 인수는이 문제의 소프트웨어 측의 나쁜 관행이라고 할 수 있지만,이 이상 하나의 패키지에 영향을 받기 때문에, 여기 그것을 해결하기 위해 단지 쉽다.
공식 & quot; iOS 용 컴파일에서 ARM 64 비트 SIMD 코드를 방지했다, 그리고 행하여, 설치 바이너리 모두에 ARMv8 아키텍처를 포함 해결 된 문제; OS X 용 libjpeg 터보 SDK

이 버전 1.4.0의 새로운 기능입니다 :

는 md5cmp는 OS X가 le32toh ()와 htole32를 제공하지 않기 때문에 (빌드 실패 (OS X 파워 PC 플랫폼에서 빌드 문제를 해결 ) 기능을합니다.).
비 SIMD RGB565 색 변환 코드는 빅 엔디안 시스템에서 제대로 작동하지 않았다. 이 수정되었습니다.
한 ComponentID이었다된다 경우 잘못 한 대신 -1의 반환된다 tjPlaneSizeYUV ()에서 문제를 해결; 0 subsamp는 TJSAMP_GRAY했다.
그것이 잘못 0을 반환 wherby tjBufSizeYUV2 ()에서 문제를 해결하는 대신 -1 폭이었다 & LT 경우; 1.
허프만 인코더는 이제 ARM64 플랫폼에서 비트 계산을위한 CLZ과 BSR 지침을 사용합니다.
TJCompressor ​​및 TJDecompressor ​​자바 클래스의 close () 메서드에서 이제 나무 등입니다. 이전에, 그 방법은 TurboJPEG 인스턴스가 이미 파괴되었다하더라도 기본 tjDestroy () 함수를 호출합니다. 이것은 가까운 () 메서드가 이미 호출 된 경우 예외가 마무리 중에 발생되는 원인. 예외가 발견되지만 여전히 비용이 많이 드는 작업이었다.
예를 들어 (1 이외의 샘플링 요인으로 압축 된 그레이 스케일 JPEG 이미지 압축을 해제 할 때 'cjpeg -grayscale -sample × 2'로, (; JPEG 이미지 & quot위한 서브 샘플링 유형을 판별 할 수 없습니다 & quot)를 TurboJPEG API는 이전에 오류를 발생 ). 기술적으로 서브 샘플링은 그레이 스케일 JPEG 파일과 아무런 의미가 없습니다, 따라서 이러한 이미지의 수평 및 수직 샘플링 인자는 압축에 의해 무시됩니다. 그러나 TurboJPEG의 API도 강성인하고 그 계조로 JPEG 화상을 처리하기 전에 샘플링 인자가 1과 동일 할 것으로 예상되었다.
cjpeg는 djpeg 및 jpegtran 이제 라이브러리 버전 종료 인쇄됩니다 -version의 인수를 받아들입니다.
1.4 베타 [15]을 참조하면, 또 극히 드문 상황은 버퍼링 대상 관리자가 사용되면, 허프만 부호화의 로컬 버퍼 오버런 할 수 있으며, 매우 높은 - 주파수 블록 (기본적으로 쓰레기 화상 데이터)가 부호화되고있는 따라 발견되었다. 허프만 로컬 버퍼가 이전의 문제점을 해결하기 위해 136 바이트에 128 바이트의 증가에도 불구하고, 새로운 문제도 오버런 큰 버퍼를 일으켰다. 추가 분석 밝혀 그 절대 최악의 경우 (예 : JPEG 주사 순서 32767 및 -32768 교류 AC 계수의 설정 등)은 인코딩되지 않은 블록의 두 배 크기에 접근하는 코드 블록을 생성 할 수 허프만 인코더. 따라서, 허프만 로컬 버퍼는 미래에 다시 발생하는 등의 문제를 방지해야 256 바이트로 증가 하였다.
이러한 기능은 libturbojpeg 맵 파일에 포함되지 않았기 때문에 새로운 tjPlaneSizeYUV (), tjPlaneWidth () 및 tjPlaneHeight () 함수는 OS X와​​ Windows를 제외한 모든 플랫폼에서 실제로 사용할 수 없었다. 이 수정되었습니다.
복원 된 JPP (), JMETHOD () 및 libjpeg 터보 헤더 파일에서 FAR 매크로. JPP ()와 JMETHOD () 매크로는 원래 프로토 타입 매개 변수에 대한 지원이 부족 비 ANSI 컴파일러를 지원하는 방법으로 libjpeg으로 구현되었다. libjpeg 터보는 컴파일러를 지원 적이 있지만, 일부 소프트웨어 패키지는 여전히 자신의 프로토 타입을 정의하기 위해 매크로를 사용합니다. 마찬가지로, libjpeg 터보는 MS-DOS 훨씬 기호가 다른 플랫폼을 지원하는 적이 있지만, 일부 소프트웨어 패키지는 여전히 FAR 매크로를 사용합니다. 꽤 좋은 인수는이 문제의 소프트웨어 측의 나쁜 관행이라고 할 수 있지만,이 이상 하나의 패키지에 영향을 받기 때문에, 여기 그것을 해결하기 위해 단지 쉽다.
공식 & quot; iOS 용 컴파일에서 ARM 64 비트 SIMD 코드를 방지했다, 그리고 행하여, 설치 바이너리 모두에 ARMv8 아키텍처를 포함 해결 된 문제; OS X 용 libjpeg 터보 SDK

이 버전 1.3.0의 새로운 기능입니다 :

이 [1] '시험을'지금의 FreeBSD에서 제대로 작동하지 않으며, 더 이상 다른 유엔에 존재하는 실행 파일 md5sum이 필요합니다 * X 플랫폼.
[2] 포장 시스템을 철저하게 - 공급 업체가 제공 libjpeg 터보 패키지와 충돌을 방지하기을 libjpeg 터보의 공식 RPM을하고 DEBS는 quot를 &로 이름이 변경되었습니다, libjpeg-터보 - 공식 & quot ;. - TurboJPEG 라이브러리는 이제 공급 업체에서 제공 한 패키지와 충돌을 방지하기 위해, 공식 리눅스 및 Mac 패키지 / 옵션 / libjpeg 터보 아래에 위치하며 포장 시스템을 간소화 할 수 있습니다. - 릴리스 패키지는 현재 구성 변수를 행하여, 정의 된 디렉토리 구조를 생성, 접두사 quot는 & quot ;, &; quot ;,는 quot BINDIR & &; LIBDIR이 ;, 등 (유엔이 * X) 또는 CMAKE_INSTALL_PREFIX 변수 (윈도우.) 예외는 quot 인 & 워드 프로세서는 항상 유엔 * x와 Mac 시스템 및 Windows에서의 시스템의 기본 문서 디렉토리 아래에 있는지의 TurboJPEG DLL은 항상 Windows 시스템 디렉토리에 있습니다. - 항상 / 옵션 / libjpeg 터보 / ​​lib32에서 32 비트 라이브러리와 64 비트 라이브러리 / 옵션 / libjpeg-를 설치합니다 (Mac 용 제외) 리눅스 / 유닉스 플랫폼에서 혼란 공식 libjpeg 터보 패키지를 방지하려면 터보 / ​​lib64에. - 어떤 경우에는 취소 * X 시스템에서 libjpeg 터보 실행이 제대로 같은 패키지에 의해 설치된 공유 라이브러리와 연결되지 않은함으로써, 문제가 수정되었습니다. 설치 & quot; -은 & quot을 구축함으로써 문제를 해결; TurboJPEG의 JAR 이전에 내장되지 않은 경우 WITH_JAVA = 1이 실패 할 경우 Windows에서 대상. - 건물입니다 & quot; 설치 & quot; Windows의 목표는 이제 installer가 같은 장소에 파일을 설치합니다.
[3] 제대로 작동 I / O 서스펜션을 방지 허프만 인코더 버그가 수정되었습니다.

이 버전 1.2.0의 새로운 기능입니다 :

이 고정 된 유닉스 시스템에 YASM를 사용할 때 발생하는 빌드 문제.
아웃 오브 바운드 SSE2 SIMD 코드 읽기가 수정되었습니다.
애플리케이션 가하고 감압 때 4 바이트 RGB 버퍼 내의 미사용 바이트 알파 채널로 취급되어야한다고 지정할 수 있도록 새로운 색 공간 확장 상수.
libjpeg 터보 악마를 구축 할 때 발생하는 회귀 문제가 수정되었습니다.
아이폰 OS 지원은 Mac 용 libjpeg 터보 SDK에 추가되었습니다.

이 버전 1.1 베타 1의 새로운 기능 :

이 libjpeg 터보는 libjpeg의 V7 또는 v8b API / ABI를 에뮬레이트 구축 할 수 있습니다.
윈도우 빌드 시스템은 이제 CMake를 사용합니다.
TurboJPEG / OSS는 지금 /에서 압축 그레이 스케일 비트 맵에 압축을 풀고 YUV 평면 출력 RGB 또는 JPEG 이미지를 변환 할 수 있습니다.
jpgtest 기존 JPEG 이미지로 복원 성능을 테스트하는데 사용될 수있다.
선택적 산술 부호화 및 복호화를 지원 하였다.
또한 보호 무효 허프만 코드에 대해 첨가 하였다.

이 버전 1.0.0의 새로운 기능입니다 :

또한 FreeBSD의에 개선을 구축 할 수 있습니다.
유닉스 / 리눅스 패키지는 현재 실행 시간을 libjpeg 프로그램 (cjpeg 등) 매뉴얼 페이지를 포함한다.
AMD64 데비안 시스템을위한 32 비트 보조 패키지가있다.
Cygwin에서 지원.
비의 x86 아키텍처에 구축 / 테스트에 대한 완벽한 지원.
64 비트 OS X의 바이너리는 이제 OS X 10.4 이전 버전과 호환됩니다.
다양한 리눅스 포장 비틀기가 있습니다.

이 버전 0.0.91의 새로운 기능입니다 :

이 패키지를 이라구에 추가 문서를
고정 데이터 손상 문제 큰 JPEG 이미지를 압축 해제 및 / 또는 libjpeg 터보 압축 해제와 버퍼링 I / O를 사용하여

개발자의 기타 소프트웨어 D. R. Commander

TurboVNC
TurboVNC

3 Jun 15

VirtualGL
VirtualGL

7 Mar 16

코멘트 libjpeg-turbo

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!