# HG changeset patch # User alex # Date 1090047675 0 # Node ID 9a310b31359f473a13b86d8d18bc1b351317d822 # Parent 4235ae5a2d60ceb6c8d51afd59e3cc3148f67fd5 some fixes diff -r 4235ae5a2d60 -r 9a310b31359f postproc/yuv2rgb_altivec.c --- a/postproc/yuv2rgb_altivec.c Fri Jul 16 20:31:17 2004 +0000 +++ b/postproc/yuv2rgb_altivec.c Sat Jul 17 07:01:15 2004 +0000 @@ -64,6 +64,7 @@ */ #include #include +#include #include #include #include "config.h" @@ -220,7 +221,7 @@ //#define out_pixels(a,b,c,ptr) vec_mstrgb32(typeof(a),((typeof (a))(0)),a,a,a,ptr) -static inline cvtyuvtoRGB (SwsContext *c, +static inline void cvtyuvtoRGB (SwsContext *c, vector signed short Y, vector signed short U, vector signed short V, vector signed short *R, vector signed short *G, vector signed short *B) { @@ -492,6 +493,7 @@ img += 32; } } + return srcSliceH; } @@ -554,9 +556,6 @@ case IMGFMT_RGB32: MSG_WARN("ALTIVEC: Color Space UYVY -> RGB32\n"); return altivec_uyvy_rgb32; - case IMGFMT_RGB24: - case IMGFMT_BGR32: - default: return NULL; } break; @@ -566,9 +565,8 @@ } -int yuv2rgb_altivec_init_tables (SwsContext *c, const int inv_table[4]) +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), @@ -577,8 +575,6 @@ CGV = (vector signed short)(-23400), OY; - vector unsigned short CSHIFT = (vector unsigned short)(1); - vector signed short Y0; int brightness = c->brightness, contrast = c->contrast, saturation = c->saturation; int64_t crv __attribute__ ((aligned(16))); @@ -617,7 +613,6 @@ oy -= 256*brightness; - //printf("%llx %llx %llx %llx %llx\n", cy, crv, cbu, cgu, cgv); // vector signed short CBU,CRV,CGU,CGY,CY; @@ -643,17 +638,15 @@ CGV = vec_lde (0, &tmp); CGV = vec_splat (CGV, 0); - CSHIFT = (vector unsigned short)(2); -#if 1 - c->CSHIFT = CSHIFT; + c->CSHIFT = (vector unsigned short)(2); c->CY = CY; c->OY = OY; c->CRV = CRV; c->CBU = CBU; c->CGU = CGU; c->CGV = CGV; -#endif -#if 1 + +#if 0 printf ("cy: %hvx\n", CY); printf ("oy: %hvx\n", OY); printf ("crv: %hvx\n", CRV); @@ -661,6 +654,8 @@ printf ("cgv: %hvx\n", CGV); printf ("cgu: %hvx\n", CGU); #endif + + return; }