aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Flerackers <cflerackers@androme.be>2004-01-09 18:00:31 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-01-09 18:00:31 +0000
commit7f965c1c896e7ea6ec249e042147f3eb905bda7b (patch)
tree24a844089e3d1522587920d80b9718c0aabfcbfa
parent84f986c0f42a2553122713575c7256c9babe2854 (diff)
downloadffmpeg-7f965c1c896e7ea6ec249e042147f3eb905bda7b.tar.gz
inttypes emulation cleanup patch by ("Chris Flerackers" <cflerackers at androme dot be>)
Originally committed as revision 2681 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rwxr-xr-xconfigure16
-rw-r--r--libavcodec/common.h32
2 files changed, 35 insertions, 13 deletions
diff --git a/configure b/configure
index b99534ad98..d1c306ca9b 100755
--- a/configure
+++ b/configure
@@ -148,6 +148,7 @@ debug="yes"
extralibs="-lm"
simpleidct="yes"
bigendian="no"
+inttypes="yes"
emu_fast_int="no"
vhook="default"
dlfcn="no"
@@ -634,6 +635,17 @@ fi
fi
# ---
+# *inttypes.h* test
+cat > $TMPC << EOF
+#include <inttypes.h>
+int main(int argc, char ** argv){
+ return 0;
+}
+EOF
+
+$cc -o $TMPE $TMPC 2>/dev/null || inttypes="no"
+
+# ---
# *int_fast* test
cat > $TMPC << EOF
#include <inttypes.h>
@@ -870,6 +882,7 @@ echo "C compiler $cc"
echo "make $make"
echo "CPU $cpu ($tune)"
echo "Big Endian $bigendian"
+echo "inttypes.h $inttypes"
echo "broken inttypes.h $emu_fast_int"
if test $cpu = "x86"; then
echo "MMX enabled $mmx"
@@ -972,6 +985,9 @@ if test "$bigendian" = "yes" ; then
echo "WORDS_BIGENDIAN=yes" >> config.mak
echo "#define WORDS_BIGENDIAN 1" >> $TMPH
fi
+if test "$inttypes" = "yes" ; then
+ echo "#define HAVE_INTTYPES_H 1" >> $TMPH
+fi
if test "$emu_fast_int" = "yes" ; then
echo "#define EMULATE_FAST_INT 1" >> $TMPH
fi
diff --git a/libavcodec/common.h b/libavcodec/common.h
index 385372f792..ee5a4cbd82 100644
--- a/libavcodec/common.h
+++ b/libavcodec/common.h
@@ -82,6 +82,25 @@ extern const struct AVOption avoptions_workaround_bug[11];
# define always_inline inline
#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+ typedef signed char int8_t;
+ typedef signed short int16_t;
+ typedef signed int int32_t;
+ typedef unsigned char uint8_t;
+ typedef unsigned short uint16_t;
+ typedef unsigned int uint32_t;
+
+# ifdef CONFIG_WIN32
+ typedef signed __int64 int64_t;
+ typedef unsigned __int64 uint64_t;
+# else /* other OS */
+ typedef signed long long int64_t;
+ typedef unsigned long long uint64_t;
+# endif /* other OS */
+#endif /* HAVE_INTTYPES_H */
+
#ifdef EMULATE_FAST_INT
/* note that we don't emulate 64bit ints */
typedef signed char int_fast8_t;
@@ -102,15 +121,6 @@ static inline float floorf(float f) {
/* windows */
-typedef unsigned short uint16_t;
-typedef signed short int16_t;
-typedef unsigned char uint8_t;
-typedef unsigned int uint32_t;
-typedef unsigned __int64 uint64_t;
-typedef signed char int8_t;
-typedef signed int int32_t;
-typedef signed __int64 int64_t;
-
# ifndef __MINGW32__
# define int64_t_C(c) (c ## i64)
# define uint64_t_C(c) (c ## i64)
@@ -137,8 +147,6 @@ typedef signed __int64 int64_t;
#elif defined (CONFIG_OS2)
/* OS/2 EMX */
-#include <inttypes.h>
-
#ifndef int64_t_C
#define int64_t_C(c) (c ## LL)
#define uint64_t_C(c) (c ## ULL)
@@ -159,8 +167,6 @@ typedef signed __int64 int64_t;
/* unix */
-#include <inttypes.h>
-
#ifndef int64_t_C
#define int64_t_C(c) (c ## LL)
#define uint64_t_C(c) (c ## ULL)