Program: gdcm
Module: $RCSfile: WriteDicomAsJPEG.cxx,v $
Language: C++
- Date: $Date: 2005/11/22 20:31:37 $
- Version: $Revision: 1.9 $
+ Date: $Date: 2006/07/04 08:00:43 $
+ Version: $Revision: 1.11 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmjpeg/8/jerror.h"
}
+#if defined(__BORLANDC__)
+ #include <mem.h> // for memcpy
+#endif
+
#include "gdcmJPEGFragment.h"
#include <setjmp.h>
#include <fstream>
*/
if (sample_pixel == 3)
{
+ assert( sample_pixel == 1 );
row_stride = image_width * 3;/* JSAMPLEs per row in image_buffer */
}
else
static int i = 0;
JpegPair &jp = v[i];
jp.second = end-beg;
- std::cerr << "DIFF: " << i <<" -> " << end-beg << std::endl;
+
+ if( ((end-beg) % 2) )
+ {
+ fp->put( '\0' );
+ jp.second += 1;
+ }
+ assert( !(jp.second % 2) );
+ std::cerr << "DIFF: " << i <<" -> " << jp.second << std::endl;
+
++i;
//JpegPair &jp = v[0];
WriteDICOMItems(of, JpegFragmentSize);
CreateOneFrame(of, pImageData, fragment_size, xsize, ysize, zsize,
samplesPerPixel, quality, JpegFragmentSize);
+ assert( !(fragment_size % 2) );
pImageData += fragment_size;
}
CloseJpeg(of, JpegFragmentSize);