changeset 151:ae0516eadae2 libavcodec

fixed gcc-3.0.x compilation (by Michael Niedermayer)
author nickols_k
date Sat, 10 Nov 2001 14:36:12 +0000
parents 668dda5ef46d
children 561ec01a1a78
files common.h i386/dsputil_mmx.c i386/dsputil_mmx_avg.h mpegvideo.h
diffstat 4 files changed, 94 insertions(+), 99 deletions(-) [+]
line wrap: on
line diff
--- a/common.h	Fri Nov 09 02:17:02 2001 +0000
+++ b/common.h	Sat Nov 10 14:36:12 2001 +0000
@@ -344,7 +344,7 @@
 
 /* misc math functions */
 
-extern inline int av_log2(unsigned int v)
+static inline int av_log2(unsigned int v)
 {
     int n;
 
--- a/i386/dsputil_mmx.c	Fri Nov 09 02:17:02 2001 +0000
+++ b/i386/dsputil_mmx.c	Sat Nov 10 14:36:12 2001 +0000
@@ -76,7 +76,7 @@
     /* read the pixels */
     p = block;
     pix = pixels;
-    __asm __volatile("pxor %%mm7, %%mm7":::"memory");
+    __asm __volatile("pxor %%mm7, %%mm7":);
     for(i=0;i<4;i++) {
 	__asm __volatile(
 		"movq	%1, %%mm0\n\t"
@@ -110,25 +110,23 @@
     pix = pixels;
     for(i=0;i<2;i++) {
 	__asm __volatile(
-		"movq	%4, %%mm0\n\t"
-		"movq	8%4, %%mm1\n\t"
-		"movq	16%4, %%mm2\n\t"
-		"movq	24%4, %%mm3\n\t"
-		"movq	32%4, %%mm4\n\t"
-		"movq	40%4, %%mm5\n\t"
-		"movq	48%4, %%mm6\n\t"
-		"movq	56%4, %%mm7\n\t"
+		"movq	%3, %%mm0\n\t"
+		"movq	8%3, %%mm1\n\t"
+		"movq	16%3, %%mm2\n\t"
+		"movq	24%3, %%mm3\n\t"
+		"movq	32%3, %%mm4\n\t"
+		"movq	40%3, %%mm5\n\t"
+		"movq	48%3, %%mm6\n\t"
+		"movq	56%3, %%mm7\n\t"
 		"packuswb %%mm1, %%mm0\n\t"
 		"packuswb %%mm3, %%mm2\n\t"
 		"packuswb %%mm5, %%mm4\n\t"
 		"packuswb %%mm7, %%mm6\n\t"
-		"movq	%%mm0, %0\n\t"
-		"movq	%%mm2, %1\n\t"
-		"movq	%%mm4, %2\n\t"
-		"movq	%%mm6, %3\n\t"
-		:"=m"(*pix), "=m"(*(pix+line_size))
-		,"=m"(*(pix+line_size*2)), "=m"(*(pix+line_size*3))
-		:"m"(*p)
+		"movq	%%mm0, (%0)\n\t"
+		"movq	%%mm2, (%0, %1)\n\t"
+		"movq	%%mm4, (%0, %1, 2)\n\t"
+		"movq	%%mm6, (%0, %2)\n\t"
+		::"r" (pix), "r" (line_size), "r" (line_size*3), "m"(*p)
 		:"memory");
         pix += line_size*4;
         p += 32;
@@ -144,7 +142,7 @@
     /* read the pixels */
     p = block;
     pix = pixels;
-	__asm __volatile("pxor	%%mm7, %%mm7":::"memory");
+	__asm __volatile("pxor	%%mm7, %%mm7":);
     for(i=0;i<4;i++) {
 	__asm __volatile(
 		"movq	%2, %%mm0\n\t"
@@ -167,7 +165,7 @@
 		"packuswb %%mm3, %%mm2\n\t"
 		"movq	%%mm0, %0\n\t"
 		"movq	%%mm2, %1\n\t"
-		:"=m"(*pix), "=m"(*(pix+line_size))
+		:"+m"(*pix), "+m"(*(pix+line_size))
 		:"m"(*p)
 		:"memory");
         pix += line_size*2;
@@ -186,16 +184,15 @@
     dh=h&3;
     while(hh--) {
     __asm __volatile(
-	"movq	%4, %%mm0\n\t"
-	"movq	%5, %%mm1\n\t"
-	"movq	%6, %%mm2\n\t"
-	"movq	%7, %%mm3\n\t"
-	"movq	%%mm0, %0\n\t"
-	"movq	%%mm1, %1\n\t"
-	"movq	%%mm2, %2\n\t"
-	"movq	%%mm3, %3\n\t"
-	:"=m"(*p), "=m"(*(p+line_size)), "=m"(*(p+line_size*2)), "=m"(*(p+line_size*3))
-	:"m"(*pix), "m"(*(pix+line_size)), "m"(*(pix+line_size*2)), "m"(*(pix+line_size*3))
+	"movq	(%1), %%mm0		\n\t"
+	"movq	(%1, %2), %%mm1		\n\t"
+	"movq	(%1, %2, 2), %%mm2	\n\t"
+	"movq	(%1, %3), %%mm3		\n\t"
+	"movq	%%mm0, (%0)		\n\t"
+	"movq	%%mm1, (%0, %2)		\n\t"
+	"movq	%%mm2, (%0, %2, 2)	\n\t"
+	"movq	%%mm3, (%0, %3)		\n\t"
+	::"r"(p), "r"(pix), "r"(line_size), "r"(line_size*3)
 	:"memory");
         pix = pix + line_size*4;
         p =   p   + line_size*4;
@@ -221,7 +218,7 @@
   __asm __volatile(
 	"pxor	%%mm7, %%mm7\n\t"
 	"movq	%0, %%mm4\n\t"
-	::"m"(mm_wone):"memory");
+	::"m"(mm_wone));
   do {
     __asm __volatile(
 	"movq	%1, %%mm0\n\t"
@@ -256,7 +253,7 @@
   __asm __volatile(
 	"pxor	%%mm7, %%mm7\n\t"
 	"movq	%0, %%mm4\n\t"
-	::"m"(mm_wone):"memory");
+	::"m"(mm_wone));
   do {
     __asm __volatile(
 	"movq	%1, %%mm0\n\t"
@@ -293,7 +290,7 @@
   __asm __volatile(
 	"pxor	%%mm7, %%mm7\n\t"
 	"movq	%0, %%mm6\n\t"
-	::"m"(mm_wtwo):"memory");
+	::"m"(mm_wtwo));
   do {
     __asm __volatile(
 	"movq	%1, %%mm0\n\t"
@@ -339,7 +336,7 @@
   const UINT8 *pix;
   p = block;
   pix = pixels;
-  __asm __volatile("pxor %%mm7, %%mm7\n\t":::"memory");
+  __asm __volatile("pxor %%mm7, %%mm7\n\t":);
   do {
     __asm __volatile(
 	"movq	%1, %%mm0\n\t"
@@ -370,7 +367,7 @@
   const UINT8 *pix;
   p = block;
   pix = pixels;
-  __asm __volatile("pxor %%mm7, %%mm7\n\t":::"memory");
+  __asm __volatile("pxor %%mm7, %%mm7\n\t":);
   do {
     __asm __volatile(
 	"movq	%1, %%mm0\n\t"
@@ -405,7 +402,7 @@
   __asm __volatile(
 	"pxor	%%mm7, %%mm7\n\t"
 	"movq	%0, %%mm6\n\t"
-	::"m"(mm_wone):"memory");
+	::"m"(mm_wone));
   do {
     __asm __volatile(
 	"movq	%1, %%mm0\n\t"
@@ -454,7 +451,7 @@
   __asm __volatile(
 	"pxor	%%mm7, %%mm7\n\t"
 	"movq	%0, %%mm6\n\t"
-	::"m"(mm_wone):"memory");
+	::"m"(mm_wone));
   do {
     __asm __volatile(
 	"movq	%0, %%mm0\n\t"
@@ -473,7 +470,7 @@
 	"psrlw	$1, %%mm2\n\t"
 	"packuswb  %%mm2, %%mm0\n\t"
 	"movq	%%mm0, %0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix)
 	:"memory");
    pix += line_size;
@@ -491,7 +488,7 @@
   __asm __volatile(
 	"pxor	%%mm7, %%mm7\n\t"
 	"movq	%0, %%mm6\n\t"
-	::"m"(mm_wone):"memory");
+	::"m"(mm_wone));
   do {
     __asm __volatile(
 	"movq	%1, %%mm1\n\t"
@@ -520,7 +517,7 @@
 	"psrlw	$1, %%mm2\n\t"
 	"packuswb  %%mm2, %%mm0\n\t"
 	"movq	%%mm0, %0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix)
 	:"memory");
    pix += line_size;
@@ -537,7 +534,7 @@
   __asm __volatile(
 	"pxor	%%mm7, %%mm7\n\t"
 	"movq	%0, %%mm6\n\t"
-	::"m"(mm_wone):"memory");
+	::"m"(mm_wone));
   do {
     __asm __volatile(
 	"movq	%1, %%mm1\n\t"
@@ -566,7 +563,7 @@
 	"psrlw	$1, %%mm2\n\t"
 	"packuswb  %%mm2, %%mm0\n\t"
 	"movq	%%mm0, %0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix), "m"(*(pix+line_size))
 	:"memory");
    pix += line_size;
@@ -583,7 +580,7 @@
   __asm __volatile(
 	"pxor	%%mm7, %%mm7\n\t"
 	"movq	%0, %%mm6\n\t"
-	::"m"(mm_wtwo):"memory");
+	::"m"(mm_wtwo));
   do {
     __asm __volatile(
 	"movq	%1, %%mm0\n\t"
@@ -625,7 +622,7 @@
 	"psrlw	$1, %%mm2\n\t"
 	"packuswb  %%mm2, %%mm0\n\t"
 	"movq	%%mm0, %0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix),
 	 "m"(*(pix+line_size)), "m"(mm_wone)
 	:"memory");
@@ -640,7 +637,7 @@
   const UINT8 *pix;
   p = block;
   pix = pixels;
-  __asm __volatile("pxor %%mm7, %%mm7\n\t":::"memory");
+  __asm __volatile("pxor %%mm7, %%mm7\n\t":);
   do {
     __asm __volatile(
 	"movq	%1, %%mm0\n\t"
@@ -657,7 +654,7 @@
 	"psrlw	$1, %%mm2\n\t"
 	"packuswb  %%mm2, %%mm0\n\t"
 	"movq	%%mm0, %0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix)
 	:"memory");
    pix += line_size;
@@ -672,7 +669,7 @@
   p = block;
   pix = pixels;
   __asm __volatile(
-      "pxor	%%mm7, %%mm7\n\t":::"memory");
+      "pxor	%%mm7, %%mm7\n\t":);
   do {
     __asm __volatile(
 	"movq	%1, %%mm0\n\t"
@@ -697,7 +694,7 @@
 	"psrlw	$1, %%mm2\n\t"
 	"packuswb  %%mm2, %%mm0\n\t"
 	"movq	%%mm0, %0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix)
 	:"memory");
    pix += line_size;
@@ -712,7 +709,7 @@
   p = block;
   pix = pixels;
   __asm __volatile(
-      "pxor	%%mm7, %%mm7\n\t":::"memory");
+      "pxor	%%mm7, %%mm7\n\t":);
   do {
     __asm __volatile(
 	"movq	%1, %%mm0\n\t"
@@ -737,7 +734,7 @@
 	"psrlw	$1, %%mm2\n\t"
 	"packuswb  %%mm2, %%mm0\n\t"
 	"movq	%%mm0, %0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix), "m"(*(pix+line_size))
 	:"memory");
    pix += line_size;
@@ -754,7 +751,7 @@
   __asm __volatile(
 	"pxor	%%mm7, %%mm7\n\t"
 	"movq	%0, %%mm6\n\t"
-	::"m"(mm_wone):"memory");
+	::"m"(mm_wone));
   do {
     __asm __volatile(
 	"movq	%1, %%mm0\n\t"
@@ -793,7 +790,7 @@
 	"psrlw	$1, %%mm2\n\t"
 	"packuswb  %%mm2, %%mm0\n\t"
 	"movq	%%mm0, %0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix),
 	 "m"(*(pix+line_size))
 	:"memory");
@@ -808,7 +805,7 @@
   const UINT8 *pix;
   p = block;
   pix = pixels;
-  __asm __volatile("pxor %%mm7, %%mm7":::"memory");
+  __asm __volatile("pxor %%mm7, %%mm7":);
   do {
     __asm __volatile(
 	"movq	%0, %%mm0\n\t"
@@ -821,7 +818,7 @@
 	"psubsw %%mm3, %%mm1\n\t"
 	"movq	%%mm0, %0\n\t"
 	"movq	%%mm1, 8%0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix)
 	:"memory");
    pix += line_size;
@@ -838,7 +835,7 @@
   __asm __volatile(
       "pxor	%%mm7, %%mm7\n\t"
       "movq	%0, %%mm6"
-      ::"m"(mm_wone):"memory");
+      ::"m"(mm_wone));
   do {
     __asm __volatile(
 	"movq	%0, %%mm0\n\t"
@@ -861,7 +858,7 @@
 	"psubsw %%mm3, %%mm1\n\t"
 	"movq	%%mm0, %0\n\t"
 	"movq	%%mm1, 8%0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix)
 	:"memory");
    pix += line_size;
@@ -878,7 +875,7 @@
   __asm __volatile(
       "pxor	%%mm7, %%mm7\n\t"
       "movq	%0, %%mm6"
-      ::"m"(mm_wone):"memory");
+      ::"m"(mm_wone));
   do {
     __asm __volatile(
 	"movq	%0, %%mm0\n\t"
@@ -901,7 +898,7 @@
 	"psubsw %%mm3, %%mm1\n\t"
 	"movq	%%mm0, %0\n\t"
 	"movq	%%mm1, 8%0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix), "m"(*(pix+line_size))
 	:"memory");
    pix += line_size;
@@ -918,7 +915,7 @@
   __asm __volatile(
 	"pxor	%%mm7, %%mm7\n\t"
 	"movq	%0, %%mm6\n\t"
-	::"m"(mm_wtwo):"memory");
+	::"m"(mm_wtwo));
   do {
     __asm __volatile(
 	"movq	%1, %%mm0\n\t"
@@ -953,7 +950,7 @@
 	"psubsw %%mm2, %%mm3\n\t"
 	"movq	%%mm1, %0\n\t"
 	"movq	%%mm3, 8%0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix),
 	 "m"(*(pix+line_size))
 	:"memory");
--- a/i386/dsputil_mmx_avg.h	Fri Nov 09 02:17:02 2001 +0000
+++ b/i386/dsputil_mmx_avg.h	Sat Nov 10 14:36:12 2001 +0000
@@ -30,24 +30,23 @@
   dh=h&3;
   while(hh--) {
     __asm __volatile(
-	"movq	%4, %%mm0\n\t"
-	"movq	1%4, %%mm1\n\t"
-	"movq	%5, %%mm2\n\t"
-	"movq	1%5, %%mm3\n\t"
-	"movq	%6, %%mm4\n\t"
-	"movq	1%6, %%mm5\n\t"
-	"movq	%7, %%mm6\n\t"
-	"movq	1%7, %%mm7\n\t"
+	"movq	(%1), %%mm0\n\t"
+	"movq	1(%1), %%mm1\n\t"
+	"movq	(%1, %2), %%mm2\n\t"
+	"movq	1(%1, %2), %%mm3\n\t"
+	"movq	(%1, %2, 2), %%mm4\n\t"
+	"movq	1(%1, %2, 2), %%mm5\n\t"
+	"movq	(%1, %3), %%mm6\n\t"
+	"movq	1(%1, %3), %%mm7\n\t"
 	PAVGB"  %%mm1, %%mm0\n\t"
 	PAVGB"  %%mm3, %%mm2\n\t"
 	PAVGB"  %%mm5, %%mm4\n\t"
 	PAVGB"  %%mm7, %%mm6\n\t"
-	"movq	%%mm0, %0\n\t"
-	"movq	%%mm2, %1\n\t"
-	"movq	%%mm4, %2\n\t"
-	"movq	%%mm6, %3\n\t"
-	:"=m"(*p), "=m"(*(p+line_size)), "=m"(*(p+line_size*2)), "=m"(*(p+line_size*3))
-	:"m"(*pix), "m"(*(pix+line_size)), "m"(*(pix+line_size*2)), "m"(*(pix+line_size*3))
+	"movq	%%mm0, (%0)\n\t"
+	"movq	%%mm2, (%0, %2)\n\t"
+	"movq	%%mm4, (%0, %2, 2)\n\t"
+	"movq	%%mm6, (%0, %3)\n\t"
+	::"r"(p), "r"(pix), "r" (line_size), "r" (line_size*3)
 	:"memory");
      pix += line_size*4; p += line_size*4;
   }
@@ -114,24 +113,23 @@
   dh=h&3;
   while(hh--) {
     __asm __volatile(
-	"movq	%0, %%mm0\n\t"
-	"movq	%4, %%mm1\n\t"
-	"movq	%1, %%mm2\n\t"
-	"movq	%5, %%mm3\n\t"
-	"movq	%2, %%mm4\n\t"
-	"movq	%6, %%mm5\n\t"
-	"movq	%3, %%mm6\n\t"
-	"movq	%7, %%mm7\n\t"
+	"movq	(%0), %%mm0\n\t"
+	"movq	(%1), %%mm1\n\t"
+	"movq	(%0, %2), %%mm2\n\t"
+	"movq	(%1, %2), %%mm3\n\t"
+	"movq	(%0, %2, 2), %%mm4\n\t"
+	"movq	(%1, %2, 2), %%mm5\n\t"
+	"movq	(%0, %3), %%mm6\n\t"
+	"movq	(%1, %3), %%mm7\n\t"
 	PAVGB"  %%mm1, %%mm0\n\t"
 	PAVGB"  %%mm3, %%mm2\n\t"
 	PAVGB"  %%mm5, %%mm4\n\t"
 	PAVGB"  %%mm7, %%mm6\n\t"
-	"movq	%%mm0, %0\n\t"
-	"movq	%%mm2, %1\n\t"
-	"movq	%%mm4, %2\n\t"
-	"movq	%%mm6, %3\n\t"
-	:"=m"(*p), "=m"(*(p+line_size)), "=m"(*(p+line_size*2)), "=m"(*(p+line_size*3))
-	:"m"(*pix), "m"(*(pix+line_size)), "m"(*(pix+line_size*2)), "m"(*(pix+line_size*3))
+	"movq	%%mm0, (%0)\n\t"
+	"movq	%%mm2, (%0, %2)\n\t"
+	"movq	%%mm4, (%0, %2, 2)\n\t"
+	"movq	%%mm6, (%0, %3)\n\t"
+	::"r"(p), "r"(pix), "r" (line_size), "r" (line_size*3)
 	:"memory");
      pix += line_size*4; p += line_size*4;
   }
@@ -141,7 +139,7 @@
 	"movq	%1, %%mm1\n\t"
 	PAVGB"  %%mm1, %%mm0\n\t"
 	"movq	%%mm0, %0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix)
 	:"memory");
      pix += line_size; p += line_size;
@@ -171,7 +169,7 @@
 	PAVGB"	%%mm4, %%mm1\n\t"
 	"movq	%%mm0, %0\n\t"
 	"movq	%%mm1, %1\n\t"
-	:"=m"(*p), "=m"(*(p+line_size))
+	:"+m"(*p), "+m"(*(p+line_size))
 	:"m"(*pix), "m"(*(pix+line_size))
 	:"memory");
    pix += line_size*2;
@@ -185,7 +183,7 @@
 	PAVGB"	%%mm2, %%mm1\n\t"
 	PAVGB"	%%mm1, %%mm0\n\t"
 	"movq	%%mm0, %0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix)
 	:"memory");
   }
@@ -214,7 +212,7 @@
 	PAVGB"	%%mm4, %%mm1\n\t"
 	"movq	%%mm0, %0\n\t"
 	"movq	%%mm1, %1\n\t"
-	:"=m"(*p), "=m"(*(p+line_size))
+	:"+m"(*p), "+m"(*(p+line_size))
 	:"m"(*pix), "m"(*(pix+line_size)), "m"(*(pix+line_size*2))
 	:"memory");
    pix += line_size*2;
@@ -228,7 +226,7 @@
 	PAVGB"	%%mm2, %%mm1\n\t"
 	PAVGB"	%%mm1, %%mm0\n\t"
 	"movq	%%mm0, %0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix), "m"(*(pix+line_size))
 	:"memory");
   }
@@ -243,7 +241,7 @@
   __asm __volatile(
 	"pxor	%%mm7, %%mm7\n\t"
 	"movq	%0, %%mm6\n\t"
-	::"m"(mm_wtwo):"memory");
+	::"m"(mm_wtwo));
   do {
     __asm __volatile(
 	"movq	%1, %%mm0\n\t"
@@ -275,7 +273,7 @@
 	"packuswb  %%mm2, %%mm0\n\t"
 	PAVGB"	%0, %%mm0\n\t"
 	"movq	%%mm0, %0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix),
 	 "m"(*(pix+line_size))
 	:"memory");
@@ -291,7 +289,7 @@
   p = block;
   pix = pixels;
   __asm __volatile(
-      "pxor	%%mm7, %%mm7":::"memory");
+      "pxor	%%mm7, %%mm7":);
   do {
     __asm __volatile(
 	"movq	1%1, %%mm2\n\t"
@@ -305,7 +303,7 @@
 	"psubsw %%mm3, %%mm1\n\t"
 	"movq	%%mm0, %0\n\t"
 	"movq	%%mm1, 8%0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix)
 	:"memory");
    pix += line_size;
@@ -320,7 +318,7 @@
   p = block;
   pix = pixels;
   __asm __volatile(
-      "pxor	%%mm7, %%mm7":::"memory");
+      "pxor	%%mm7, %%mm7":);
   do {
     __asm __volatile(
 	"movq	%2, %%mm2\n\t"
@@ -334,7 +332,7 @@
 	"psubsw %%mm3, %%mm1\n\t"
 	"movq	%%mm0, %0\n\t"
 	"movq	%%mm1, 8%0\n\t"
-	:"=m"(*p)
+	:"+m"(*p)
 	:"m"(*pix), "m"(*(pix+line_size))
 	:"memory");
    pix += line_size;
--- a/mpegvideo.h	Fri Nov 09 02:17:02 2001 +0000
+++ b/mpegvideo.h	Sat Nov 10 14:36:12 2001 +0000
@@ -232,7 +232,7 @@
 void init_rl(RLTable *rl);
 void init_vlc_rl(RLTable *rl);
 
-extern inline int get_rl_index(const RLTable *rl, int last, int run, int level)
+static inline int get_rl_index(const RLTable *rl, int last, int run, int level)
 {
     int index;
     index = rl->index_run[last][run];