A Dimarts, 28 de setembre de 2010, Albert Astals Cid va escriure:
> A Dissabte, 24 de juliol de 2010, Albert Astals Cid va escriure:
> > To the packagers reading the list, please pakcage littlecms2 it gives
> > poppler a free 10% speed increase in files using cms transformations.
> 
> Following this up if noone disagrees i'll make poppler 0.15.1 depend on
> littlecms2 instead of littlecms1.

At the end i won't make this since when using the attached patch on 

$ md5sum altona_technical_1v2_x3.pdf
c524ab2cd02240b12eab3ee9f8887a9f altona_technical_1v2_x3.pdf

The speed changes from 753 msecs to 7123 msecs

It seems we are doing some things wrong? Specially in the lineTransform 
creation.

If anyone can have a look it would be cool since lcms2 is supposed to be much 
faster than lcms1 (and i think it was last time i tried, but it is 10 times 
slower now :-S)

Albert


> 
> Albert
> 
> > Thanks,
> > 
> >   Albert
> > 
> > _______________________________________________
> > poppler mailing list
> > [email protected]
> > http://lists.freedesktop.org/mailman/listinfo/poppler
> 
> _______________________________________________
> poppler mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/poppler
diff --git a/cmake/modules/FindLCMS.cmake b/cmake/modules/FindLCMS.cmake
index 9d162d2..07c6631 100644
--- a/cmake/modules/FindLCMS.cmake
+++ b/cmake/modules/FindLCMS.cmake
@@ -17,22 +17,22 @@
 # in the FIND_PATH() and FIND_LIBRARY() calls
 if(NOT WIN32)
    find_package(PkgConfig)
-   pkg_check_modules(PC_LCMS lcms)
+   pkg_check_modules(PC_LCMS lcms2)
    set(LCMS_DEFINITIONS ${PC_LCMS_CFLAGS_OTHER})
 endif(NOT WIN32)
 
-find_path(LCMS_INCLUDE_DIR lcms.h
+find_path(LCMS_INCLUDE_DIR lcms2.h
    PATHS
    ${PC_LCMS_INCLUDEDIR}
    ${PC_LCMS_INCLUDE_DIRS}
-   PATH_SUFFIXES lcms liblcms1
+   PATH_SUFFIXES lcms2 liblcms2
 )
 
-find_library(LCMS_LIBRARIES NAMES lcms liblcms lcms-1 liblcms-1
+find_library(LCMS_LIBRARIES NAMES lcms2 liblcms2 lcms-2 liblcms-2
    PATHS     
    ${PC_LCMS_LIBDIR}
    ${PC_LCMS_LIBRARY_DIRS}
-   PATH_SUFFIXES lcms
+   PATH_SUFFIXES lcms2
 )
 
 if(LCMS_INCLUDE_DIR AND LCMS_LIBRARIES)
@@ -43,7 +43,7 @@ endif(LCMS_INCLUDE_DIR AND LCMS_LIBRARIES)
 
 if(LCMS_FOUND)
    set(FIND_LCMS_VERSION_SOURCE
-      "#include <lcms.h>\n int main()\n {\n return LCMS_VERSION;\n }\n")
+      "#include <lcms2.h>\n int main()\n {\n return LCMS_VERSION;\n }\n")
    set(FIND_LCMS_VERSION_SOURCE_FILE ${CMAKE_BINARY_DIR}/CMakeTmp/FindLCMS.cxx)
    file(WRITE "${FIND_LCMS_VERSION_SOURCE_FILE}" "${FIND_LCMS_VERSION_SOURCE}")
 
@@ -73,9 +73,9 @@ if(LCMS_FOUND)
 else(LCMS_FOUND)
    if(NOT LCMS_FIND_QUIETLY)
       if(LCMS_FIND_REQUIRED)
-         message(FATAL_ERROR "Required package lcms NOT found")
+         message(FATAL_ERROR "Required package lcms2 NOT found")
       else(LCMS_FIND_REQUIRED)
-         message(STATUS "lcms NOT found")
+         message(STATUS "lcms2 NOT found")
       endif(LCMS_FIND_REQUIRED)
    endif(NOT LCMS_FIND_QUIETLY)
 endif(LCMS_FOUND)
diff --git a/configure.ac b/configure.ac
index 71b1537..90d0ce6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -586,9 +586,9 @@ AC_ARG_ENABLE(cms,
               enable_cms=$enableval,
               enable_cms="try")
 if test x$enable_cms = xyes; then
-  PKG_CHECK_MODULES(LCMS, lcms)
+  PKG_CHECK_MODULES(LCMS, lcms2)
 elif test x$enable_cms = xtry; then
-  PKG_CHECK_MODULES(LCMS, lcms, [enable_cms=yes], [enable_cms=no])
+  PKG_CHECK_MODULES(LCMS, lcms2, [enable_cms=yes], [enable_cms=no])
 fi
 
 if test "x$enable_cms" = "xyes"; then
diff --git a/poppler/GfxState.cc b/poppler/GfxState.cc
index c750d2d..85a3fae 100644
--- a/poppler/GfxState.cc
+++ b/poppler/GfxState.cc
@@ -129,7 +129,7 @@ static char *gfxColorSpaceModeNames[] = {
 
 #ifdef USE_CMS
 
-#include <lcms.h>
+#include <lcms2.h>
 
 #define COLOR_PROFILE_DIR "/ColorProfiles/"
 #define GLOBAL_COLOR_PROFILE_DIR POPPLER_DATADIR COLOR_PROFILE_DIR
@@ -163,8 +163,8 @@ static unsigned int displayPixelType = 0;
 static GfxColorTransform *XYZ2DisplayTransform = NULL;
 
 // convert color space signature to cmsColor type 
-static unsigned int getCMSColorSpaceType(icColorSpaceSignature cs);
-static unsigned int getCMSNChannels(icColorSpaceSignature cs);
+static unsigned int getCMSColorSpaceType(cmsColorSpaceSignature cs);
+static unsigned int getCMSNChannels(cmsColorSpaceSignature cs);
 static cmsHPROFILE loadColorProfile(const char *fileName);
 
 void GfxColorSpace::setDisplayProfile(void *displayProfileA) {
@@ -303,10 +303,9 @@ cmsHPROFILE loadColorProfile(const char *fileName)
   return hp;
 }
 
-static int CMSError(int ecode, const char *msg)
+static void CMSError(cmsContext ContextID, cmsUInt32Number ErrorCode, const char *msg)
 {
-    error(-1, "%s", msg);
-    return 1;
+    error(-1, "lcms errror %d %s", ErrorCode, msg);
 }
 
 int GfxColorSpace::setupColorProfiles()
@@ -320,7 +319,7 @@ int GfxColorSpace::setupColorProfiles()
   initialized = gTrue;
 
   // set error handlor
-  cmsSetErrorHandler(CMSError);
+  cmsSetLogErrorHandler(CMSError);
 
   if (displayProfile == NULL) {
     // load display profile if it was not already loaded.
@@ -356,118 +355,118 @@ int GfxColorSpace::setupColorProfiles()
   return 0;
 }
 
-unsigned int getCMSColorSpaceType(icColorSpaceSignature cs)
+unsigned int getCMSColorSpaceType(cmsColorSpaceSignature cs)
 {
     switch (cs) {
-    case icSigXYZData:
+    case cmsSigXYZData:
       return PT_XYZ;
       break;
-    case icSigLabData:
+    case cmsSigLabData:
       return PT_Lab;
       break;
-    case icSigLuvData:
+    case cmsSigLuvData:
       return PT_YUV;
       break;
-    case icSigYCbCrData:
+    case cmsSigYCbCrData:
       return PT_YCbCr;
       break;
-    case icSigYxyData:
+    case cmsSigYxyData:
       return PT_Yxy;
       break;
-    case icSigRgbData:
+    case cmsSigRgbData:
       return PT_RGB;
       break;
-    case icSigGrayData:
+    case cmsSigGrayData:
       return PT_GRAY;
       break;
-    case icSigHsvData:
+    case cmsSigHsvData:
       return PT_HSV;
       break;
-    case icSigHlsData:
+    case cmsSigHlsData:
       return PT_HLS;
       break;
-    case icSigCmykData:
+    case cmsSigCmykData:
       return PT_CMYK;
       break;
-    case icSigCmyData:
+    case cmsSigCmyData:
       return PT_CMY;
       break;
-    case icSig2colorData:
-    case icSig3colorData:
-    case icSig4colorData:
-    case icSig5colorData:
-    case icSig6colorData:
-    case icSig7colorData:
-    case icSig8colorData:
-    case icSig9colorData:
-    case icSig10colorData:
-    case icSig11colorData:
-    case icSig12colorData:
-    case icSig13colorData:
-    case icSig14colorData:
-    case icSig15colorData:
+    case cmsSig2colorData:
+    case cmsSig3colorData:
+    case cmsSig4colorData:
+    case cmsSig5colorData:
+    case cmsSig6colorData:
+    case cmsSig7colorData:
+    case cmsSig8colorData:
+    case cmsSig9colorData:
+    case cmsSig10colorData:
+    case cmsSig11colorData:
+    case cmsSig12colorData:
+    case cmsSig13colorData:
+    case cmsSig14colorData:
+    case cmsSig15colorData:
     default:
       break;
     }
     return PT_RGB;
 }
 
-unsigned int getCMSNChannels(icColorSpaceSignature cs)
+unsigned int getCMSNChannels(cmsColorSpaceSignature cs)
 {
     switch (cs) {
-    case icSigXYZData:
-    case icSigLuvData:
-    case icSigLabData:
-    case icSigYCbCrData:
-    case icSigYxyData:
-    case icSigRgbData:
-    case icSigHsvData:
-    case icSigHlsData:
-    case icSigCmyData:
-    case icSig3colorData:
+    case cmsSigXYZData:
+    case cmsSigLuvData:
+    case cmsSigLabData:
+    case cmsSigYCbCrData:
+    case cmsSigYxyData:
+    case cmsSigRgbData:
+    case cmsSigHsvData:
+    case cmsSigHlsData:
+    case cmsSigCmyData:
+    case cmsSig3colorData:
       return 3;
       break;
-    case icSigGrayData:
+    case cmsSigGrayData:
       return 1;
       break;
-    case icSigCmykData:
-    case icSig4colorData:
+    case cmsSigCmykData:
+    case cmsSig4colorData:
       return 4;
       break;
-    case icSig2colorData:
+    case cmsSig2colorData:
       return 2;
       break;
-    case icSig5colorData:
+    case cmsSig5colorData:
       return 5;
       break;
-    case icSig6colorData:
+    case cmsSig6colorData:
       return 6;
       break;
-    case icSig7colorData:
+    case cmsSig7colorData:
       return 7;
       break;
-    case icSig8colorData:
+    case cmsSig8colorData:
       return 8;
       break;
-    case icSig9colorData:
+    case cmsSig9colorData:
       return 9;
       break;
-    case icSig10colorData:
+    case cmsSig10colorData:
       return 10;
       break;
-    case icSig11colorData:
+    case cmsSig11colorData:
       return 11;
       break;
-    case icSig12colorData:
+    case cmsSig12colorData:
       return 12;
       break;
-    case icSig13colorData:
+    case cmsSig13colorData:
       return 13;
       break;
-    case icSig14colorData:
+    case cmsSig14colorData:
       return 14;
       break;
-    case icSig15colorData:
+    case cmsSig15colorData:
       return 15;
     default:
       break;
_______________________________________________
poppler mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to