[FFmpeg-cvslog] r27568 - in trunk/libswscale: swscale.c swscale_template.c
michael
subversion
Wed Sep 10 18:39:57 CEST 2008
Author: michael
Date: Wed Sep 10 18:39:56 2008
New Revision: 27568
Log:
Change RGB2YUV_SHIFT from 16 to 15 to make it able to work
with 16bit signed constants (like SIMD might use).
Modified:
trunk/libswscale/swscale.c
trunk/libswscale/swscale_template.c
Modified: trunk/libswscale/swscale.c
==============================================================================
--- trunk/libswscale/swscale.c (original)
+++ trunk/libswscale/swscale.c Wed Sep 10 18:39:56 2008
@@ -152,7 +152,7 @@ unsigned swscale_version(void)
|| isBGR(x) \
)
-#define RGB2YUV_SHIFT 16
+#define RGB2YUV_SHIFT 15
#define BY ((int)( 0.098*(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))
Modified: trunk/libswscale/swscale_template.c
==============================================================================
--- trunk/libswscale/swscale_template.c (original)
+++ trunk/libswscale/swscale_template.c Wed Sep 10 18:39:56 2008
@@ -1891,10 +1891,8 @@ static inline void RENAME(name ## _half)
\
g>>=shg;\
\
- dstU[i]= (((RU)>>1)*r + ((GU)>>1)*g + ((BU)>>1)*b + (257<<((S)-1)))>>(S);\
- dstV[i]= (((RV)>>1)*r + ((GV)>>1)*g + ((BV)>>1)*b + (257<<((S)-1)))>>(S);\
-/* dstU[i]= ((RU)*r + (GU)*g + (BU)*b + (257<<(S)))>>((S)+1);\
- 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);\
}\
}
More information about the ffmpeg-cvslog
mailing list