Update of /cvsroot/ufraw/ufraw
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25525

Modified Files:
        iccjpeg.c iccjpeg.h 
Log Message:
Use iccjpeg.[ch] from lcms2-2.7.

Index: iccjpeg.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/iccjpeg.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- iccjpeg.c   26 Mar 2015 14:00:14 -0000      1.12
+++ iccjpeg.c   3 Jan 2016 04:30:09 -0000       1.13
@@ -16,7 +16,7 @@
  * change all the "unsigned int" variables to "INT32".  You'll also need
  * to find a malloc() replacement that can allocate more than 64K.
  *
- * UFRaw: Copied from lcms-2.4 January 2013.
+ * UFRaw: Copied from lcms2-2.7 January 2016.
  */
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -56,58 +56,58 @@
  */
 
 void
-write_icc_profile(j_compress_ptr cinfo,
-                  const JOCTET *icc_data_ptr,
-                  unsigned int icc_data_len)
+write_icc_profile (j_compress_ptr cinfo,
+                  const JOCTET *icc_data_ptr,
+                  unsigned int icc_data_len)
 {
-    unsigned int num_markers;  /* total number of markers we'll write */
-    int cur_marker = 1;                /* per spec, counting starts at 1 */
-    unsigned int length;               /* number of bytes to write in this 
marker */
+  unsigned int num_markers;    /* total number of markers we'll write */
+  int cur_marker = 1;          /* per spec, counting starts at 1 */
+  unsigned int length;         /* number of bytes to write in this marker */
 
-    /* Calculate the number of markers we'll need, rounding up of course */
-    num_markers = icc_data_len / MAX_DATA_BYTES_IN_MARKER;
-    if (num_markers * MAX_DATA_BYTES_IN_MARKER != icc_data_len)
-        num_markers++;
+  /* Calculate the number of markers we'll need, rounding up of course */
+  num_markers = icc_data_len / MAX_DATA_BYTES_IN_MARKER;
+  if (num_markers * MAX_DATA_BYTES_IN_MARKER != icc_data_len)
+    num_markers++;
 
-    while (icc_data_len > 0) {
-        /* length of profile to put in this marker */
-        length = icc_data_len;
-        if (length > MAX_DATA_BYTES_IN_MARKER)
-            length = MAX_DATA_BYTES_IN_MARKER;
-        icc_data_len -= length;
+  while (icc_data_len > 0) {
+    /* length of profile to put in this marker */
+    length = icc_data_len;
+    if (length > MAX_DATA_BYTES_IN_MARKER)
+      length = MAX_DATA_BYTES_IN_MARKER;
+    icc_data_len -= length;
 
-        /* Write the JPEG marker header (APP2 code and marker length) */
-        jpeg_write_m_header(cinfo, ICC_MARKER,
-                            (unsigned int)(length + ICC_OVERHEAD_LEN));
+    /* Write the JPEG marker header (APP2 code and marker length) */
+    jpeg_write_m_header(cinfo, ICC_MARKER,
+                       (unsigned int) (length + ICC_OVERHEAD_LEN));
 
-        /* Write the marker identifying string "ICC_PROFILE" (null-terminated).
-         * We code it in this less-than-transparent way so that the code works
-         * even if the local character set is not ASCII.
-         */
-        jpeg_write_m_byte(cinfo, 0x49);
-        jpeg_write_m_byte(cinfo, 0x43);
-        jpeg_write_m_byte(cinfo, 0x43);
-        jpeg_write_m_byte(cinfo, 0x5F);
-        jpeg_write_m_byte(cinfo, 0x50);
-        jpeg_write_m_byte(cinfo, 0x52);
-        jpeg_write_m_byte(cinfo, 0x4F);
-        jpeg_write_m_byte(cinfo, 0x46);
-        jpeg_write_m_byte(cinfo, 0x49);
-        jpeg_write_m_byte(cinfo, 0x4C);
-        jpeg_write_m_byte(cinfo, 0x45);
-        jpeg_write_m_byte(cinfo, 0x0);
+    /* Write the marker identifying string "ICC_PROFILE" (null-terminated).
+     * We code it in this less-than-transparent way so that the code works
+     * even if the local character set is not ASCII.
+     */
+    jpeg_write_m_byte(cinfo, 0x49);
+    jpeg_write_m_byte(cinfo, 0x43);
+    jpeg_write_m_byte(cinfo, 0x43);
+    jpeg_write_m_byte(cinfo, 0x5F);
+    jpeg_write_m_byte(cinfo, 0x50);
+    jpeg_write_m_byte(cinfo, 0x52);
+    jpeg_write_m_byte(cinfo, 0x4F);
+    jpeg_write_m_byte(cinfo, 0x46);
+    jpeg_write_m_byte(cinfo, 0x49);
+    jpeg_write_m_byte(cinfo, 0x4C);
+    jpeg_write_m_byte(cinfo, 0x45);
+    jpeg_write_m_byte(cinfo, 0x0);
 
-        /* Add the sequencing info */
-        jpeg_write_m_byte(cinfo, cur_marker);
-        jpeg_write_m_byte(cinfo, (int) num_markers);
+    /* Add the sequencing info */
+    jpeg_write_m_byte(cinfo, cur_marker);
+    jpeg_write_m_byte(cinfo, (int) num_markers);
 
-        /* Add the profile data */
-        while (length--) {
-            jpeg_write_m_byte(cinfo, *icc_data_ptr);
-            icc_data_ptr++;
-        }
-        cur_marker++;
+    /* Add the profile data */
+    while (length--) {
+      jpeg_write_m_byte(cinfo, *icc_data_ptr);
+      icc_data_ptr++;
     }
+    cur_marker++;
+  }
 }
 
 
@@ -116,10 +116,10 @@
  */
 
 void
-setup_read_icc_profile(j_decompress_ptr cinfo)
+setup_read_icc_profile (j_decompress_ptr cinfo)
 {
-    /* Tell the library to keep any APP2 data it may find */
-    jpeg_save_markers(cinfo, ICC_MARKER, 0xFFFF);
+  /* Tell the library to keep any APP2 data it may find */
+  jpeg_save_markers(cinfo, ICC_MARKER, 0xFFFF);
 }
 
 
@@ -128,24 +128,24 @@
  */
 
 static boolean
-marker_is_icc(jpeg_saved_marker_ptr marker)
+marker_is_icc (jpeg_saved_marker_ptr marker)
 {
-    return
-        marker->marker == ICC_MARKER &&
-        marker->data_length >= ICC_OVERHEAD_LEN &&
-        /* verify the identifying string */
-        GETJOCTET(marker->data[0]) == 0x49 &&
-        GETJOCTET(marker->data[1]) == 0x43 &&
-        GETJOCTET(marker->data[2]) == 0x43 &&
-        GETJOCTET(marker->data[3]) == 0x5F &&
-        GETJOCTET(marker->data[4]) == 0x50 &&
-        GETJOCTET(marker->data[5]) == 0x52 &&
-        GETJOCTET(marker->data[6]) == 0x4F &&
-        GETJOCTET(marker->data[7]) == 0x46 &&
-        GETJOCTET(marker->data[8]) == 0x49 &&
-        GETJOCTET(marker->data[9]) == 0x4C &&
-        GETJOCTET(marker->data[10]) == 0x45 &&
-        GETJOCTET(marker->data[11]) == 0x0;
+  return
+    marker->marker == ICC_MARKER &&
+    marker->data_length >= ICC_OVERHEAD_LEN &&
+    /* verify the identifying string */
+    GETJOCTET(marker->data[0]) == 0x49 &&
+    GETJOCTET(marker->data[1]) == 0x43 &&
+    GETJOCTET(marker->data[2]) == 0x43 &&
+    GETJOCTET(marker->data[3]) == 0x5F &&
+    GETJOCTET(marker->data[4]) == 0x50 &&
+    GETJOCTET(marker->data[5]) == 0x52 &&
+    GETJOCTET(marker->data[6]) == 0x4F &&
+    GETJOCTET(marker->data[7]) == 0x46 &&
+    GETJOCTET(marker->data[8]) == 0x49 &&
+    GETJOCTET(marker->data[9]) == 0x4C &&
+    GETJOCTET(marker->data[10]) == 0x45 &&
+    GETJOCTET(marker->data[11]) == 0x0;
 }
 
 
@@ -169,89 +169,89 @@
  */
 
 boolean
-read_icc_profile(j_decompress_ptr cinfo,
-                 JOCTET **icc_data_ptr,
-                 unsigned int *icc_data_len)
+read_icc_profile (j_decompress_ptr cinfo,
+                 JOCTET **icc_data_ptr,
+                 unsigned int *icc_data_len)
 {
-    jpeg_saved_marker_ptr marker;
-    int num_markers = 0;
-    int seq_no;
-    JOCTET *icc_data;
-    unsigned int total_length;
+  jpeg_saved_marker_ptr marker;
+  int num_markers = 0;
+  int seq_no;
+  JOCTET *icc_data;
+  unsigned int total_length;
 #define MAX_SEQ_NO  255                /* sufficient since marker numbers are 
bytes */
-    char marker_present[MAX_SEQ_NO + 1];        /* 1 if marker found */
-    unsigned int data_length[MAX_SEQ_NO + 1]; /* size of profile data in 
marker */
-    unsigned int data_offset[MAX_SEQ_NO + 1]; /* offset for data in marker */
+  char marker_present[MAX_SEQ_NO+1];     /* 1 if marker found */
+  unsigned int data_length[MAX_SEQ_NO+1]; /* size of profile data in marker */
+  unsigned int data_offset[MAX_SEQ_NO+1]; /* offset for data in marker */
 
-    *icc_data_ptr = NULL;              /* avoid confusion if FALSE return */
-    *icc_data_len = 0;
+  *icc_data_ptr = NULL;                /* avoid confusion if FALSE return */
+  *icc_data_len = 0;
 
-    /* This first pass over the saved markers discovers whether there are
-     * any ICC markers and verifies the consistency of the marker numbering.
-     */
+  /* This first pass over the saved markers discovers whether there are
+   * any ICC markers and verifies the consistency of the marker numbering.
+   */
 
-    for (seq_no = 1; seq_no <= MAX_SEQ_NO; seq_no++)
-        marker_present[seq_no] = 0;
+  for (seq_no = 1; seq_no <= MAX_SEQ_NO; seq_no++)
+    marker_present[seq_no] = 0;
 
-    for (marker = cinfo->marker_list; marker != NULL; marker = marker->next) {
-        if (marker_is_icc(marker)) {
-            if (num_markers == 0)
-                num_markers = GETJOCTET(marker->data[13]);
-            else if (num_markers != GETJOCTET(marker->data[13]))
-                return FALSE;          /* inconsistent num_markers fields */
-            seq_no = GETJOCTET(marker->data[12]);
-            if (seq_no <= 0 || seq_no > num_markers)
-                return FALSE;          /* bogus sequence number */
-            if (marker_present[seq_no])
-                return FALSE;          /* duplicate sequence numbers */
-            marker_present[seq_no] = 1;
-            data_length[seq_no] = marker->data_length - ICC_OVERHEAD_LEN;
-        }
+  for (marker = cinfo->marker_list; marker != NULL; marker = marker->next) {
+    if (marker_is_icc(marker)) {
+      if (num_markers == 0)
+       num_markers = GETJOCTET(marker->data[13]);
+      else if (num_markers != GETJOCTET(marker->data[13]))
+       return FALSE;           /* inconsistent num_markers fields */
+      seq_no = GETJOCTET(marker->data[12]);
+      if (seq_no <= 0 || seq_no > num_markers)
+       return FALSE;           /* bogus sequence number */
+      if (marker_present[seq_no])
+       return FALSE;           /* duplicate sequence numbers */
+      marker_present[seq_no] = 1;
+      data_length[seq_no] = marker->data_length - ICC_OVERHEAD_LEN;
     }
+  }
 
-    if (num_markers == 0)
-        return FALSE;
+  if (num_markers == 0)
+    return FALSE;
 
-    /* Check for missing markers, count total space needed,
-     * compute offset of each marker's part of the data.
-     */
+  /* Check for missing markers, count total space needed,
+   * compute offset of each marker's part of the data.
+   */
 
-    total_length = 0;
-    for (seq_no = 1; seq_no <= num_markers; seq_no++) {
-        if (marker_present[seq_no] == 0)
-            return FALSE;              /* missing sequence number */
-        data_offset[seq_no] = total_length;
-        total_length += data_length[seq_no];
-    }
+  total_length = 0;
+  for (seq_no = 1; seq_no <= num_markers; seq_no++) {
+    if (marker_present[seq_no] == 0)
+      return FALSE;            /* missing sequence number */
+    data_offset[seq_no] = total_length;
+    total_length += data_length[seq_no];
+  }
 
-    if (total_length <= 0)
-        return FALSE;          /* found only empty markers? */
+  if (total_length == 0)
+    return FALSE;              /* found only empty markers? */
 
-    /* Allocate space for assembled data */
-    icc_data = (JOCTET *) malloc(total_length * sizeof(JOCTET));
-    if (icc_data == NULL)
-        return FALSE;          /* oops, out of memory */
+  /* Allocate space for assembled data */
+  icc_data = (JOCTET *) malloc(total_length * sizeof(JOCTET));
+  if (icc_data == NULL)
+    return FALSE;              /* oops, out of memory */
 
-    /* and fill it in */
-    for (marker = cinfo->marker_list; marker != NULL; marker = marker->next) {
-        if (marker_is_icc(marker)) {
-            JOCTET FAR *src_ptr;
-            JOCTET *dst_ptr;
-            unsigned int length;
-            seq_no = GETJOCTET(marker->data[12]);
-            dst_ptr = icc_data + data_offset[seq_no];
-            src_ptr = marker->data + ICC_OVERHEAD_LEN;
-            length = data_length[seq_no];
-            while (length--) {
-                *dst_ptr++ = *src_ptr++;
-            }
-        }
+  /* and fill it in */
+  for (marker = cinfo->marker_list; marker != NULL; marker = marker->next) {
+    if (marker_is_icc(marker)) {
+      JOCTET FAR *src_ptr;
+      JOCTET *dst_ptr;
+      unsigned int length;
+      seq_no = GETJOCTET(marker->data[12]);
+      dst_ptr = icc_data + data_offset[seq_no];
+      src_ptr = marker->data + ICC_OVERHEAD_LEN;
+      length = data_length[seq_no];
+      while (length--) {
+       *dst_ptr++ = *src_ptr++;
+      }
     }
+  }
 
-    *icc_data_ptr = icc_data;
-    *icc_data_len = total_length;
+  *icc_data_ptr = icc_data;
+  *icc_data_len = total_length;
 
-    return TRUE;
+  return TRUE;
 }
 
 #endif /* HAVE_LIBJPEG */

Index: iccjpeg.h
===================================================================
RCS file: /cvsroot/ufraw/ufraw/iccjpeg.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- iccjpeg.h   26 Mar 2015 14:00:14 -0000      1.7
+++ iccjpeg.h   3 Jan 2016 04:30:09 -0000       1.8
@@ -15,11 +15,11 @@
  * with ICC profiles exceeding 64K bytes in size.  See iccprofile.c
  * for details.
  *
- * UFRaw: Copied from lcms-2.4 January 2013.
+ * UFRaw: Copied from lcms2-2.7 January 2016.
  */
 
 #include <stdio.h>             /* needed to define "FILE", "NULL" */
-#include <jpeglib.h>
+#include "jpeglib.h"
 
 
 /*
@@ -31,8 +31,8 @@
  */
 
 extern void write_icc_profile JPP((j_compress_ptr cinfo,
-                                   const JOCTET *icc_data_ptr,
-                                   unsigned int icc_data_len));
+                                  const JOCTET *icc_data_ptr,
+                                  unsigned int icc_data_len));
 
 
 /*
@@ -71,5 +71,5 @@
  */
 
 extern boolean read_icc_profile JPP((j_decompress_ptr cinfo,
-                                     JOCTET **icc_data_ptr,
-                                     unsigned int *icc_data_len));
+                                    JOCTET **icc_data_ptr,
+                                    unsigned int *icc_data_len));


------------------------------------------------------------------------------
_______________________________________________
ufraw-cvs mailing list
ufraw-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs

Reply via email to