openalbridge/endianness.c
changeset 2203 6bd39d75e0dd
parent 2200 8192be6e3aef
child 2212 6b5da1a2765a
equal deleted inserted replaced
2202:29508a2924c2 2203:6bd39d75e0dd
    22 extern "C" {
    22 extern "C" {
    23 #endif 
    23 #endif 
    24 	
    24 	
    25 	//from big endian to little endian
    25 	//from big endian to little endian
    26 	int invert_endianness(int number){
    26 	int invert_endianness(int number){
    27 		uint8_t n1,n2,n3,n4;
    27 		return bswap_32(number);
    28 		uint32_t a1,a2,a3,a4;
       
    29 		uint32_t done = 0;
       
    30 		
       
    31 		n1 = number;
       
    32 		n2 = number >> 8;
       
    33 		n3 = number >> 16;
       
    34 		n4 = number >> 24;
       
    35 		
       
    36 		//printf("%X, %X, %X, %X\n", n1, n2, n3, n4);
       
    37 		a1 = (uint32_t) n1 << 24;
       
    38 		a2 = (uint32_t) n2 << 16;
       
    39 		a3 = (uint32_t) n3 << 8;
       
    40 		a4 = (uint32_t) n4;
       
    41 		done = a1 + a2 + a3 + a4;
       
    42 		//printf("%08X %08X %08X %08X = %08X\n", a1, a2, a3, a4, done);
       
    43 		return done;
       
    44 	}
    28 	}
    45 	
    29 	
    46 #ifdef __CPLUSPLUS
    30 #ifdef __CPLUSPLUS
    47 }
    31 }
    48 #endif
    32 #endif