지난 3월 5일 모질라에서는 mozjpeg라는 프로젝트를 발표했다.
이것은 기존 JPEG의 규격을 그대로 유지하면서 JPEG 압축률을 대폭 향상시키는 프로젝트다.
즉, 구글 WebP의 커다란 걸림돌이 나타난 것이다.
이번에 발표된 1.0을 직접 컴파일해보니 VS에서는 약간의 오류 수정이 필요했다.
제대로 동작하게 하려면 두 개의 파일을 수정해야 한다.
1. CMakeLists.txt
488행은 다음과 같다.
SOURCES libjpeg-turbo.nsi)
이것을 아래와 같이 수정해야 한다.
SOURCES libmozjpeg.nsi)
2. jcparam.c
741행부터는 다음과 같다.
GLOBAL(void)
jpeg_simple_progression (j_compress_ptr cinfo)
{
if (cinfo->optimize_scans) {
if (jpeg_search_progression(cinfo) == TRUE)
return;
}
int ncomps = cinfo->num_components;
int nscans;
jpeg_scan_info * scanptr;
이것을 아래와 같이 수정해야 한다.
GLOBAL(void)
jpeg_simple_progression (j_compress_ptr cinfo)
{
int ncomps;
int nscans;
jpeg_scan_info * scanptr;
if (cinfo->optimize_scans) {
if (jpeg_search_progression(cinfo) == TRUE)
return;
}
ncomps = cinfo->num_components;
C 코드인데, 내용을 수정하는 과정에서 C++ 스타일로 작성되었다. ㅡ.ㅡ;
덧. 이 문제를 이슈로 제기했는데, 확인해보니 1번은 3월 8일에 반영되었음. 2번은 왜 반영 안 하는 거지? ㅡ.ㅡ;