diff options
author | Roman Shaposhnik <roman@shaposhnik.org> | 2003-11-04 19:35:43 +0000 |
---|---|---|
committer | Roman Shaposhnik <roman@shaposhnik.org> | 2003-11-04 19:35:43 +0000 |
commit | 19d053c5ba6c250ef8a9675bf803cb744085d2f1 (patch) | |
tree | 0ef52a1910e857e48c4d534f496a2c93e64cdab6 | |
parent | ec62c38fd57d8276e235ca7d95d785850dc93bf8 (diff) | |
download | ffmpeg-19d053c5ba6c250ef8a9675bf803cb744085d2f1.tar.gz |
* fixes for broken builds on Solaris, OS2 and all bingendian
systems out there.
Originally committed as revision 2480 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rwxr-xr-x | configure | 8 | ||||
-rw-r--r-- | libavcodec/common.h | 16 | ||||
-rw-r--r-- | libavcodec/dsputil.h | 6 | ||||
-rw-r--r-- | libavformat/asf.c | 4 | ||||
-rw-r--r-- | libavformat/avidec.c | 4 |
5 files changed, 21 insertions, 17 deletions
@@ -970,13 +970,7 @@ if test "$bigendian" = "yes" ; then echo "#define WORDS_BIGENDIAN 1" >> $TMPH fi if test "$emu_fast_int" = "yes" ; then -#note, we dont try to emulate fast64 - echo "typedef signed char int_fast8_t;" >> $TMPH - echo "typedef signed int int_fast16_t;" >> $TMPH - echo "typedef signed int int_fast32_t;" >> $TMPH - echo "typedef unsigned char uint_fast8_t;" >> $TMPH - echo "typedef unsigned int uint_fast16_t;" >> $TMPH - echo "typedef unsigned int uint_fast32_t;" >> $TMPH + echo "#define EMULATE_FAST_INT 1" >> $TMPH fi if test "$mmx" = "yes" ; then echo "TARGET_MMX=yes" >> config.mak diff --git a/libavcodec/common.h b/libavcodec/common.h index a46a010aaa..f41edee4e6 100644 --- a/libavcodec/common.h +++ b/libavcodec/common.h @@ -82,6 +82,22 @@ extern const struct AVOption avoptions_workaround_bug[11]; # define always_inline inline #endif +#ifdef EMULATE_FAST_INT +/* note that we don't emulate 64bit ints */ +typedef signed char int_fast8_t; +typedef signed int int_fast16_t; +typedef signed int int_fast32_t; +typedef unsigned char uint_fast8_t; +typedef unsigned int uint_fast16_t; +typedef unsigned int uint_fast32_t; +#endif + +#if defined(CONFIG_OS2) || defined(CONFIG_SUNOS) +static inline float floorf(float f) { + return floor(f); +} +#endif + #ifdef CONFIG_WIN32 /* windows */ diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h index 744182d628..0611f7cb78 100644 --- a/libavcodec/dsputil.h +++ b/libavcodec/dsputil.h @@ -502,10 +502,4 @@ static inline long int lrintf(float x) } #endif -#if defined(CONFIG_OS2) || defined(CONFIG_SUNOS) -static inline float floorf(float f) { - return floor(f); -} -#endif - #endif diff --git a/libavformat/asf.c b/libavformat/asf.c index b069b1d086..06e2ebe855 100644 --- a/libavformat/asf.c +++ b/libavformat/asf.c @@ -915,8 +915,8 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap) if (st->codec.extradata_size && (st->codec.bits_per_sample <= 8)) { st->codec.palctrl = av_mallocz(sizeof(AVPaletteControl)); #ifdef WORDS_BIGENDIAN - for (i = 0; i < FFMIN(st->codec.extradata_size / 4, 256); i++) - st->codec.palctrl->palette[i] = bswap_32(st->codec.extradata)[i * 4]); + for (i = 0; i < FFMIN(st->codec.extradata_size, AVPALETTE_SIZE)/4; i++) + st->codec.palctrl->palette[i] = bswap_32(((uint32_t*)st->codec.extradata)[i]); #else memcpy(st->codec.palctrl->palette, st->codec.extradata, FFMIN(st->codec.extradata_size, AVPALETTE_SIZE)); diff --git a/libavformat/avidec.c b/libavformat/avidec.c index c135202720..b967e4d36e 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -249,8 +249,8 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) if (st->codec.extradata_size && (st->codec.bits_per_sample <= 8)) { st->codec.palctrl = av_mallocz(sizeof(AVPaletteControl)); #ifdef WORDS_BIGENDIAN - for (i = 0; i < FFMIN(st->codec.extradata_size / 4, 256); i++) - st->codec.palctrl->palette[i] = bswap_32(st->codec.extradata)[i * 4]); + for (i = 0; i < FFMIN(st->codec.extradata_size, AVPALETTE_SIZE)/4; i++) + st->codec.palctrl->palette[i] = bswap_32(((uint32_t*)st->codec.extradata)[i]); #else memcpy(st->codec.palctrl->palette, st->codec.extradata, FFMIN(st->codec.extradata_size, AVPALETTE_SIZE)); |