diff options
author | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-09-09 16:18:47 +0000 |
---|---|---|
committer | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-09-09 16:18:47 +0000 |
commit | 5bf4fb02637fdf69616a2f540ac742114172cfb4 (patch) | |
tree | 6299721db9617e6d3f88551cdaea4f1b636ca7fd | |
parent | 19efdd59aa98afb226f1ff9d69b8391d6f947220 (diff) |
fixed palette8to{rgb24,bgr24,rgb32,bgr32}
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7335 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | postproc/rgb2rgb.c | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/postproc/rgb2rgb.c b/postproc/rgb2rgb.c index 4612f57399..fd50d73a9e 100644 --- a/postproc/rgb2rgb.c +++ b/postproc/rgb2rgb.c @@ -265,32 +265,36 @@ void rgb16to15(const uint8_t *src,uint8_t *dst,unsigned src_size) void palette8torgb32(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette) { unsigned i; + +/* for(i=0; i<num_pixels; i++) ((unsigned *)dst)[i] = ((unsigned *)palette)[ src[i] ]; -} +*/ -#if 0 -void palette8tobgr32(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette) -{ - unsigned i; for(i=0; i<num_pixels; i++) { //FIXME slow? - dst[0]= palette[ src[i]*4+3 ]; - dst[1]= palette[ src[i]*4+2 ]; - dst[2]= palette[ src[i]*4+1 ]; - dst[3]= palette[ src[i]*4+0 ]; + dst[0]= palette[ src[i]*4+2 ]; + dst[1]= palette[ src[i]*4+1 ]; + dst[2]= palette[ src[i]*4+0 ]; +// dst[3]= 0; /* do we need this cleansing? */ dst+= 4; } } -#else + void palette8tobgr32(const uint8_t *src, uint8_t *dst, unsigned num_pixels, const uint8_t *palette) { unsigned i; for(i=0; i<num_pixels; i++) - ((unsigned *)dst)[i] = bswap_32(((unsigned *)palette)[ src[i] ]); + { + //FIXME slow? + dst[0]= palette[ src[i]*4+0 ]; + dst[1]= palette[ src[i]*4+1 ]; + dst[2]= palette[ src[i]*4+2 ]; +// dst[3]= 0; /* do we need this cleansing? */ + dst+= 4; + } } -#endif /** * Pallete is assumed to contain bgr32 @@ -306,9 +310,9 @@ void palette8torgb24(const uint8_t *src, uint8_t *dst, unsigned num_pixels, cons for(i=0; i<num_pixels; i++) { //FIXME slow? - dst[0]= palette[ src[i]*4+0 ]; + dst[0]= palette[ src[i]*4+2 ]; dst[1]= palette[ src[i]*4+1 ]; - dst[2]= palette[ src[i]*4+2 ]; + dst[2]= palette[ src[i]*4+0 ]; dst+= 3; } } @@ -324,9 +328,9 @@ void palette8tobgr24(const uint8_t *src, uint8_t *dst, unsigned num_pixels, cons for(i=0; i<num_pixels; i++) { //FIXME slow? - dst[0]= palette[ src[i]*4+3 ]; - dst[1]= palette[ src[i]*4+2 ]; - dst[2]= palette[ src[i]*4+1 ]; + dst[0]= palette[ src[i]*4+0 ]; + dst[1]= palette[ src[i]*4+1 ]; + dst[2]= palette[ src[i]*4+2 ]; dst+= 3; } } |