Change RGB2YUV_SHIFT from 16 to 15 to make it able to work

with 16bit signed constants (like SIMD might use).


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27568 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
michael 2008-09-10 16:39:56 +00:00
parent 9af0a56c05
commit a92e68d5a8
2 changed files with 3 additions and 5 deletions

View File

@ -152,7 +152,7 @@ unsigned swscale_version(void)
|| isBGR(x) \ || isBGR(x) \
) )
#define RGB2YUV_SHIFT 16 #define RGB2YUV_SHIFT 15
#define BY ((int)( 0.098*(1<<RGB2YUV_SHIFT)+0.5)) #define BY ((int)( 0.098*(1<<RGB2YUV_SHIFT)+0.5))
#define BV ((int)(-0.071*(1<<RGB2YUV_SHIFT)+0.5)) #define BV ((int)(-0.071*(1<<RGB2YUV_SHIFT)+0.5))
#define BU ((int)( 0.439*(1<<RGB2YUV_SHIFT)+0.5)) #define BU ((int)( 0.439*(1<<RGB2YUV_SHIFT)+0.5))

View File

@ -1891,10 +1891,8 @@ static inline void RENAME(name ## _half)(uint8_t *dstU, uint8_t *dstV, uint8_t *
\ \
g>>=shg;\ g>>=shg;\
\ \
dstU[i]= (((RU)>>1)*r + ((GU)>>1)*g + ((BU)>>1)*b + (257<<((S)-1)))>>(S);\ dstU[i]= ((RU)*r + (GU)*g + (BU)*b + (257<<(S)))>>((S)+1);\
dstV[i]= (((RV)>>1)*r + ((GV)>>1)*g + ((BV)>>1)*b + (257<<((S)-1)))>>(S);\ dstV[i]= ((RV)*r + (GV)*g + (BV)*b + (257<<(S)))>>((S)+1);\
/* dstU[i]= ((RU)*r + (GU)*g + (BU)*b + (257<<(S)))>>((S)+1);\
dstV[i]= ((RV)*r + (GV)*g + (BV)*b + (257<<(S)))>>((S)+1);*/\
}\ }\
} }