summaryrefslogtreecommitdiff
path: root/src/libffmpeg/libavcodec/dsputil.c
diff options
context:
space:
mode:
authorJuergen Keil <jkeil@users.sourceforge.net>2001-09-01 17:57:20 +0000
committerJuergen Keil <jkeil@users.sourceforge.net>2001-09-01 17:57:20 +0000
commit4fff623cae914340d0968855630d21ca69826b9a (patch)
tree959e65b8116c2ea2e363a4ebe59d89cebbae4e11 /src/libffmpeg/libavcodec/dsputil.c
parent1e2f00c5f029673e77f4cbb02a01b1063873d5be (diff)
downloadxine-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.c9
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"); */