SHA256
1
0
forked from pool/paraview
paraview/paraview-fix-build-with-system-jpeg.patch

54 lines
1.7 KiB
Diff

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