# --- ROCK-COPYRIGHT-NOTE-BEGIN --- # # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # Please add additional copyright information _after_ the line containing # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by # the ./scripts/Create-CopyPatch script. Do not edit this copyright text! # # ROCK Linux: rock-src/package/jimmy/mplayer/gcc4-fix.patch # ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf # # This patch file is dual-licensed. It is available under the license the # patched project is licensed under, as long as it is an OpenSource license # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms # of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # # --- ROCK-COPYRIGHT-NOTE-END --- # --- T2-COPYRIGHT-NOTE-BEGIN --- # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # # T2 SDE: package/.../mplayer/gcc4-fix.patch # Copyright (C) 2004 - 2005 The T2 SDE Project # # More information can be found in the files COPYING and README. # # This patch file is dual-licensed. It is available under the license the # patched project is licensed under, as long as it is an OpenSource license # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms # of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # --- T2-COPYRIGHT-NOTE-END --- diff -Nur MPlayer-1.0pre7.orig/liba52/imdct.c MPlayer-1.0pre7/liba52/imdct.c --- MPlayer-1.0pre7.orig/liba52/imdct.c 2005-03-23 01:27:18.000000000 +0200 +++ MPlayer-1.0pre7/liba52/imdct.c 2005-09-25 10:31:27.000000000 +0300 @@ -937,7 +937,8 @@ /* 4-7. iterations */ for (m=3; m < 7; m++) { two_m = (1 << m); - two_m_plus_one = two_m<<1; + int two_m_plus_four=two_m<<4; + complex_t* buf_plus_128=buf+128; asm volatile( "movl %0, %%esi \n\t" ".balign 16 \n\t" @@ -963,7 +964,7 @@ "addl %2, %%esi \n\t" "cmpl %1, %%esi \n\t" " jb 1b \n\t" - :: "g" (buf), "m" (buf+128), "m" (two_m_plus_one<<3), "r" (two_m<<3), + :: "g" (buf), "m" (buf_plus_128), "m" (two_m_plus_four), "r" (two_m<<3), "r" (sseW[m]) : "%esi", "%edi", "%edx" ); diff -Nur MPlayer-1.0pre7.orig/libavcodec/libpostproc/postprocess_template.c MPlayer-1.0pre7/libavcodec/libpostproc/postprocess_template.c --- MPlayer-1.0pre7.orig/libavcodec/libpostproc/postprocess_template.c 2005-04-16 23:41:13.000000000 +0300 +++ MPlayer-1.0pre7/libavcodec/libpostproc/postprocess_template.c 2005-09-25 10:31:27.000000000 +0300 @@ -2648,6 +2648,8 @@ static always_inline void RENAME(do_a_deblock)(uint8_t *src, int step, int stride, PPContext *c){ int64_t dc_mask, eq_mask; int64_t sums[10*8*2]; + int64_t dc_and_eq_mask; + src+= step*3; // src points to begin of the 8x8 Block //START_TIMER asm volatile( @@ -2754,8 +2756,9 @@ : "r" (src), "r" ((long)step), "m" (c->pQPb), "m"(c->ppMode.flatnessThreshold) : "%"REG_a ); + dc_and_eq_mask=dc_mask & eq_mask; - if(dc_mask & eq_mask){ + if(dc_and_eq_mask){ long offset= -8*step; int64_t *temp_sums= sums; @@ -2930,7 +2933,7 @@ " js 1b \n\t" : "+r"(offset), "+r"(temp_sums) - : "r" ((long)step), "r"(src - offset), "m"(dc_mask & eq_mask) + : "r" ((long)step), "r"(src - offset), "m"(dc_and_eq_mask) ); }else src+= step; // src points to begin of the 8x8 Block diff -Nur MPlayer-1.0pre7.orig/libmpdemux/frequencies.h MPlayer-1.0pre7/libmpdemux/frequencies.h --- MPlayer-1.0pre7.orig/libmpdemux/frequencies.h 2001-11-17 00:06:48.000000000 +0200 +++ MPlayer-1.0pre7/libmpdemux/frequencies.h 2005-09-25 10:31:27.000000000 +0300 @@ -104,7 +104,7 @@ /* --------------------------------------------------------------------- */ extern struct CHANLISTS chanlists[]; -extern struct STRTAB chanlist_names[]; +/* extern struct STRTAB chanlist_names[]; */ extern int chantab; extern struct CHANLIST *chanlist; diff -Nur MPlayer-1.0pre7.orig/libvo/aclib_template.c MPlayer-1.0pre7/libvo/aclib_template.c --- MPlayer-1.0pre7.orig/libvo/aclib_template.c 2005-01-21 23:11:35.000000000 +0200 +++ MPlayer-1.0pre7/libvo/aclib_template.c 2005-09-25 10:31:27.000000000 +0300 @@ -249,8 +249,8 @@ MOVNTQ" %%mm6, 48(%1)\n" MOVNTQ" %%mm7, 56(%1)\n" :: "r" (from), "r" (to) : "memory"); - ((const unsigned char *)from)+=64; - ((unsigned char *)to)+=64; + from+=64; + to+=64; } // printf(" %d %d\n", (int)from&1023, (int)to&1023); @@ -338,8 +338,8 @@ MOVNTQ" %%mm6, 48(%1)\n" MOVNTQ" %%mm7, 56(%1)\n" :: "r" (from), "r" (to) : "memory"); - ((const unsigned char *)from)+=64; - ((unsigned char *)to)+=64; + from+=64; + to+=64; } #endif /* Have SSE */ diff -Nur MPlayer-1.0pre7.orig/mmx.h MPlayer-1.0pre7/mmx.h --- MPlayer-1.0pre7.orig/mmx.h 2001-10-28 13:47:21.000000000 +0200 +++ MPlayer-1.0pre7/mmx.h 2005-09-25 10:31:27.000000000 +0300 @@ -353,11 +353,11 @@ #define mmx_m2r(op, mem, reg) \ __asm__ __volatile__ (#op " %0, %%" #reg \ : /* nothing */ \ - : "X" (mem)) + : "m" (mem)) #define mmx_r2m(op, reg, mem) \ __asm__ __volatile__ (#op " %%" #reg ", %0" \ - : "=X" (mem) \ + : "=m" (mem) \ : /* nothing */ ) #define mmx_r2r(op, regs, regd) \ @@ -367,8 +367,8 @@ __asm__ __volatile__ ("movq %0, %%mm0\n\t" \ #op " %1, %%mm0\n\t" \ "movq %%mm0, %0" \ - : "=X" (memd) \ - : "X" (mems)) + : "=m" (memd) \ + : "m" (mems)) #endif diff -Nur MPlayer-1.0pre7.orig/postproc/swscale_template.c MPlayer-1.0pre7/postproc/swscale_template.c --- MPlayer-1.0pre7.orig/postproc/swscale_template.c 2005-02-17 01:47:00.000000000 +0200 +++ MPlayer-1.0pre7/postproc/swscale_template.c 2005-09-25 10:31:27.000000000 +0300 @@ -2136,6 +2136,7 @@ else { long counter= -2*dstW; + uint8_t* ptr=src+filterSize; // filter-= counter*filterSize/2; filterPos-= counter/2; dst-= counter/2; @@ -2177,7 +2178,7 @@ " jnc 1b \n\t" : "+r" (counter), "+r" (filter) - : "m" (filterPos), "m" (dst), "m"(src+filterSize), + : "m" (filterPos), "m" (dst), "m"(ptr), "m" (src), "r" ((long)filterSize*2) : "%"REG_b, "%"REG_a, "%"REG_c ); @@ -2320,6 +2321,8 @@ { #endif //NO MMX just normal asm ... + int xInc_hi=xInc>>16; + int xInc_lo=xInc&0xffff; asm volatile( "xor %%"REG_a", %%"REG_a" \n\t" // i "xor %%"REG_b", %%"REG_b" \n\t" // xx @@ -2356,7 +2359,7 @@ " jb 1b \n\t" - :: "r" (src), "m" (dst), "m" (dstWidth), "m" (xInc>>16), "m" (xInc&0xFFFF) + :: "r" (src), "m" (dst), "m" (dstWidth), "m" (xInc_hi), "m" (xInc_lo) : "%"REG_a, "%"REG_b, "%ecx", "%"REG_D, "%esi" ); #ifdef HAVE_MMX2 @@ -2515,6 +2518,8 @@ else { #endif + int xInc_hi=xInc>>16; + int xInc_lo=xInc&0xffff; asm volatile( "xor %%"REG_a", %%"REG_a" \n\t" // i "xor %%"REG_b", %%"REG_b" \n\t" // xx @@ -2548,7 +2553,7 @@ "cmp %2, %%"REG_a" \n\t" " jb 1b \n\t" - :: "m" (src1), "m" (dst), "m" ((long)dstWidth), "m" ((long)(xInc>>16)), "m" ((xInc&0xFFFF)), + :: "m" (src1), "m" (dst), "m" ((long)dstWidth), "m" ((long)(xInc_hi)), "m" ((xInc_lo)), "r" (src2) : "%"REG_a, "%"REG_b, "%ecx", "%"REG_D, "%esi" );