Originally committed as revision 2506 to svn://svn.mplayerhq.hu/mplayer/trunk/postproctags/v0.5
| @@ -2,6 +2,8 @@ | |||||
| #include "../config.h" | #include "../config.h" | ||||
| #include "rgb2rgb.h" | #include "rgb2rgb.h" | ||||
| /* TODO: MMX optimization */ | |||||
| void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) | void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) | ||||
| { | { | ||||
| uint32_t *dest = (uint32_t *)dst; | uint32_t *dest = (uint32_t *)dst; | ||||
| @@ -16,3 +18,18 @@ void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) | |||||
| s += 3; | s += 3; | ||||
| } | } | ||||
| } | } | ||||
| void rgb32to24(uint8_t *src,uint8_t *dst,uint32_t src_size) | |||||
| { | |||||
| uint8_t *dest = dst; | |||||
| uint8_t *s = src; | |||||
| uint8_t *end; | |||||
| end = s + src_size; | |||||
| while(s < end) | |||||
| { | |||||
| *dest++ = *s++; | |||||
| *dest++ = *s++; | |||||
| *dest++ = *s++; | |||||
| s++; | |||||
| } | |||||
| } | |||||
| @@ -1,6 +1,6 @@ | |||||
| /* | /* | ||||
| * | * | ||||
| * rgb2rgb.h, Software RGB to RGB coverter | |||||
| * rgb2rgb.h, Software RGB to RGB converter | |||||
| * | * | ||||
| */ | */ | ||||
| @@ -8,5 +8,6 @@ | |||||
| #define RGB2RGB_INCLUDED | #define RGB2RGB_INCLUDED | ||||
| extern void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size); | extern void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size); | ||||
| extern void rgb32to24(uint8_t *src,uint8_t *dst,uint32_t src_size); | |||||
| #endif | #endif | ||||
| @@ -2,6 +2,8 @@ | |||||
| #include "../config.h" | #include "../config.h" | ||||
| #include "rgb2rgb.h" | #include "rgb2rgb.h" | ||||
| /* TODO: MMX optimization */ | |||||
| void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) | void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) | ||||
| { | { | ||||
| uint32_t *dest = (uint32_t *)dst; | uint32_t *dest = (uint32_t *)dst; | ||||
| @@ -16,3 +18,18 @@ void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) | |||||
| s += 3; | s += 3; | ||||
| } | } | ||||
| } | } | ||||
| void rgb32to24(uint8_t *src,uint8_t *dst,uint32_t src_size) | |||||
| { | |||||
| uint8_t *dest = dst; | |||||
| uint8_t *s = src; | |||||
| uint8_t *end; | |||||
| end = s + src_size; | |||||
| while(s < end) | |||||
| { | |||||
| *dest++ = *s++; | |||||
| *dest++ = *s++; | |||||
| *dest++ = *s++; | |||||
| s++; | |||||
| } | |||||
| } | |||||