diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xine-utils/color.c | 3 | ||||
| -rw-r--r-- | src/xine-utils/xineutils.h | 10 | 
2 files changed, 8 insertions, 5 deletions
| diff --git a/src/xine-utils/color.c b/src/xine-utils/color.c index 3c2388c27..8b37134b7 100644 --- a/src/xine-utils/color.c +++ b/src/xine-utils/color.c @@ -76,7 +76,8 @@   * next 9 defines.   */ -#if 1 +/* convert full range rgb to mpeg range yuv */ +#if 0  #define Y_R (SCALEFACTOR *  0.29900)  #define Y_G (SCALEFACTOR *  0.58700) diff --git a/src/xine-utils/xineutils.h b/src/xine-utils/xineutils.h index 5b16e6e3c..662f39467 100644 --- a/src/xine-utils/xineutils.h +++ b/src/xine-utils/xineutils.h @@ -288,18 +288,20 @@ extern void (*yuy2_to_yv12)     unsigned char *v_dst, int v_dst_pitch,     int width, int height) XINE_PROTECTED; -#define SCALEFACTOR 65536 +/* convert full range rgb to mpeg range yuv */ +#define SCALESHIFT 16 +#define SCALEFACTOR (1<<SCALESHIFT)  #define CENTERSAMPLE 128  #define COMPUTE_Y(r, g, b) \    (unsigned char) \ -  ((y_r_table[r] + y_g_table[g] + y_b_table[b]) / SCALEFACTOR) +  (((y_r_table[r] + y_g_table[g] + y_b_table[b]) >> SCALESHIFT) + 16)  #define COMPUTE_U(r, g, b) \    (unsigned char) \ -  ((u_r_table[r] + u_g_table[g] + u_b_table[b]) / SCALEFACTOR + CENTERSAMPLE) +  (((u_r_table[r] + u_g_table[g] + u_b_table[b]) >> SCALESHIFT) + CENTERSAMPLE)  #define COMPUTE_V(r, g, b) \    (unsigned char) \ -  ((v_r_table[r] + v_g_table[g] + v_b_table[b]) / SCALEFACTOR + CENTERSAMPLE) +  (((v_r_table[r] + v_g_table[g] + v_b_table[b]) >> SCALESHIFT) + CENTERSAMPLE)  #define UNPACK_BGR15(packed_pixel, r, g, b) \    b = (packed_pixel & 0x7C00) >> 7; \ | 
