avutil/softfloat: Fix av_gt_sf() with large exponents try #2
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 05b05a7a841c0c67cce319941104d6f11b9ecd84) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
0f9c617979
commit
6581e40e1a
@ -128,10 +128,10 @@ static inline av_const int av_cmp_sf(SoftFloat a, SoftFloat b){
|
|||||||
static inline av_const int av_gt_sf(SoftFloat a, SoftFloat b)
|
static inline av_const int av_gt_sf(SoftFloat a, SoftFloat b)
|
||||||
{
|
{
|
||||||
int t= a.exp - b.exp;
|
int t= a.exp - b.exp;
|
||||||
if (t <-31) return 0;
|
if (t <-31) return 0 > b.mant ;
|
||||||
else if (t < 0) return (a.mant >> (-t)) > b.mant ;
|
else if (t < 0) return (a.mant >> (-t)) > b.mant ;
|
||||||
else if (t < 32) return a.mant > (b.mant >> t);
|
else if (t < 32) return a.mant > (b.mant >> t);
|
||||||
else return 1;
|
else return a.mant > 0 ;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline av_const SoftFloat av_add_sf(SoftFloat a, SoftFloat b){
|
static inline av_const SoftFloat av_add_sf(SoftFloat a, SoftFloat b){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user