diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2003-08-11 04:26:00 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2003-08-11 04:26:00 +0000 |
commit | c5e843b82205c04c618a423d3bb223f1f630b7a1 (patch) | |
tree | 47eb18ea910be2d9735290aef960fd458b46d29c /include/yuv.h |
added sources from pidip-0.12.4svn2git-root
svn path=/trunk/externals/pidip/; revision=837
Diffstat (limited to 'include/yuv.h')
-rw-r--r-- | include/yuv.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/include/yuv.h b/include/yuv.h new file mode 100644 index 0000000..554553d --- /dev/null +++ b/include/yuv.h @@ -0,0 +1,31 @@ +/* + * EffecTV - Realtime Digital Video Effector + * Copyright (C) 2001-2002 FUKUCHI Kentaro + * + * yuv.c: YUV(YCbCr) color system utilities + * + */ + +#include <math.h> + +/* + * conversion from YUV to RGB + * r = 1.164*(y-16) + 1.596*(v-128); + * g = 1.164*(y-16) - 0.813*(v-128) - 0.391*(u-128); + * b = 1.164*(y-16) + 2.018*(u-128); + * conversion from RGB to YUV + * y = 0.257*r + 0.504*g + 0.098*b + 16 + * u = -0.148*r - 0.291*g + 0.439*b + 128 + * v = 0.439*r - 0.368*g - 0.071*b + 128 + */ + +int yuv_init(void); +unsigned char yuv_RGBtoY(int rgb); +unsigned char yuv_RGBtoU(int rgb); +unsigned char yuv_RGBtoV(int rgb); +unsigned char yuv_YUVtoR(unsigned char y, unsigned char u, unsigned char v); +unsigned char yuv_YUVtoG(unsigned char y, unsigned char u, unsigned char v); +unsigned char yuv_YUVtoB(unsigned char y, unsigned char u, unsigned char v); +int yuv_YUVtoRGB(unsigned char y, unsigned char u, unsigned char v); +void yuv_Y122RGB( short int* packet, unsigned int *rgb, int width, int height ); +void yuv_RGB2Y12( unsigned int *rgb, short int* packet, int width, int height ); |