summaryrefslogtreecommitdiffstats
path: root/postproc
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-09-09 16:18:47 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-09-09 16:18:47 +0000
commit5bf4fb02637fdf69616a2f540ac742114172cfb4 (patch)
tree6299721db9617e6d3f88551cdaea4f1b636ca7fd /postproc
parent19efdd59aa98afb226f1ff9d69b8391d6f947220 (diff)
downloadmpv-5bf4fb02637fdf69616a2f540ac742114172cfb4.tar.bz2
mpv-5bf4fb02637fdf69616a2f540ac742114172cfb4.tar.xz
fixed palette8to{rgb24,bgr24,rgb32,bgr32}
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7335 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'postproc')
-rw-r--r--postproc/rgb2rgb.c38
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;
}
}