diff options
author | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2012-02-14 20:47:10 +0000 |
---|---|---|
committer | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2012-02-14 20:47:10 +0000 |
commit | 9622af14dfe4a43f45084b560624aa44e611d8f8 (patch) | |
tree | 52f0b4c8d3b548990de00f0352f52150149b3602 /src | |
parent | 8104053a5d71f7ca8c673469d81fc961542e7560 (diff) | |
download | xine-lib-9622af14dfe4a43f45084b560624aa44e611d8f8.tar.gz xine-lib-9622af14dfe4a43f45084b560624aa44e611d8f8.tar.bz2 |
Backed out RGB→YUV patch – API change.
Anything which uses the COMPUTE_* macros would need to be recompiled because
of the use of new tables. This change needs to be conditional somehow, at
least externally.
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, 5 insertions, 8 deletions
diff --git a/src/xine-utils/color.c b/src/xine-utils/color.c index 8b37134b7..3c2388c27 100644 --- a/src/xine-utils/color.c +++ b/src/xine-utils/color.c @@ -76,8 +76,7 @@ * next 9 defines. */ -/* convert full range rgb to mpeg range yuv */ -#if 0 +#if 1 #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 662f39467..5b16e6e3c 100644 --- a/src/xine-utils/xineutils.h +++ b/src/xine-utils/xineutils.h @@ -288,20 +288,18 @@ extern void (*yuy2_to_yv12) unsigned char *v_dst, int v_dst_pitch, int width, int height) XINE_PROTECTED; -/* convert full range rgb to mpeg range yuv */ -#define SCALESHIFT 16 -#define SCALEFACTOR (1<<SCALESHIFT) +#define SCALEFACTOR 65536 #define CENTERSAMPLE 128 #define COMPUTE_Y(r, g, b) \ (unsigned char) \ - (((y_r_table[r] + y_g_table[g] + y_b_table[b]) >> SCALESHIFT) + 16) + ((y_r_table[r] + y_g_table[g] + y_b_table[b]) / SCALEFACTOR) #define COMPUTE_U(r, g, b) \ (unsigned char) \ - (((u_r_table[r] + u_g_table[g] + u_b_table[b]) >> SCALESHIFT) + CENTERSAMPLE) + ((u_r_table[r] + u_g_table[g] + u_b_table[b]) / SCALEFACTOR + CENTERSAMPLE) #define COMPUTE_V(r, g, b) \ (unsigned char) \ - (((v_r_table[r] + v_g_table[g] + v_b_table[b]) >> SCALESHIFT) + CENTERSAMPLE) + ((v_r_table[r] + v_g_table[g] + v_b_table[b]) / SCALEFACTOR + CENTERSAMPLE) #define UNPACK_BGR15(packed_pixel, r, g, b) \ b = (packed_pixel & 0x7C00) >> 7; \ |