Commit c2a29455 authored by Aurelien Jacobs's avatar Aurelien Jacobs

enable some 64bit optimized code on 64bit arch

Originally committed as revision 8155 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 42a4ca83
...@@ -600,6 +600,7 @@ HAVE_LIST=" ...@@ -600,6 +600,7 @@ HAVE_LIST="
dev_video_bktr_ioctl_bt848_h dev_video_bktr_ioctl_bt848_h
dlfcn_h dlfcn_h
dlopen dlopen
fast_64bit
fast_cmov fast_cmov
freetype2 freetype2
imlib2 imlib2
...@@ -957,6 +958,7 @@ case "$arch" in ...@@ -957,6 +958,7 @@ case "$arch" in
if [ x"$canon_arch" = x"x86_64" -o x"$canon_arch" = x"amd64" ]; then if [ x"$canon_arch" = x"x86_64" -o x"$canon_arch" = x"amd64" ]; then
if [ -z "`echo $CFLAGS | grep -- -m32`" ]; then if [ -z "`echo $CFLAGS | grep -- -m32`" ]; then
arch="x86_64" arch="x86_64"
enable fast_64bit
fi fi
fi fi
;; ;;
...@@ -966,15 +968,21 @@ case "$arch" in ...@@ -966,15 +968,21 @@ case "$arch" in
;; ;;
alpha) alpha)
arch="alpha" arch="alpha"
enable fast_64bit
;; ;;
"Power Macintosh"|ppc|ppc64|powerpc) "Power Macintosh"|ppc|powerpc)
arch="powerpc" arch="powerpc"
;; ;;
ppc64)
arch="powerpc"
enable fast_64bit
;;
mips|mipsel|IP*) mips|mipsel|IP*)
arch="mips" arch="mips"
;; ;;
sun4u|sparc64) sun4u|sparc64)
arch="sparc64" arch="sparc64"
enable fast_64bit
;; ;;
sparc) sparc)
arch="sparc" arch="sparc"
...@@ -982,8 +990,12 @@ case "$arch" in ...@@ -982,8 +990,12 @@ case "$arch" in
sh4) sh4)
arch="sh4" arch="sh4"
;; ;;
parisc|parisc64) parisc)
arch="parisc"
;;
parisc64)
arch="parisc" arch="parisc"
enable fast_64bit
;; ;;
s390|s390x) s390|s390x)
arch="s390" arch="s390"
...@@ -993,6 +1005,7 @@ case "$arch" in ...@@ -993,6 +1005,7 @@ case "$arch" in
;; ;;
ia64) ia64)
arch="ia64" arch="ia64"
enable fast_64bit
;; ;;
bfin) bfin)
arch="bfin" arch="bfin"
......
...@@ -78,13 +78,13 @@ ...@@ -78,13 +78,13 @@
static inline void idctRowCondDC (DCTELEM * row) static inline void idctRowCondDC (DCTELEM * row)
{ {
int a0, a1, a2, a3, b0, b1, b2, b3; int a0, a1, a2, a3, b0, b1, b2, b3;
#ifdef FAST_64BIT #ifdef HAVE_FAST_64BIT
uint64_t temp; uint64_t temp;
#else #else
uint32_t temp; uint32_t temp;
#endif #endif
#ifdef FAST_64BIT #ifdef HAVE_FAST_64BIT
#ifdef WORDS_BIGENDIAN #ifdef WORDS_BIGENDIAN
#define ROW0_MASK 0xffff000000000000LL #define ROW0_MASK 0xffff000000000000LL
#else #else
...@@ -146,7 +146,7 @@ static inline void idctRowCondDC (DCTELEM * row) ...@@ -146,7 +146,7 @@ static inline void idctRowCondDC (DCTELEM * row)
MUL16(b3, W7, row[1]); MUL16(b3, W7, row[1]);
MAC16(b3, -W5, row[3]); MAC16(b3, -W5, row[3]);
#ifdef FAST_64BIT #ifdef HAVE_FAST_64BIT
temp = ((uint64_t*)row)[1]; temp = ((uint64_t*)row)[1];
#else #else
temp = ((uint32_t*)row)[2] | ((uint32_t*)row)[3]; temp = ((uint32_t*)row)[2] | ((uint32_t*)row)[3];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment