diff options
author | Juergen Keil <jkeil@users.sourceforge.net> | 2001-09-01 17:57:20 +0000 |
---|---|---|
committer | Juergen Keil <jkeil@users.sourceforge.net> | 2001-09-01 17:57:20 +0000 |
commit | 4fff623cae914340d0968855630d21ca69826b9a (patch) | |
tree | 959e65b8116c2ea2e363a4ebe59d89cebbae4e11 /src/libffmpeg/libavcodec/dsputil.c | |
parent | 1e2f00c5f029673e77f4cbb02a01b1063873d5be (diff) | |
download | xine-lib-4fff623cae914340d0968855630d21ca69826b9a.tar.gz xine-lib-4fff623cae914340d0968855630d21ca69826b9a.tar.bz2 |
Enable MMX accelerated code on x86
Workaround a gcc-2.95.2 compiler bug in put_pixels_clamped_mmx,
add_pixels_clamped_mmx
Fix "debug" build for libffmpeg
CVS patchset: 541
CVS date: 2001/09/01 17:57:20
Diffstat (limited to 'src/libffmpeg/libavcodec/dsputil.c')
-rw-r--r-- | src/libffmpeg/libavcodec/dsputil.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libffmpeg/libavcodec/dsputil.c b/src/libffmpeg/libavcodec/dsputil.c index da8b24941..c29574303 100644 --- a/src/libffmpeg/libavcodec/dsputil.c +++ b/src/libffmpeg/libavcodec/dsputil.c @@ -20,6 +20,7 @@ #include <stdio.h> #include "avcodec.h" #include "dsputil.h" +#include "cpu_accel.h" void (*ff_idct)(DCTELEM *block); void (*get_pixels)(DCTELEM *block, const UINT8 *pixels, int line_size); @@ -413,9 +414,13 @@ void block_permute(INT16 *block) void dsputil_init(void) { int i, j; +#ifdef ARCH_X86 + uint32_t mm = mm_accel(); +#endif int use_permuted_mmx_idct; int accel_dsputil; + for(i=0;i<256;i++) cropTbl[i + MAX_NEG_CROP] = i; for(i=0;i<MAX_NEG_CROP;i++) { cropTbl[i] = 0; @@ -440,8 +445,8 @@ void dsputil_init(void) use_permuted_mmx_idct = 1; accel_dsputil = 0; -#ifdef HAVE_MMX - if (!accel_dsputil) { +#ifdef ARCH_X86 + if (!accel_dsputil && (mm & MM_ACCEL_X86_MMX)) { dsputil_init_mmx(); accel_dsputil = 1; /* printf("AVCODEC: Using mmx idct\n"); */ |