enable some 64bit optimized code on 64bit arch

Originally committed as revision 8155 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Aurelien Jacobs 2007-02-28 00:55:19 +00:00
parent 42a4ca83ea
commit c2a29455e3
2 changed files with 18 additions and 5 deletions

17
configure vendored
View File

@ -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,9 +990,13 @@ 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"

View File

@ -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];