Mercurial > mplayer.hg
changeset 12837:ec86a77cb6f4
simplify the init
author | alex |
---|---|
date | Sat, 17 Jul 2004 08:53:20 +0000 |
parents | 9a310b31359f |
children | 1d6892e87a2c |
files | postproc/yuv2rgb_altivec.c |
diffstat | 1 files changed, 13 insertions(+), 45 deletions(-) [+] |
line wrap: on
line diff
--- a/postproc/yuv2rgb_altivec.c Sat Jul 17 07:01:15 2004 +0000 +++ b/postproc/yuv2rgb_altivec.c Sat Jul 17 08:53:20 2004 +0000 @@ -564,58 +564,28 @@ return NULL; } - void yuv2rgb_altivec_init_tables (SwsContext *c, const int inv_table[4]) { - vector signed short - CY = (vector signed short)(0x7fff), - CRV = (vector signed short)(22972), - CBU = (vector signed short)(29029), - CGU = (vector signed short)(-11276), - CGV = (vector signed short)(-23400), - OY; - - vector signed short Y0; - int brightness = c->brightness, contrast = c->contrast, saturation = c->saturation; - int64_t crv __attribute__ ((aligned(16))); - int64_t cbu __attribute__ ((aligned(16))); - int64_t cgu __attribute__ ((aligned(16))); - int64_t cgv __attribute__ ((aligned(16))); + vector signed short CY, CRV, CBU, CGU, CGV, OY, Y0; + int64_t crv __attribute__ ((aligned(16))) = inv_table[0]; + int64_t cbu __attribute__ ((aligned(16))) = inv_table[1]; + int64_t cgu __attribute__ ((aligned(16))) = inv_table[2]; + int64_t cgv __attribute__ ((aligned(16))) = inv_table[3]; + int64_t cy = (1<<16)-1; + int64_t oy = 0; short tmp __attribute__ ((aligned(16))); - int64_t cy = (1<<16)-1; - int64_t oy = 0; - if ((c->flags & SWS_CPU_CAPS_ALTIVEC) == 0) return; - crv = inv_table[0]; - cbu = inv_table[1]; - cgu = inv_table[2]; - cgv = inv_table[3]; - -#if 0 - printf ("crv: %hvx\n", CRV); - printf ("cbu: %hvx\n", CBU); - printf ("cgv: %hvx\n", CGV); - printf ("cgu: %hvx\n", CGU); - - printf ("contrast: %d, brightness: %d, saturation: %d\n", contrast, brightness, saturation); + cy = (cy *c->contrast )>>17; + crv= (crv*c->contrast * c->saturation)>>32; + cbu= (cbu*c->contrast * c->saturation)>>32; + cgu= (cgu*c->contrast * c->saturation)>>32; + cgv= (cgv*c->contrast * c->saturation)>>32; - printf("%lld %lld %lld %lld %lld\n", cy, crv, cbu, cgu, cgv); -#endif + oy -= 256*c->brightness; - cy = (cy *contrast )>>17; - crv= (crv*contrast * saturation)>>32; - cbu= (cbu*contrast * saturation)>>32; - cgu= (cgu*contrast * saturation)>>32; - cgv= (cgv*contrast * saturation)>>32; - - oy -= 256*brightness; - - //printf("%llx %llx %llx %llx %llx\n", cy, crv, cbu, cgu, cgv); - - // vector signed short CBU,CRV,CGU,CGY,CY; tmp = cy; CY = vec_lde (0, &tmp); CY = vec_splat (CY, 0); @@ -827,5 +797,3 @@ if (vCCoeffsBank) free (vCCoeffsBank); } - -