diff options
author | Alan Curry <pacman@TheWorld.com> | 2006-02-18 00:41:28 +0000 |
---|---|---|
committer | Alan Curry <pacman@TheWorld.com> | 2006-02-18 00:41:28 +0000 |
commit | b9a6fae9301ff45cab65508b9d15fb1b15d31214 (patch) | |
tree | 8988f3da2c0a3bc55da75fe93f299d29468ee535 | |
parent | 8cecedfbe832609da509eb7205155e0b153e0dd4 (diff) | |
download | ffmpeg-b9a6fae9301ff45cab65508b9d15fb1b15d31214.tar.gz |
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
-rw-r--r-- | postproc/swscale_template.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/postproc/swscale_template.c b/postproc/swscale_template.c index 6a8e576ffb..98828a9136 100644 --- a/postproc/swscale_template.c +++ b/postproc/swscale_template.c @@ -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; } } |