Mercurial > mplayer.hg
changeset 2558:2f3c9175532c
No longer required
author | nick |
---|---|
date | Tue, 30 Oct 2001 17:06:08 +0000 |
parents | 6a74454ea121 |
children | 54ef00c7e2ad |
files | libvo/rgb15to16mmx.c |
diffstat | 1 files changed, 0 insertions(+), 42 deletions(-) [+] |
line wrap: on
line diff
--- a/libvo/rgb15to16mmx.c Tue Oct 30 17:04:59 2001 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -// Original by Strepto/Astral -// ported to gcc & bugfixed : A'rpi - -#include <inttypes.h> -//#include "attributes.h" -#include "mmx.h" - -void rgb15to16_mmx(char* s0,char* d0,int count){ - static uint64_t mask_b = 0x001F001F001F001FLL; // 00000000 00011111 xxB - static uint64_t mask_rg = 0x7FE07FE07FE07FE0LL; // 01111111 11100000 RGx - register char* s=s0+count; - register char* d=d0+count; - register int offs=-count; - movq_m2r (mask_b, mm4); - movq_m2r (mask_rg, mm5); - while(offs<0){ - movq_m2r (*(s+offs), mm0); - movq_r2r (mm0, mm1); - - movq_m2r (*(s+8+offs), mm2); - movq_r2r (mm2, mm3); - - pand_r2r (mm4, mm0); - pand_r2r (mm5, mm1); - - psllq_i2r(1,mm1); - pand_r2r (mm4, mm2); - - pand_r2r (mm5, mm3); - por_r2r (mm1, mm0); - - psllq_i2r(1,mm3); - movq_r2m (mm0,*(d+offs)); - - por_r2r (mm3,mm2); - movq_r2m (mm2,*(d+8+offs)); - - offs+=16; - } - emms(); -} -