[FFmpeg-cvslog] avutil/softfloat: add some asserts

Michael Niedermayer git at videolan.org
Thu Oct 9 17:09:17 CEST 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu Oct  9 17:02:59 2014 +0200| [99afec08f8a107ed6026aa99956d648884bb0792] | committer: Michael Niedermayer

avutil/softfloat: add some asserts

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=99afec08f8a107ed6026aa99956d648884bb0792
---

 libavutil/softfloat.h |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavutil/softfloat.h b/libavutil/softfloat.h
index 04c79bf..fc083e5 100644
--- a/libavutil/softfloat.h
+++ b/libavutil/softfloat.h
@@ -24,6 +24,8 @@
 #include <stdint.h>
 #include "common.h"
 
+#include "avassert.h"
+
 #define MIN_EXP -126
 #define MAX_EXP  126
 #define ONE_BITS 29
@@ -61,6 +63,7 @@ static inline av_const SoftFloat av_normalize1_sf(SoftFloat a){
         a.exp++;
         a.mant>>=1;
     }
+    av_assert2(a.mant < 0x40000000 && a.mant > -0x40000000);
     return a;
 #elif 1
     int t= a.mant + 0x40000000 < 0;
@@ -78,6 +81,7 @@ static inline av_const SoftFloat av_normalize1_sf(SoftFloat a){
  */
 static inline av_const SoftFloat av_mul_sf(SoftFloat a, SoftFloat b){
     a.exp += b.exp;
+    av_assert2((int32_t)((a.mant * (int64_t)b.mant) >> ONE_BITS) == (a.mant * (int64_t)b.mant) >> ONE_BITS);
     a.mant = (a.mant * (int64_t)b.mant) >> ONE_BITS;
     return av_normalize1_sf(a);
 }



More information about the ffmpeg-cvslog mailing list