summaryrefslogtreecommitdiff
path: root/include/xine
diff options
context:
space:
mode:
authorPetri Hintukainen <phintuka@users.sourceforge.net>2012-02-14 22:26:28 +0200
committerPetri Hintukainen <phintuka@users.sourceforge.net>2012-02-14 22:26:28 +0200
commitc7b56e4119bc8870fc4f35ac38159414cfe54ff1 (patch)
treedaa4a41dde50a45b5a14a98bd8c4a231a6345a94 /include/xine
parent428214feb6e7f8ac24e64d9c6d8fbd5382bf539a (diff)
parent8104053a5d71f7ca8c673469d81fc961542e7560 (diff)
downloadxine-lib-c7b56e4119bc8870fc4f35ac38159414cfe54ff1.tar.gz
xine-lib-c7b56e4119bc8870fc4f35ac38159414cfe54ff1.tar.bz2
Merge from 1.1
--HG-- rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
Diffstat (limited to 'include/xine')
-rw-r--r--include/xine/xineutils.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/include/xine/xineutils.h b/include/xine/xineutils.h
index e822ccfe8..5b8b4f1f4 100644
--- a/include/xine/xineutils.h
+++ b/include/xine/xineutils.h
@@ -254,18 +254,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; \