-// All variables are unsigned
-// y -> 24 bits u, v, -> 8 bits r, g, b -> 8 bits
-#define YUV_TO_RGB(y, u, v, r, g, b) \
-{ \
- (r) = ((y + vtor_tab[v]) >> 16); \
- (g) = ((y + utog_tab[u] + vtog_tab[v]) >> 16); \
- (b) = ((y + utob_tab[u]) >> 16); \
- CLAMP(r, 0, 0xff); CLAMP(g, 0, 0xff); CLAMP(b, 0, 0xff); \
-}
-
-// y -> 0 - 1 float
-// u, v, -> 8 bits
-// r, g, b -> float
-#define YUV_TO_FLOAT(y, u, v, r, g, b) \
-{ \
- (r) = y + vtor_float_tab[v]; \
- (g) = y + utog_float_tab[u] + vtog_float_tab[v]; \
- (b) = y + utob_float_tab[u]; \
-}
-
-// y -> 0 - 1 float
-// u, v, -> 16 bits
-// r, g, b -> float
-#define YUV16_TO_RGB_FLOAT(y, u, v, r, g, b) \
-{ \
- (r) = y + v16tor_float_tab[v]; \
- (g) = y + u16tog_float_tab[u] + v16tog_float_tab[v]; \
- (b) = y + u16tob_float_tab[u]; \
-}
-
-// y -> 24 bits u, v-> 16 bits
-#define YUV_TO_RGB16(y, u, v, r, g, b) \
-{ \
- (r) = ((y + vtor_tab16[v]) >> 8); \
- (g) = ((y + utog_tab16[u] + vtog_tab16[v]) >> 8); \
- (b) = ((y + utob_tab16[u]) >> 8); \
- CLAMP(r, 0, 0xffff); CLAMP(g, 0, 0xffff); CLAMP(b, 0, 0xffff); \
-}
-
-
-
-
-#define RGB_TO_YUV(y, u, v, r, g, b) \
-{ \
- y = ((rtoy_tab[r] + gtoy_tab[g] + btoy_tab[b]) >> 16); \
- u = ((rtou_tab[r] + gtou_tab[g] + btou_tab[b]) >> 16); \
- v = ((rtov_tab[r] + gtov_tab[g] + btov_tab[b]) >> 16); \
- CLAMP(y, 0, 0xff); CLAMP(u, 0, 0xff); CLAMP(v, 0, 0xff); \
-}
-
-// r, g, b -> 16 bits
-#define RGB_TO_YUV16(y, u, v, r, g, b) \
-{ \
- y = ((rtoy_tab16[r] + gtoy_tab16[g] + btoy_tab16[b]) >> 8); \
- u = ((rtou_tab16[r] + gtou_tab16[g] + btou_tab16[b]) >> 8); \
- v = ((rtov_tab16[r] + gtov_tab16[g] + btov_tab16[b]) >> 8); \
- CLAMP(y, 0, 0xffff); CLAMP(u, 0, 0xffff); CLAMP(v, 0, 0xffff); \
-}
-