[Dcmlib] Big Endian suite: images compressees
Jean-Pierre Roux
jpr at creatis.insa-lyon.fr
Wed Jan 12 18:06:25 CET 2005
Mathieu Malaterre wrote:
> Ok je pense que je viens de comprendre -enfin-. L'image en question
> est compressee !!! Ce qui n'etait pas arrivee avant dans libido ?
On n'avait pas d'image compressee, a l'epoque (c'etait interdit)
J'avais, par le passe, mis un commentaire, qq part, mais il a du degager
... qui commencait par 'Troubles Expected'.
Il faudrait qu'on rajoute un fichier qui centraliserait les points qu'on
a repertories comme *pouvant* poser des pb, mais auxquels on n'a jamais
ete confrontés.
>
> 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?
>
>
> Mathieu
>
> jean-michel.rouet at philips.com wrote:
>
>>
>> peut etre pour clarifier les choses:
>> prend ce petit programme:
>> #include <stdio.h>
>> int main(int argc, char *argv[])
>> {
>> int value = 0x04030201; /* 1 2*256 3*256*256 4*256*256*256 */
>> char *bytes = (char *)(&value);
>> short *shorts = (short *)(&value);
>> printf ("%08x is converted to ", value);
>> printf ("%02x%02x%02x%02x\n", bytes[3], bytes[2], bytes[1], bytes[0]);
>> printf ("%08x is converted to ", value);
>> printf ("%04x%04x\n", shorts[1], shorts[0]);
>> }
>>
>>
>> execute sur I386:
>> tu obtiens: rouet at joebar /tmp>./test.exe
>> 04030201 is converted to 04030201
>> 04030201 is converted to 04030201
>>
>> tu vois que l'ordre est bien little endian
>>
>> maintenant execute le sur une sparc:
>> tu obtiens:
>> rouet at tan ~/src/tmp>./test
>> 04030201 is converted to 01020304
>> 04030201 is converted to 02010403
>>
>> ou tu vois que l'on est donc sur du big endian, et que lorsque l'on
>> convertit du 32bits sur du 16 bits on obtiens alors 2143
>>
>> J'espere que c'est parlant.
>>
>>
>
>
>
> _______________________________________________
> Dcmlib mailing list
> Dcmlib at creatis.insa-lyon.fr
> http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib
>
More information about the Dcmlib
mailing list