1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

don't call altivec_yuv2packedX() with a dstFormat that it doesn't support;

instead fall back on yuv2packedXinC

Originally committed as revision 17642 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
This commit is contained in:
Alan Curry 2006-02-18 00:41:28 +00:00
parent 8cecedfbe8
commit b9a6fae930

View File

@ -967,14 +967,19 @@ static inline void RENAME(yuv2packedX)(SwsContext *c, int16_t *lumFilter, int16_
#endif
default:
#ifdef HAVE_ALTIVEC
altivec_yuv2packedX (c, lumFilter, lumSrc, lumFilterSize,
chrFilter, chrSrc, chrFilterSize,
dest, dstW, dstY);
#else
yuv2packedXinC(c, lumFilter, lumSrc, lumFilterSize,
chrFilter, chrSrc, chrFilterSize,
dest, dstW, dstY);
/* The following list of supported dstFormat values should
match what's found in the body of altivec_yuv2packedX() */
if(c->dstFormat==IMGFMT_ABGR || c->dstFormat==IMGFMT_BGRA ||
c->dstFormat==IMGFMT_BGR24 || c->dstFormat==IMGFMT_RGB24 ||
c->dstFormat==IMGFMT_RGBA || c->dstFormat==IMGFMT_ARGB)
altivec_yuv2packedX (c, lumFilter, lumSrc, lumFilterSize,
chrFilter, chrSrc, chrFilterSize,
dest, dstW, dstY);
else
#endif
yuv2packedXinC(c, lumFilter, lumSrc, lumFilterSize,
chrFilter, chrSrc, chrFilterSize,
dest, dstW, dstY);
break;
}
}