From 5887c4beef24959af83e43efad0bb86acac9339e Mon Sep 17 00:00:00 2001 From: malaterre Date: Wed, 12 Jan 2005 19:02:13 +0000 Subject: [PATCH] BUG: There was some duplicated code I didnt see. This fix D.Clunie problem I was seeing on big endian --- src/gdcmJpeg.cxx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/gdcmJpeg.cxx b/src/gdcmJpeg.cxx index 45153805..9749edd9 100644 --- a/src/gdcmJpeg.cxx +++ b/src/gdcmJpeg.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmJpeg.cxx,v $ Language: C++ - Date: $Date: 2005/01/12 17:14:40 $ - Version: $Revision: 1.30 $ + Date: $Date: 2005/01/12 19:02:13 $ + Version: $Revision: 1.31 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -822,7 +822,14 @@ bool gdcm_read_JPEG_memory ( const JOCTET* input_buffer, const size_t buflen, //printf( "scanlines: %d\n",cinfo.output_scanline); (void) jpeg_read_scanlines(&cinfo, buffer, 1); - memcpy( pimage, *buffer,rowsize); +#if defined(GDCM_WORDS_BIGENDIAN) && (CMAKE_BITS_IN_JSAMPLE != 8) + uint16_t *buffer16 = (uint16_t*)*buffer; + uint16_t *pimage16 = (uint16_t*)pimage; + for(int i=0;i> 8) | (buffer16[i] << 8 ); +#else + memcpy( pimage, *buffer,rowsize); +#endif //GDCM_WORDS_BIGENDIAN pimage+=rowsize; } -- 2.48.1