소개
libjpeg-turbo는 SIMD 명령어를 사용하여 JPEG 압축 및 해제 속도를 크게 향상시킨 JPEG 코덱 라이브러리입니다. Visual C++용 SDK 패키지로, Windows 개발 환경에서 libjpeg API와 TurboJPEG API를 모두 사용할 수 있습니다.
상세정보
libjpeg-turbo SDK for Visual C++ 개요
libjpeg-turbo는 JPEG 이미지 코덱 라이브러리로, SIMD 명령어를 활용하여 baseline 및 progressive JPEG 압축과 해제 속도를 크게 향상시킵니다. 이 SDK는 Visual C++ 개발 환경에서 사용할 수 있도록 제공되며, 전통적인 libjpeg API와 더 간단한 TurboJPEG API를 모두 지원합니다.
주요 기능
- SIMD 가속: x86, x86-64, ARM, PowerPC 등 다양한 CPU 아키텍처에서 SIMD 명령어를 사용하여 JPEG 처리 속도를 높입니다.
- libjpeg API 호환: 기존 libjpeg 기반 애플리케이션을 쉽게 마이그레이션할 수 있습니다.
- TurboJPEG API: 더 간단하고 직관적인 API로 빠른 JPEG 인코딩/디코딩을 제공합니다.
- 색상 공간 확장: 32비트 및 빅엔디안 픽셀 버퍼(RGBX, XBGR 등)를 지원합니다.
- Java 인터페이스: Java 애플리케이션에서도 사용할 수 있는 인터페이스를 제공합니다.
지원 환경
Windows 운영 체제에서 Visual C++ 개발 환경을 대상으로 합니다. 공식 바이너리는 Visual C++ 2008 런타임(msvcr90.dll) 또는 Visual C++ 2015-2026 재배포 가능 패키지가 필요할 수 있습니다. Windows Vista 이상에서 기본적으로 지원됩니다.
기본 사용 방법
SDK를 설치하면 c:libjpeg-turbo 디렉터리에 헤더 파일, 라이브러리, 프로그램 및 문서가 설치됩니다. 개발 프로젝트에서 libjpeg API 또는 TurboJPEG API를 사용하여 JPEG 이미지를 처리할 수 있습니다. 동적 링크를 사용하는 경우 jpeg62.dll 및 turbojpeg.dll이 시스템 디렉터리에 설치되어 Java 애플리케이션에서도 사용할 수 있습니다.
제한 사항 및 주의사항
- Visual C++ 2015 이상으로 빌드된 정적 라이브러리는 이전 버전의 Visual C++와 호환되지 않습니다.
- libjpeg API의 일부 기능은 C 런타임 구조체(예: 파일 핸들)를 전달해야 하므로, 동적 링크 시 애플리케이션도 동일한 런타임을 사용해야 합니다.
- Windows XP 사용자는 Visual C++ 2008 재배포 가능 패키지를 별도로 설치해야 할 수 있습니다.
FAQ
libjpeg-turbo와 TurboJPEG의 차이점은 무엇인가요?
libjpeg-turbo는 프로젝트 이름이자 SDK 이름이며, TurboJPEG는 이 SDK가 지원하는 두 API 중 하나입니다. libjpeg API는 기존 호환성을 제공하고, TurboJPEG API는 더 간단한 사용을 제공합니다.
이 SDK는 무료인가요?
libjpeg-turbo는 오픈소스 프로젝트로, 무료로 사용할 수 있습니다. 라이선스는 BSD 스타일입니다.
어떤 개발자에게 적합한가요?
JPEG 이미지 처리가 필요한 C/C++ 개발자, 특히 성능이 중요한 애플리케이션을 개발하는 경우에 적합합니다. 또한 Java 개발자도 TurboJPEG 인터페이스를 통해 사용할 수 있습니다.
시스템 요구사항
Windows Vista 이상 (Visual C++ 2008 런타임 필요), Visual C++ 2015-2026 재배포 가능 패키지 (동적 링크 시)


