On 08.11.2015 00:54, Michael Niedermayer wrote: > On Sun, Nov 08, 2015 at 12:08:54AM +0100, Andreas Cadhalpun wrote: >> Otherwise (0x20000000, 1) + (0, 33) gives (0, 33), i.e. 1 + 0 = 0. >> >> This fixes a division by zero in the aac_fixed decoder. >> >> Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> >> --- >> libavutil/softfloat.h | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/libavutil/softfloat.h b/libavutil/softfloat.h >> index e87cbf4..fefde8c 100644 >> --- a/libavutil/softfloat.h >> +++ b/libavutil/softfloat.h >> @@ -130,7 +130,9 @@ static inline av_const int av_gt_sf(SoftFloat a, >> SoftFloat b) >> >> static inline av_const SoftFloat av_add_sf(SoftFloat a, SoftFloat b){ >> int t= a.exp - b.exp; >> - if (t <-31) return b; >> + if (a.mant == 0) return b; >> + else if (b.mant == 0) return a; > > this looks strange > 0 should probably have the minimum exponent not 33
Probably it should, but before commits a66b243 and dcf1cf5 it hadn't. > now if you want to support denormalized numbers, that is ones that > have exponents larger than needed then this patch is not sufficient > the same problem would arrise with non 0 mantisses too if their > exponents arent minimal I don't really want to support denormalized numbers, it just shouldn't crash. Your fixes are fine, patch dropped. Best regards, Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel