From b234ae818baabca22afed95b70fb5a3607dac0cc Mon Sep 17 00:00:00 2001 From: Nick Kurshev Date: Sun, 28 Oct 2001 10:17:57 +0000 Subject: [PATCH] vo_vesa: rgb2rgb support Originally committed as revision 2505 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc --- postproc/Makefile | 2 +- postproc/rgb2rgb.c | 18 ++++++++++++++++++ postproc/rgb2rgb.h | 12 ++++++++++++ postproc/rgb2rgb_template.c | 18 ++++++++++++++++++ 4 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 postproc/rgb2rgb.c create mode 100644 postproc/rgb2rgb.h create mode 100644 postproc/rgb2rgb_template.c diff --git a/postproc/Makefile b/postproc/Makefile index 0bf51b6ff1..8d16b53650 100644 --- a/postproc/Makefile +++ b/postproc/Makefile @@ -3,7 +3,7 @@ include ../config.mak LIBNAME = libpostproc.a -SRCS=postprocess.c swscale.c +SRCS=postprocess.c swscale.c rgb2rgb.c OBJS=$(SRCS:.c=.o) CFLAGS = $(OPTFLAGS) -I. -I.. -Wall diff --git a/postproc/rgb2rgb.c b/postproc/rgb2rgb.c new file mode 100644 index 0000000000..1a71ba9dce --- /dev/null +++ b/postproc/rgb2rgb.c @@ -0,0 +1,18 @@ +#include +#include "../config.h" +#include "rgb2rgb.h" + +void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) +{ + uint32_t *dest = (uint32_t *)dst; + uint8_t *s = src; + uint8_t *end; + end = s + src_size; + while(s < end) + { + uint32_t rgb0; + rgb0 = *(uint32_t *)s; + *dest++ = rgb0 & 0xFFFFFFUL; + s += 3; + } +} diff --git a/postproc/rgb2rgb.h b/postproc/rgb2rgb.h new file mode 100644 index 0000000000..4224487d32 --- /dev/null +++ b/postproc/rgb2rgb.h @@ -0,0 +1,12 @@ +/* + * + * rgb2rgb.h, Software RGB to RGB coverter + * + */ + +#ifndef RGB2RGB_INCLUDED +#define RGB2RGB_INCLUDED + +extern void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size); + +#endif diff --git a/postproc/rgb2rgb_template.c b/postproc/rgb2rgb_template.c new file mode 100644 index 0000000000..1a71ba9dce --- /dev/null +++ b/postproc/rgb2rgb_template.c @@ -0,0 +1,18 @@ +#include +#include "../config.h" +#include "rgb2rgb.h" + +void rgb24to32(uint8_t *src,uint8_t *dst,uint32_t src_size) +{ + uint32_t *dest = (uint32_t *)dst; + uint8_t *s = src; + uint8_t *end; + end = s + src_size; + while(s < end) + { + uint32_t rgb0; + rgb0 = *(uint32_t *)s; + *dest++ = rgb0 & 0xFFFFFFUL; + s += 3; + } +}