mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-12 10:29:39 +00:00
* 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
This commit is contained in:
parent
ec62c38fd5
commit
19d053c5ba
8
configure
vendored
8
configure
vendored
@ -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
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
Loading…
Reference in New Issue
Block a user