From: Miguel F. <mig...@us...> - 2005-07-17 21:50:48
|
Update of /cvsroot/xine/xine-lib/src/post/goom In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31825/src/post/goom Modified Files: Tag: xine-1_0 diff_against_release.patch filters.c mmx.h xine_goom.c xmmx.c Log Message: merging stuff to the xine-1_0 branch see ChangeLog for details Index: diff_against_release.patch =================================================================== RCS file: /cvsroot/xine/xine-lib/src/post/goom/diff_against_release.patch,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -u -r1.1 -r1.1.2.1 --- diff_against_release.patch 21 Nov 2004 15:10:40 -0000 1.1 +++ diff_against_release.patch 17 Jul 2005 21:50:05 -0000 1.1.2.1 @@ -43,3 +43,24 @@ YY_DECL { register yy_state_type yy_current_state; +diff -u -3 -p -r1.4 -r1.5 +--- xmmx.c 2 May 2005 21:13:43 -0000 1.4 ++++ xmmx.c 28 May 2005 12:20:37 -0000 1.5 +@@ -242,7 +242,7 @@ void zoom_filter_xmmx (int prevX, int pr + ++loop; + } + /*#ifdef HAVE_ATHLON*/ +- __asm__ __volatile__ ("femms\n"); ++ __asm__ __volatile__ ("emms\n"); + /*#else + emms(); + #endif*/ +@@ -393,7 +393,7 @@ void draw_line_xmmx (Pixel *data, int x1 + } + } + end_of_line: +- __asm__ __volatile__ ("femms\n"); ++ __asm__ __volatile__ ("emms\n"); + } + + #endif Index: filters.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/post/goom/filters.c,v retrieving revision 1.16 retrieving revision 1.16.2.1 diff -u -r1.16 -r1.16.2.1 --- filters.c 21 Nov 2004 15:10:40 -0000 1.16 +++ filters.c 17 Jul 2005 21:50:06 -0000 1.16.2.1 @@ -427,14 +427,13 @@ brutSmypos = brutS[myPos2]; py = brutSmypos + (((brutD[myPos2] - brutSmypos) * buffratio) >> BUFFPOINTNB); - pos = ((px >> PERTEDEC) + prevX * (py >> PERTEDEC)); - /* coef en modulo 15 */ - coeffs = precalCoef[px & PERTEMASK][py & PERTEMASK]; - - if ((py >= (signed int)ay) || (px >= (signed int)ax)) { + if ((py >= ay) || (px >= ax)) { pos = coeffs = 0; + } else { + pos = ((px >> PERTEDEC) + prevX * (py >> PERTEDEC)); + /* coef en modulo 15 */ + coeffs = precalCoef[px & PERTEMASK][py & PERTEMASK]; } - getPixelRGB_ (expix1, pos, &col1); getPixelRGB_ (expix1, pos + 1, &col2); getPixelRGB_ (expix1, pos + bufwidth, &col3); Index: mmx.h =================================================================== RCS file: /cvsroot/xine/xine-lib/src/post/goom/mmx.h,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -u -r1.4 -r1.4.2.1 --- mmx.h 19 Aug 2004 10:39:03 -0000 1.4 +++ mmx.h 17 Jul 2005 21:50:06 -0000 1.4.2.1 @@ -72,6 +72,7 @@ register int rval = 0; __asm__ __volatile__ ( + "push %%ebx\n\t" /* See if CPUID instruction is supported ... */ /* ... Get copies of EFLAGS into eax and ecx */ "pushf\n\t" @@ -214,9 +215,10 @@ "movl $0, %0\n\n\t" "Return:\n\t" + "pop %%ebx\n\t" : "=X" (rval) : /* no input */ - : "eax", "ebx", "ecx", "edx" + : "eax", "ecx", "edx" ); /* Return */ Index: xine_goom.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/post/goom/xine_goom.c,v retrieving revision 1.56 retrieving revision 1.56.2.1 diff -u -r1.56 -r1.56.2.1 --- xine_goom.c 12 Dec 2004 22:01:26 -0000 1.56 +++ xine_goom.c 17 Jul 2005 21:50:06 -0000 1.56.2.1 @@ -145,9 +145,13 @@ if(class->ip) { post_plugin_goom_t *this = class->ip; + + if (cfg->num_value < 1) + cfg->num_value = 1; + this->fps = cfg->num_value; - if(this->sample_rate && this->fps) + if(this->sample_rate) this->samples_per_frame = this->sample_rate / this->fps; } } Index: xmmx.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/post/goom/xmmx.c,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -u -r1.3 -r1.3.2.1 --- xmmx.c 19 Aug 2004 10:39:03 -0000 1.3 +++ xmmx.c 17 Jul 2005 21:50:06 -0000 1.3.2.1 @@ -112,23 +112,23 @@ * post : mm3 & mm4 : coefs for this position * mm1 : X vector [0|X] * - * modif : eax,ebx + * modif : eax,ecx */ __asm__ __volatile__ ( - "movd %%mm0,%%ebx\n" + "movd %%mm0,%%ecx\n" "movq %%mm0,%%mm1\n" - "andl $15,%%ebx\n" + "andl $15,%%ecx\n" "psrlq $32,%%mm1\n" - "shll $6,%%ebx\n" + "shll $6,%%ecx\n" "movd %%mm1,%%eax\n" - "addl %0,%%ebx\n" + "addl %0,%%ecx\n" "andl $15,%%eax\n" - "movd (%%ebx,%%eax,4),%%mm3\n" - ::"g"(precalCoef):"eax","ebx"); + "movd (%%ecx,%%eax,4),%%mm3\n" + ::"g"(precalCoef):"eax","ecx"); /* * extraction des coefficients... @@ -158,7 +158,7 @@ * post : mm0 : expix1[position] * mm2 : expix1[position+largeur] * - * modif : eax,ebx + * modif : eax,ecx */ psrld_i2r (PERTEDEC,mm0); psrld_i2r (PERTEDEC,mm1); @@ -167,23 +167,23 @@ /*^*/ "movq %%mm3,%%mm5\n" /*^*/ "mull %1\n" - "movd %%mm0,%%ebx\n" + "movd %%mm0,%%ecx\n" /*^*/ "punpcklbw %%mm5, %%mm3\n" /*^*/ - "addl %%ebx,%%eax\n" + "addl %%ecx,%%eax\n" /*^*/ "movq %%mm3,%%mm4\n" /*^*/ /*^*/ "movq %%mm3,%%mm5\n" /*^*/ - "movl %0,%%ebx\n" + "movl %0,%%ecx\n" /*^*/ "punpcklbw %%mm5,%%mm3\n" /*^*/ - "movq (%%ebx,%%eax,4),%%mm0\n" + "movq (%%ecx,%%eax,4),%%mm0\n" /*^*/ "punpckhbw %%mm5,%%mm4\n" /*^*/ "addl %1,%%eax\n" - "movq (%%ebx,%%eax,4),%%mm2\n" + "movq (%%ecx,%%eax,4),%%mm2\n" - : : "X"(expix1), "X"(prevX):"eax","ebx" + : : "X"(expix1), "X"(prevX):"eax","ecx" ); /* @@ -242,7 +242,7 @@ ++loop; } /*#ifdef HAVE_ATHLON*/ - __asm__ __volatile__ ("femms\n"); + __asm__ __volatile__ ("emms\n"); /*#else emms(); #endif*/ @@ -393,7 +393,7 @@ } } end_of_line: - __asm__ __volatile__ ("femms\n"); + __asm__ __volatile__ ("emms\n"); } #endif |