From a822a47983068ea9ca721c5a3359734c79837195 Mon Sep 17 00:00:00 2001
From: Nick Kurshev <nickols_k@mail.ru>
Date: Sat, 10 Nov 2001 14:36:12 +0000
Subject: [PATCH] fixed gcc-3.0.x compilation (by Michael Niedermayer)

Originally committed as revision 211 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/common.h               |   2 +-
 libavcodec/i386/dsputil_mmx.c     | 113 +++++++++++++++---------------
 libavcodec/i386/dsputil_mmx_avg.h |  76 ++++++++++----------
 libavcodec/mpegvideo.h            |   2 +-
 4 files changed, 94 insertions(+), 99 deletions(-)

diff --git a/libavcodec/common.h b/libavcodec/common.h
index 2b1debac899..d53e70e91b6 100644
--- a/libavcodec/common.h
+++ b/libavcodec/common.h
@@ -344,7 +344,7 @@ void print_stats(void);
 
 /* misc math functions */
 
-extern inline int av_log2(unsigned int v)
+static inline int av_log2(unsigned int v)
 {
     int n;
 
diff --git a/libavcodec/i386/dsputil_mmx.c b/libavcodec/i386/dsputil_mmx.c
index 92e31ff6d79..2197b8fe7e0 100644
--- a/libavcodec/i386/dsputil_mmx.c
+++ b/libavcodec/i386/dsputil_mmx.c
@@ -76,7 +76,7 @@ static void get_pixels_mmx(DCTELEM *block, const UINT8 *pixels, int line_size)
     /* 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 @@ static void put_pixels_clamped_mmx(const DCTELEM *block, UINT8 *pixels, int line
     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 @@ static void add_pixels_clamped_mmx(const DCTELEM *block, UINT8 *pixels, int line
     /* 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 @@ static void add_pixels_clamped_mmx(const DCTELEM *block, UINT8 *pixels, int line
 		"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 @@ static void put_pixels_mmx(UINT8 *block, const UINT8 *pixels, int line_size, int
     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 @@ static void put_pixels_x2_mmx(UINT8 *block, const UINT8 *pixels, int line_size,
   __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 @@ static void put_pixels_y2_mmx(UINT8 *block, const UINT8 *pixels, int line_size,
   __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 @@ static void put_pixels_xy2_mmx(UINT8 *block, const UINT8 *pixels, int line_size,
   __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 @@ static void   put_no_rnd_pixels_x2_mmx( UINT8  *block, const UINT8 *pixels, int
   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 @@ static void put_no_rnd_pixels_y2_mmx( UINT8  *block, const UINT8 *pixels, int li
   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 @@ static void   put_no_rnd_pixels_xy2_mmx( UINT8  *block, const UINT8 *pixels, int
   __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 @@ static void avg_pixels_mmx(UINT8 *block, const UINT8 *pixels, int line_size, int
   __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 @@ static void avg_pixels_mmx(UINT8 *block, const UINT8 *pixels, int line_size, int
 	"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 @@ static void   avg_pixels_x2_mmx( UINT8  *block, const UINT8 *pixels, int line_si
   __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 @@ static void   avg_pixels_x2_mmx( UINT8  *block, const UINT8 *pixels, int line_si
 	"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 @@ static void   avg_pixels_y2_mmx( UINT8  *block, const UINT8 *pixels, int line_si
   __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 @@ static void   avg_pixels_y2_mmx( UINT8  *block, const UINT8 *pixels, int line_si
 	"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 @@ static void   avg_pixels_xy2_mmx( UINT8  *block, const UINT8 *pixels, int line_s
   __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 @@ static void   avg_pixels_xy2_mmx( UINT8  *block, const UINT8 *pixels, int line_s
 	"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 @@ static void avg_no_rnd_pixels_mmx( UINT8  *block, const UINT8 *pixels, int line_
   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 @@ static void avg_no_rnd_pixels_mmx( UINT8  *block, const UINT8 *pixels, int line_
 	"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 @@ static void   avg_no_rnd_pixels_x2_mmx( UINT8  *block, const UINT8 *pixels, int
   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 @@ static void   avg_no_rnd_pixels_x2_mmx( UINT8  *block, const UINT8 *pixels, int
 	"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 @@ static void   avg_no_rnd_pixels_y2_mmx( UINT8  *block, const UINT8 *pixels, int
   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 @@ static void   avg_no_rnd_pixels_y2_mmx( UINT8  *block, const UINT8 *pixels, int
 	"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 @@ static void   avg_no_rnd_pixels_xy2_mmx( UINT8  *block, const UINT8 *pixels, int
   __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 @@ static void   avg_no_rnd_pixels_xy2_mmx( UINT8  *block, const UINT8 *pixels, int
 	"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 @@ static void sub_pixels_mmx( DCTELEM  *block, const UINT8 *pixels, int line_size,
   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 @@ static void sub_pixels_mmx( DCTELEM  *block, const UINT8 *pixels, int line_size,
 	"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 @@ static void sub_pixels_x2_mmx( DCTELEM  *block, const UINT8 *pixels, int line_si
   __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 @@ static void sub_pixels_x2_mmx( DCTELEM  *block, const UINT8 *pixels, int line_si
 	"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 @@ static void sub_pixels_y2_mmx( DCTELEM  *block, const UINT8 *pixels, int line_si
   __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 @@ static void sub_pixels_y2_mmx( DCTELEM  *block, const UINT8 *pixels, int line_si
 	"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 @@ static void   sub_pixels_xy2_mmx( DCTELEM  *block, const UINT8 *pixels, int line
   __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 @@ static void   sub_pixels_xy2_mmx( DCTELEM  *block, const UINT8 *pixels, int line
 	"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");
diff --git a/libavcodec/i386/dsputil_mmx_avg.h b/libavcodec/i386/dsputil_mmx_avg.h
index 5cd640f7134..830fe9f3b22 100644
--- a/libavcodec/i386/dsputil_mmx_avg.h
+++ b/libavcodec/i386/dsputil_mmx_avg.h
@@ -30,24 +30,23 @@ static void DEF(put_pixels_x2)(UINT8 *block, const UINT8 *pixels, int line_size,
   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 @@ static void DEF(avg_pixels)(UINT8 *block, const UINT8 *pixels, int line_size, in
   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 @@ static void DEF(avg_pixels)(UINT8 *block, const UINT8 *pixels, int line_size, in
 	"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 @@ static void DEF(avg_pixels_x2)( UINT8  *block, const UINT8 *pixels, int line_siz
 	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 @@ static void DEF(avg_pixels_x2)( UINT8  *block, const UINT8 *pixels, int line_siz
 	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 @@ static void  DEF(avg_pixels_y2)( UINT8  *block, const UINT8 *pixels, int line_si
 	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 @@ static void  DEF(avg_pixels_y2)( UINT8  *block, const UINT8 *pixels, int line_si
 	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 @@ static void DEF(avg_pixels_xy2)( UINT8  *block, const UINT8 *pixels, int line_si
   __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 @@ static void DEF(avg_pixels_xy2)( UINT8  *block, const UINT8 *pixels, int line_si
 	"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 @@ static void DEF(sub_pixels_x2)( DCTELEM  *block, const UINT8 *pixels, int line_s
   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 @@ static void DEF(sub_pixels_x2)( DCTELEM  *block, const UINT8 *pixels, int line_s
 	"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 @@ static void DEF(sub_pixels_y2)( DCTELEM  *block, const UINT8 *pixels, int line_s
   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 @@ static void DEF(sub_pixels_y2)( DCTELEM  *block, const UINT8 *pixels, int line_s
 	"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;
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h
index 8843265c3c7..da456553276 100644
--- a/libavcodec/mpegvideo.h
+++ b/libavcodec/mpegvideo.h
@@ -232,7 +232,7 @@ typedef struct RLTable {
 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];
-- 
GitLab