diff options
author | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-07-06 13:52:56 +0000 |
---|---|---|
committer | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-07-06 13:52:56 +0000 |
commit | b612dd86b09d7c3b024e723ebb02a9a01bd20abc (patch) | |
tree | afeded01ee71737d0428fb0363f34b4487970a4c /postproc/swscale.c | |
parent | 5896bf6cfdd89afefc5be6b2a233a09721154764 (diff) | |
download | mpv-b612dd86b09d7c3b024e723ebb02a9a01bd20abc.tar.bz2 mpv-b612dd86b09d7c3b024e723ebb02a9a01bd20abc.tar.xz |
Altivec unscaled YV12 -> packed YUV patch by (Romain Dolbeau <dolbeau at irisa dot fr>)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12769 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'postproc/swscale.c')
-rw-r--r-- | postproc/swscale.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/postproc/swscale.c b/postproc/swscale.c index 67a75a93af..891352121c 100644 --- a/postproc/swscale.c +++ b/postproc/swscale.c @@ -1909,6 +1909,18 @@ SwsContext *sws_getContext(int srcW, int srcH, int origSrcFormat, int dstW, int } } +#ifdef HAVE_ALTIVEC + if ((c->flags & SWS_CPU_CAPS_ALTIVEC) && + ((srcFormat == IMGFMT_YV12 && + (dstFormat == IMGFMT_YUY2 || dstFormat == IMGFMT_UYVY)))) { + // unscaled YV12 -> packed YUV, we want speed + if (dstFormat == IMGFMT_YUY2) + c->swScale= yv12toyuy2_unscaled_altivec; + else + c->swScale= yv12touyvy_unscaled_altivec; + } +#endif + /* simple copy */ if( srcFormat == dstFormat || (isPlanarYUV(srcFormat) && isGray(dstFormat)) |