summaryrefslogtreecommitdiffstats
path: root/libswscale
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-07-18 00:09:09 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-07-18 00:09:09 +0000
commit17b0917069e52e199c8689c8eaa797422c8e7577 (patch)
tree6cdc98ea0ea80aa9d9426c61315dfe475c4176c4 /libswscale
parent3076d107cf596f59d7f727028f9afbac241faa40 (diff)
downloadmpv-17b0917069e52e199c8689c8eaa797422c8e7577.tar.bz2
mpv-17b0917069e52e199c8689c8eaa797422c8e7577.tar.xz
Make C code in yuv2yuv1() do accurate rounding, this could be split
depending on SWS_ACCURATE as well if someone wants. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27323 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale')
-rw-r--r--libswscale/swscale_template.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libswscale/swscale_template.c b/libswscale/swscale_template.c
index 45cd491d53..1280ba6c02 100644
--- a/libswscale/swscale_template.c
+++ b/libswscale/swscale_template.c
@@ -1020,7 +1020,7 @@ static inline void RENAME(yuv2yuv1)(SwsContext *c, int16_t *lumSrc, int16_t *chr
int i;
for (i=0; i<dstW; i++)
{
- int val= lumSrc[i]>>7;
+ int val= (lumSrc[i]+64)>>7;
if (val&256){
if (val<0) val=0;
@@ -1033,8 +1033,8 @@ static inline void RENAME(yuv2yuv1)(SwsContext *c, int16_t *lumSrc, int16_t *chr
if (uDest)
for (i=0; i<chrDstW; i++)
{
- int u=chrSrc[i]>>7;
- int v=chrSrc[i + VOFW]>>7;
+ int u=(chrSrc[i ]+64)>>7;
+ int v=(chrSrc[i + VOFW]+64)>>7;
if ((u|v)&256){
if (u<0) u=0;