Blob Blame History Raw
commit 1d79220a5a9cad512a2ed980c85b3f67b1b25573
Author: Nikhil Shetty <nikhil.shetty@kitware.com>
Date:   Tue Feb 19 10:02:26 2013 -0500

    Fix to use newer libjpeg API.
    
    Newer API uses jMemSrc instead of jpeg_mem_src. We check if the version
    is  >=80 or or  MEM_SRCDST_SUPPORTED is defined and use the newer API
    where appropriate.
    
    Change-Id: I89d1129c656539a3e748fbbebae5130aece6e4c1

diff --git VTK/IO/Image/vtkJPEGReader.cxx VTK/IO/Image/vtkJPEGReader.cxx
index db3c0da..9604952 100644
--- VTK/IO/Image/vtkJPEGReader.cxx
+++ VTK/IO/Image/vtkJPEGReader.cxx
@@ -92,7 +92,11 @@ extern "C" void skip_input_data (j_decompress_ptr cinfo, long num_bytes)
 }
 
 // Read JPEG image from a memory buffer
+#if JPEG_LIB_VERSION >= 80 || defined(MEM_SRCDST_SUPPORTED)
+extern "C" void jMemSrc (j_decompress_ptr cinfo, void* buffer, long nbytes)
+#else
 extern "C" void jpeg_mem_src (j_decompress_ptr cinfo, void* buffer, long nbytes)
+#endif
 {
   cinfo->src = (struct jpeg_source_mgr *)
       (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT,
@@ -184,7 +188,11 @@ void vtkJPEGReader::ExecuteInformation()
     }
   else
     {
+#if JPEG_LIB_VERSION >= 80 || defined(MEM_SRCDST_SUPPORTED)
+    jMemSrc(&cinfo, this->MemoryBuffer, this->MemoryBufferLength);
+#else
     jpeg_mem_src(&cinfo, this->MemoryBuffer, this->MemoryBufferLength);
+#endif
     }
 
   // read the header
@@ -264,7 +272,11 @@ int vtkJPEGReaderUpdate2(vtkJPEGReader *self, OT *outPtr,
     }
   else
     {
+#if JPEG_LIB_VERSION >= 80 || defined(MEM_SRCDST_SUPPORTED)
+    jMemSrc(&cinfo, self->GetMemoryBuffer(), self->GetMemoryBufferLength());
+#else
     jpeg_mem_src(&cinfo, self->GetMemoryBuffer(), self->GetMemoryBufferLength());
+#endif
     }
 
   // read the header