mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2025-02-14 17:49:46 +00:00
Move lrintf implementation from libavcodec/dsputil.h to libavutil/common.h
where it makes more sense. Originally committed as revision 4599 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
0f88407075
commit
7df6545556
@ -594,33 +594,4 @@ static int name16(void /*MpegEncContext*/ *s, uint8_t *dst, uint8_t *src, int st
|
|||||||
return score;\
|
return score;\
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef HAVE_LRINTF
|
|
||||||
/* XXX: add ISOC specific test to avoid specific BSD testing. */
|
|
||||||
/* better than nothing implementation. */
|
|
||||||
/* btw, rintf() is existing on fbsd too -- alex */
|
|
||||||
static always_inline long int lrintf(float x)
|
|
||||||
{
|
|
||||||
#ifdef CONFIG_WIN32
|
|
||||||
# ifdef ARCH_X86
|
|
||||||
int32_t i;
|
|
||||||
asm volatile(
|
|
||||||
"fistpl %0\n\t"
|
|
||||||
: "=m" (i) : "t" (x) : "st"
|
|
||||||
);
|
|
||||||
return i;
|
|
||||||
# else
|
|
||||||
/* XXX: incorrect, but make it compile */
|
|
||||||
return (int)(x + (x < 0 ? -0.5 : 0.5));
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
return (int)(rint(x));
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
#ifndef _ISOC9X_SOURCE
|
|
||||||
#define _ISOC9X_SOURCE
|
|
||||||
#endif
|
|
||||||
#include <math.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -543,6 +543,35 @@ tend= read_time();\
|
|||||||
}\
|
}\
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef HAVE_LRINTF
|
||||||
|
/* XXX: add ISOC specific test to avoid specific BSD testing. */
|
||||||
|
/* better than nothing implementation. */
|
||||||
|
/* btw, rintf() is existing on fbsd too -- alex */
|
||||||
|
static always_inline long int lrintf(float x)
|
||||||
|
{
|
||||||
|
#ifdef CONFIG_WIN32
|
||||||
|
# ifdef ARCH_X86
|
||||||
|
int32_t i;
|
||||||
|
asm volatile(
|
||||||
|
"fistpl %0\n\t"
|
||||||
|
: "=m" (i) : "t" (x) : "st"
|
||||||
|
);
|
||||||
|
return i;
|
||||||
|
# else
|
||||||
|
/* XXX: incorrect, but make it compile */
|
||||||
|
return (int)(x + (x < 0 ? -0.5 : 0.5));
|
||||||
|
# endif /* ARCH_X86 */
|
||||||
|
#else
|
||||||
|
return (int)(rint(x));
|
||||||
|
#endif /* CONFIG_WIN32 */
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#ifndef _ISOC9X_SOURCE
|
||||||
|
#define _ISOC9X_SOURCE
|
||||||
|
#endif
|
||||||
|
#include <math.h>
|
||||||
|
#endif /* HAVE_LRINTF */
|
||||||
|
|
||||||
#endif /* HAVE_AV_CONFIG_H */
|
#endif /* HAVE_AV_CONFIG_H */
|
||||||
|
|
||||||
#endif /* COMMON_H */
|
#endif /* COMMON_H */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user