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, \ | ||||