diff --git a/libavutil/softfloat.h b/libavutil/softfloat.h index fa91d1e1cb..e6d30ad333 100644 --- a/libavutil/softfloat.h +++ b/libavutil/softfloat.h @@ -50,8 +50,7 @@ static const SoftFloat FLOAT_0999999 = { 0x3FFFFBCE, 0}; */ static inline av_const double av_sf2double(SoftFloat v) { v.exp -= ONE_BITS +1; - if(v.exp > 0) return (double)v.mant * (double)(1 << v.exp); - else return (double)v.mant / (double)(1 << (-v.exp)); + return ldexp(v.mant, v.exp); } static av_const SoftFloat av_normalize_sf(SoftFloat a){