// $Id: //sw/devtools/FXComposer2/Alpha4+/SDK/MEDIA/CgFX1.4/yuv.cgh#1 $ // Color-space conversion functions #ifndef _H_RGB_YUV #define _H_RGB_YUV #include "quad.cgh" QUAD_REAL3 rgb_to_yuv(QUAD_REAL3 RGB) { QUAD_REAL y = dot(RGB,QUAD_REAL3(0.299,0.587,0.114)); QUAD_REAL u = (RGB.z - y) * 0.565; QUAD_REAL v = (RGB.x - y) * 0.713; return QUAD_REAL3(y,u,v); } QUAD_REAL3 yuv_to_rgb(QUAD_REAL3 YUV) { QUAD_REAL u = YUV.y; QUAD_REAL v = YUV.z; QUAD_REAL r = YUV.x + 1.403*v; QUAD_REAL g = YUV.x - 0.344*u - 1.403*v; QUAD_REAL b = YUV.x + 1.770*u; return QUAD_REAL3(r,g,b); } #endif /* _H_RGB_YUV */ /// eof