commit 1d79220a5a9cad512a2ed980c85b3f67b1b25573 Author: Nikhil Shetty 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