Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>tags/n3.2
@@ -15,6 +15,9 @@ libavutil: 2015-08-28 | |||||
API changes, most recent first: | 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 | 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 | Decoders now export the frame timestamp as AVFrame.pts. It was | ||||
previously exported as AVFrame.pkt_pts, which is now deprecated. | previously exported as AVFrame.pkt_pts, which is now deprecated. | ||||
@@ -59,8 +59,17 @@ | |||||
*/ | */ | ||||
#if defined(ASSERT_LEVEL) && ASSERT_LEVEL > 1 | #if defined(ASSERT_LEVEL) && ASSERT_LEVEL > 1 | ||||
#define av_assert2(cond) av_assert0(cond) | #define av_assert2(cond) av_assert0(cond) | ||||
#define av_assert2_fpu() av_assert0_fpu() | |||||
#else | #else | ||||
#define av_assert2(cond) ((void)0) | #define av_assert2(cond) ((void)0) | ||||
#define av_assert2_fpu() ((void)0) | |||||
#endif | #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 */ | #endif /* AVUTIL_AVASSERT_H */ |
@@ -125,3 +125,16 @@ AVRational av_get_time_base_q(void) | |||||
{ | { | ||||
return (AVRational){1, AV_TIME_BASE}; | 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_MAJOR 55 | ||||
#define LIBAVUTIL_VERSION_MINOR 32 | |||||
#define LIBAVUTIL_VERSION_MINOR 33 | |||||
#define LIBAVUTIL_VERSION_MICRO 100 | #define LIBAVUTIL_VERSION_MICRO 100 | ||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | ||||