[Dcmlib] Big Endian suite: images compressees
Mathieu Malaterre
mathieu.malaterre at kitware.com
Wed Jan 12 18:18:52 CET 2005
>> TransferSyntaxName= [JPEG Lossless, Non-Hierarchical, First-Order
>> Prediction (Process 14 [Selection Value 1])]
>> SwapCode= 4321
>> Je viens de faire un 'grep -ri endian' dans libjpeg et je trouve rien.
>> Donc mon flux jpeg est lu correctement (le SwapCode gdcm est bon).
>> Mais la decompression me donne une image codee en little endian...
>
>
> Un appel brutal a 'ConvertSwapZone()' devrait resoudre le bouzin, non?
Ben non justement le ConvertSwapZone me "re"swappait mon image.
dans gdcmJpeg.cxx:
// The ijg has no notion of big endian, therefore always swap the jpeg
stream
#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<rowsize/2;i++)
pimage16[i] = (buffer16[i] >> 8) | (buffer16[i] << 8 );
#else
memcpy( pimage, *buffer,rowsize);
#endif //GDCM_WORDS_BIGENDIAN
Mathieu... Sun / et Mac sont en train de me refaire un dashboard mais
deja mon image qui me cassait les choses passe maintenant :))
Mathieu
More information about the Dcmlib
mailing list