# HG changeset patch # User michael # Date 1004902584 0 # Node ID 2924350d92edff60780a3530ec686742e9c46b46 # Parent 1a8e5e017b1d28ed7f0e2dbf41fda97122a3c864 bgr32to16, bgr32to15 (needed for palette stuff) paletteto 32,16,15bgr all in c, will be optimized as soon as they are tested (assuming opt. is possible) diff -r 1a8e5e017b1d -r 2924350d92ed postproc/rgb2rgb.c --- a/postproc/rgb2rgb.c Sun Nov 04 18:06:31 2001 +0000 +++ b/postproc/rgb2rgb.c Sun Nov 04 19:36:24 2001 +0000 @@ -1,4 +1,4 @@ -/* +/* * * rgb2rgb.c, Software RGB to RGB convertor * Written by Nick Kurshev. @@ -170,3 +170,60 @@ } #endif } + +/** + * Pallete is assumed to contain bgr32 + */ +void palette8torgb32(uint8_t *src, uint8_t *dst, int src_size, uint8_t *palette) +{ + int i; + for(i=0; i>3) | ((g&0xFC)<<3) | ((r&0xF8)<<8); + } +} + +void rgb32to15(uint8_t *src, uint8_t *dst, int src_size) +{ + int i; + for(i=0; i>3) | ((g&0xF8)<<3) | ((r&0xF8)<<7); + } +} + + +/** + * Palette is assumed to contain bgr16, see rgb32to16 to convert the palette + */ +void palette8torgb16(uint8_t *src, uint8_t *dst, int src_size, uint8_t *palette) +{ + int i; + for(i=0; i>3) | ((g&0xFC)<<3) | ((r&0xF8)<<8); + } +} + +void rgb32to15(uint8_t *src, uint8_t *dst, int src_size) +{ + int i; + for(i=0; i>3) | ((g&0xF8)<<3) | ((r&0xF8)<<7); + } +} + + +/** + * Palette is assumed to contain bgr16, see rgb32to16 to convert the palette + */ +void palette8torgb16(uint8_t *src, uint8_t *dst, int src_size, uint8_t *palette) +{ + int i; + for(i=0; i