diff options
author | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-04-13 02:21:12 +0000 |
---|---|---|
committer | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-04-13 02:21:12 +0000 |
commit | 52fb4603104612614a3bef8731169de892774562 (patch) | |
tree | a9416481dca62b3fc7f083f618a1d5a4664d0fb5 /postproc/rgb2rgb.c | |
parent | 96da430d08f40e8e42088a15ea4fa5c779524db3 (diff) |
yuv422p -> yuy2 (untested)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5589 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'postproc/rgb2rgb.c')
-rw-r--r-- | postproc/rgb2rgb.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/postproc/rgb2rgb.c b/postproc/rgb2rgb.c index b1178b8628..44c8e461e8 100644 --- a/postproc/rgb2rgb.c +++ b/postproc/rgb2rgb.c @@ -362,6 +362,29 @@ void yv12toyuy2(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, u /** * + * width should be a multiple of 16 + */ +void yuv422ptoyuy2(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst, + unsigned int width, unsigned int height, + unsigned int lumStride, unsigned int chromStride, unsigned int dstStride) +{ +#ifdef CAN_COMPILE_X86_ASM + // ordered per speed fasterst first + if(gCpuCaps.hasMMX2) + yuv422ptoyuy2_MMX2(ysrc, usrc, vsrc, dst, width, height, lumStride, chromStride, dstStride); + else if(gCpuCaps.has3DNow) + yuv422ptoyuy2_3DNow(ysrc, usrc, vsrc, dst, width, height, lumStride, chromStride, dstStride); + else if(gCpuCaps.hasMMX) + yuv422ptoyuy2_MMX(ysrc, usrc, vsrc, dst, width, height, lumStride, chromStride, dstStride); + else + yuv422ptoyuy2_C(ysrc, usrc, vsrc, dst, width, height, lumStride, chromStride, dstStride); +#else + yuv422ptoyuy2_C(ysrc, usrc, vsrc, dst, width, height, lumStride, chromStride, dstStride); +#endif +} + +/** + * * height should be a multiple of 2 and width should be a multiple of 16 (if this is a * problem for anyone then tell me, and ill fix it) */ |