mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-08 13:22:53 +02:00
avutil/avassert: Add av_assertX_fpu()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
2c1d38d1e1
commit
f5495c970c
@ -15,6 +15,9 @@ libavutil: 2015-08-28
|
||||
|
||||
API changes, most recent first:
|
||||
|
||||
2016-10-22 - xxxxxxx - lavu 55.33.100 - avassert.h
|
||||
Add av_assert0_fpu() / av_assert2_fpu()
|
||||
|
||||
2016-xx-xx - xxxxxxx - lavc 57.61.100 / lavc 57.24.0 - avcodec.h
|
||||
Decoders now export the frame timestamp as AVFrame.pts. It was
|
||||
previously exported as AVFrame.pkt_pts, which is now deprecated.
|
||||
|
@ -59,8 +59,17 @@
|
||||
*/
|
||||
#if defined(ASSERT_LEVEL) && ASSERT_LEVEL > 1
|
||||
#define av_assert2(cond) av_assert0(cond)
|
||||
#define av_assert2_fpu() av_assert0_fpu()
|
||||
#else
|
||||
#define av_assert2(cond) ((void)0)
|
||||
#define av_assert2_fpu() ((void)0)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Assert that floating point opperations can be executed.
|
||||
*
|
||||
* This will av_assert0() that the cpu is not in MMX state on X86
|
||||
*/
|
||||
void av_assert0_fpu(void);
|
||||
|
||||
#endif /* AVUTIL_AVASSERT_H */
|
||||
|
@ -125,3 +125,16 @@ AVRational av_get_time_base_q(void)
|
||||
{
|
||||
return (AVRational){1, AV_TIME_BASE};
|
||||
}
|
||||
|
||||
void av_assert0_fpu(void) {
|
||||
#if HAVE_MMX_INLINE
|
||||
uint16_t state[14];
|
||||
__asm volatile (
|
||||
"fstenv %0 \n\t"
|
||||
: "+m" (state)
|
||||
:
|
||||
: "memory"
|
||||
);
|
||||
av_assert0((state[4] & 3) == 3);
|
||||
#endif
|
||||
}
|
||||
|
@ -79,7 +79,7 @@
|
||||
*/
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 55
|
||||
#define LIBAVUTIL_VERSION_MINOR 32
|
||||
#define LIBAVUTIL_VERSION_MINOR 33
|
||||
#define LIBAVUTIL_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user