On Thu, Nov 12, 2015 at 08:51:28PM +0100, Andreas Cadhalpun wrote: > On 11.11.2015 23:19, Michael Niedermayer wrote: > > On Wed, Nov 11, 2015 at 09:31:18PM +0100, Andreas Cadhalpun wrote: > >> On 11.11.2015 14:55, Michael Niedermayer wrote: > >>> On Sun, Nov 08, 2015 at 10:02:56PM +0100, Andreas Cadhalpun wrote: > >>>> This fixes a SIGFPE crash in the aac_fixed decoder. > >>>> > >>>> Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> > >>>> --- > >>>> libavcodec/aacsbr_fixed.c | 4 ++-- > >>>> 1 file changed, 2 insertions(+), 2 deletions(-) > >>>> > >>>> diff --git a/libavcodec/aacsbr_fixed.c b/libavcodec/aacsbr_fixed.c > >>>> index f942d74..efe40f2 100644 > >>>> --- a/libavcodec/aacsbr_fixed.c > >>>> +++ b/libavcodec/aacsbr_fixed.c > >>>> @@ -434,8 +434,8 @@ static void sbr_gain_calc(AACContext *ac, > >>>> SpectralBandReplication *sbr, > >>>> gain_max = FLOAT_100000; > >>>> for (m = sbr->f_tablelim[k] - sbr->kx[1]; m < > >>>> sbr->f_tablelim[k + 1] - sbr->kx[1]; m++) { > >>>> SoftFloat q_m_max = av_div_sf( > >>>> - av_mul_sf(sbr->q_m[e][m], > >>>> gain_max), > >>>> - sbr->gain[e][m]); > >>>> + av_add_sf(FLOAT_EPSILON, > >>>> av_mul_sf(sbr->q_m[e][m], gain_max)), > >>>> + av_add_sf(FLOAT_EPSILON, > >>>> sbr->gain[e][m])); > >>> > >>> is gain == 0 here ? > >> > >> Yes: sbr->gain[e][m] == {mant = 0, exp = -126} > >> > >>> isnt that invalid ? > >> > >> I'm not sure, but it can happen, when q_mapped is very small, which can be > >> caused by noise_facs becoming tiny in sbr_dequant. > >> That's kind of the opposite problem of 'envelope scalefactors overflowing'. > > > > sbr_dequant() does not look like it can set noise_facs to 0 > > except by underflow of the exponent range > > That's exactly what happens. > > > that "has" to be invalid as this depends on the implementation > > So should sbr_dequant error out instead? > If so, what's the minimal value it should accept?
I dont know the valid range, and i doubt the spec lists this so picking what causes a problem (0) would be the easy solution thats what i would suggest in absence of other suggestions [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The misfortune of the wise is better than the prosperity of the fool. -- Epicurus
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel