Browse Source

added emms_c() macro which should can used in c code in both mmx/non mmx cases

Originally committed as revision 12 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Fabrice Bellard 24 years ago
parent
commit
fb16b7e7b3
3 changed files with 10 additions and 9 deletions
  1. +0
    -4
      libavcodec/dsputil.c
  2. +9
    -1
      libavcodec/dsputil.h
  3. +1
    -4
      libavcodec/motion_est.c

+ 0
- 4
libavcodec/dsputil.c View File

@@ -21,10 +21,6 @@
#include "avcodec.h" #include "avcodec.h"
#include "dsputil.h" #include "dsputil.h"


#ifdef HAVE_MMX
int mm_flags; /* multimedia extension flags */
#endif

void (*get_pixels)(DCTELEM *block, const UINT8 *pixels, int line_size); void (*get_pixels)(DCTELEM *block, const UINT8 *pixels, int line_size);
void (*put_pixels_clamped)(const DCTELEM *block, UINT8 *pixels, int line_size); void (*put_pixels_clamped)(const DCTELEM *block, UINT8 *pixels, int line_size);
void (*add_pixels_clamped)(const DCTELEM *block, UINT8 *pixels, int line_size); void (*add_pixels_clamped)(const DCTELEM *block, UINT8 *pixels, int line_size);


+ 9
- 1
libavcodec/dsputil.h View File

@@ -75,7 +75,13 @@ int mm_support(void);


static inline void emms(void) static inline void emms(void)
{ {
asm volatile ("emms;");
__asm __volatile ("emms;":::"memory");
}

#define emms_c() \
{\
if (mm_flags & MM_MMX)\
emms();\
} }


#define __align8 __attribute__ ((aligned (8))) #define __align8 __attribute__ ((aligned (8)))
@@ -84,6 +90,8 @@ void dsputil_init_mmx(void);


#else #else


#define emms_c()

#define __align8 #define __align8


#endif #endif


+ 1
- 4
libavcodec/motion_est.c View File

@@ -434,10 +434,7 @@ int estimate_motion(MpegEncContext * s,
dmin = phods_motion_search(s, &mx, &my, range / 2, xmin, ymin, xmax, ymax); dmin = phods_motion_search(s, &mx, &my, range / 2, xmin, ymin, xmax, ymax);
break; break;
} }
#ifdef HAVE_MMX
if (mm_flags & MM_MMX)
emms();
#endif
emms_c();


/* intra / predictive decision */ /* intra / predictive decision */
xx = mb_x * 16; xx = mb_x * 16;


Loading…
Cancel
Save