Mercurial > mplayer.hg
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 /** |