aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAurelien Jacobs <aurel@gnuage.org>2007-02-28 00:55:19 +0000
committerAurelien Jacobs <aurel@gnuage.org>2007-02-28 00:55:19 +0000
commitc2a29455e348f136043a0b3a23637924413180dc (patch)
tree700b18f88a6a6bba548048d49b4495699adfe83d
parent42a4ca83ea4b232c955d96c786530cca642dee62 (diff)
downloadffmpeg-c2a29455e348f136043a0b3a23637924413180dc.tar.gz
enable some 64bit optimized code on 64bit arch
Originally committed as revision 8155 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rwxr-xr-xconfigure17
-rw-r--r--libavcodec/simple_idct.c6
2 files changed, 18 insertions, 5 deletions
diff --git a/configure b/configure
index 876c585a69..fd565dcc07 100755
--- a/configure
+++ b/configure
@@ -600,6 +600,7 @@ HAVE_LIST="
dev_video_bktr_ioctl_bt848_h
dlfcn_h
dlopen
+ fast_64bit
fast_cmov
freetype2
imlib2
@@ -957,6 +958,7 @@ case "$arch" in
if [ x"$canon_arch" = x"x86_64" -o x"$canon_arch" = x"amd64" ]; then
if [ -z "`echo $CFLAGS | grep -- -m32`" ]; then
arch="x86_64"
+ enable fast_64bit
fi
fi
;;
@@ -966,15 +968,21 @@ case "$arch" in
;;
alpha)
arch="alpha"
+ enable fast_64bit
;;
- "Power Macintosh"|ppc|ppc64|powerpc)
+ "Power Macintosh"|ppc|powerpc)
arch="powerpc"
;;
+ ppc64)
+ arch="powerpc"
+ enable fast_64bit
+ ;;
mips|mipsel|IP*)
arch="mips"
;;
sun4u|sparc64)
arch="sparc64"
+ enable fast_64bit
;;
sparc)
arch="sparc"
@@ -982,8 +990,12 @@ case "$arch" in
sh4)
arch="sh4"
;;
- parisc|parisc64)
+ parisc)
+ arch="parisc"
+ ;;
+ parisc64)
arch="parisc"
+ enable fast_64bit
;;
s390|s390x)
arch="s390"
@@ -993,6 +1005,7 @@ case "$arch" in
;;
ia64)
arch="ia64"
+ enable fast_64bit
;;
bfin)
arch="bfin"
diff --git a/libavcodec/simple_idct.c b/libavcodec/simple_idct.c
index 2c026f08f2..dcf752e163 100644
--- a/libavcodec/simple_idct.c
+++ b/libavcodec/simple_idct.c
@@ -78,13 +78,13 @@
static inline void idctRowCondDC (DCTELEM * row)
{
int a0, a1, a2, a3, b0, b1, b2, b3;
-#ifdef FAST_64BIT
+#ifdef HAVE_FAST_64BIT
uint64_t temp;
#else
uint32_t temp;
#endif
-#ifdef FAST_64BIT
+#ifdef HAVE_FAST_64BIT
#ifdef WORDS_BIGENDIAN
#define ROW0_MASK 0xffff000000000000LL
#else
@@ -146,7 +146,7 @@ static inline void idctRowCondDC (DCTELEM * row)
MUL16(b3, W7, row[1]);
MAC16(b3, -W5, row[3]);
-#ifdef FAST_64BIT
+#ifdef HAVE_FAST_64BIT
temp = ((uint64_t*)row)[1];
#else
temp = ((uint32_t*)row)[2] | ((uint32_t*)row)[3];