mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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
This commit is contained in:
parent
7d650cb540
commit
fb16b7e7b3
@ -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);
|
||||||
|
@ -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
|
||||||
|
@ -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
|
emms_c();
|
||||||
if (mm_flags & MM_MMX)
|
|
||||||
emms();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* intra / predictive decision */
|
/* intra / predictive decision */
|
||||||
xx = mb_x * 16;
|
xx = mb_x * 16;
|
||||||
|
Loading…
Reference in New Issue
Block a user