comparison postproc/rgb2rgb.c @ 15277:fed5d4ab5e5f

fix palette8tobgr32/palette8torgb32 on big endian
author nplourde
date Wed, 27 Apr 2005 18:17:53 +0000
parents 821f464b4d90
children e91f944f6ed9
comparison
equal deleted inserted replaced
15276:f331ff9ff453 15277:fed5d4ab5e5f
330 ((unsigned *)dst)[i] = ((unsigned *)palette)[ src[i] ]; 330 ((unsigned *)dst)[i] = ((unsigned *)palette)[ src[i] ];
331 */ 331 */
332 332
333 for(i=0; i<num_pixels; i++) 333 for(i=0; i<num_pixels; i++)
334 { 334 {
335 #ifdef WORDS_BIGENDIAN
336 dst[3]= palette[ src[i]*4+2 ];
337 dst[2]= palette[ src[i]*4+1 ];
338 dst[1]= palette[ src[i]*4+0 ];
339 #else
335 //FIXME slow? 340 //FIXME slow?
336 dst[0]= palette[ src[i]*4+2 ]; 341 dst[0]= palette[ src[i]*4+2 ];
337 dst[1]= palette[ src[i]*4+1 ]; 342 dst[1]= palette[ src[i]*4+1 ];
338 dst[2]= palette[ src[i]*4+0 ]; 343 dst[2]= palette[ src[i]*4+0 ];
339 // dst[3]= 0; /* do we need this cleansing? */ 344 // dst[3]= 0; /* do we need this cleansing? */
345 #endif
340 dst+= 4; 346 dst+= 4;
341 } 347 }
342 } 348 }
343 349
344 void palette8tobgr32(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette) 350 void palette8tobgr32(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette)
345 { 351 {
346 unsigned i; 352 unsigned i;
347 for(i=0; i<num_pixels; i++) 353 for(i=0; i<num_pixels; i++)
348 { 354 {
355 #ifdef WORDS_BIGENDIAN
356 dst[3]= palette[ src[i]*4+0 ];
357 dst[2]= palette[ src[i]*4+1 ];
358 dst[1]= palette[ src[i]*4+2 ];
359 #else
349 //FIXME slow? 360 //FIXME slow?
350 dst[0]= palette[ src[i]*4+0 ]; 361 dst[0]= palette[ src[i]*4+0 ];
351 dst[1]= palette[ src[i]*4+1 ]; 362 dst[1]= palette[ src[i]*4+1 ];
352 dst[2]= palette[ src[i]*4+2 ]; 363 dst[2]= palette[ src[i]*4+2 ];
353 // dst[3]= 0; /* do we need this cleansing? */ 364 // dst[3]= 0; /* do we need this cleansing? */
365 #endif
366
354 dst+= 4; 367 dst+= 4;
355 } 368 }
356 } 369 }
357 370
358 /** 371 /**