[FFmpeg-cvslog] r28555 - in trunk/libswscale: swscale.c swscale_template.c
kostya
subversion
Sat Feb 14 17:37:40 CET 2009
Author: kostya
Date: Sat Feb 14 17:37:39 2009
New Revision: 28555
Log:
Some AltiVec functions in SwScaler produce different output than their
counterparts in pure C, so don't invoke them in bitexact mode.
Modified:
trunk/libswscale/swscale.c
trunk/libswscale/swscale_template.c
Modified: trunk/libswscale/swscale.c
==============================================================================
--- trunk/libswscale/swscale.c Sat Feb 14 14:06:52 2009 (r28554)
+++ trunk/libswscale/swscale.c Sat Feb 14 17:37:39 2009 (r28555)
@@ -2396,6 +2396,7 @@ SwsContext *sws_getContext(int srcW, int
#ifdef COMPILE_ALTIVEC
if ((c->flags & SWS_CPU_CAPS_ALTIVEC) &&
+ !(c->flags & SWS_BITEXACT) &&
srcFormat == PIX_FMT_YUV420P) {
// unscaled YV12 -> packed YUV, we want speed
if (dstFormat == PIX_FMT_YUYV422)
Modified: trunk/libswscale/swscale_template.c
==============================================================================
--- trunk/libswscale/swscale_template.c Sat Feb 14 14:06:52 2009 (r28554)
+++ trunk/libswscale/swscale_template.c Sat Feb 14 17:37:39 2009 (r28555)
@@ -1136,9 +1136,10 @@ static inline void RENAME(yuv2packedX)(S
#if HAVE_ALTIVEC
/* The following list of supported dstFormat values should
match what's found in the body of altivec_yuv2packedX() */
- if (c->dstFormat==PIX_FMT_ABGR || c->dstFormat==PIX_FMT_BGRA ||
+ if (!(c->flags & SWS_BITEXACT) &&
+ (c->dstFormat==PIX_FMT_ABGR || c->dstFormat==PIX_FMT_BGRA ||
c->dstFormat==PIX_FMT_BGR24 || c->dstFormat==PIX_FMT_RGB24 ||
- c->dstFormat==PIX_FMT_RGBA || c->dstFormat==PIX_FMT_ARGB)
+ c->dstFormat==PIX_FMT_RGBA || c->dstFormat==PIX_FMT_ARGB))
altivec_yuv2packedX (c, lumFilter, lumSrc, lumFilterSize,
chrFilter, chrSrc, chrFilterSize,
dest, dstW, dstY);
More information about the ffmpeg-cvslog
mailing list