[FFmpeg-devel] [PATCH 1/3] avcodec/lpc: check for zero err in normalization in compute_lpc_coefs()
Anton Khirnov
anton at khirnov.net
Sat Jun 5 19:12:47 EEST 2021
Quoting Michael Niedermayer (2021-06-05 16:14:24)
> On Sat, Jun 05, 2021 at 03:44:49PM +0200, Anton Khirnov wrote:
> > Quoting Michael Niedermayer (2021-06-01 09:33:13)
> > > Fixes: floating point division by 0
> > > Fixes: Ticket8213
> > >
> > > Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> > > ---
> > > libavcodec/lpc.h | 3 ++-
> > > 1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/libavcodec/lpc.h b/libavcodec/lpc.h
> > > index 52170fd623..c99e568794 100644
> > > --- a/libavcodec/lpc.h
> > > +++ b/libavcodec/lpc.h
> > > @@ -186,7 +186,8 @@ static inline int AAC_RENAME(compute_lpc_coefs)(const LPC_TYPE *autoc, int max_o
> > > for(j=0; j<i; j++)
> > > r -= lpc_last[j] * autoc[i-j-1];
> > >
> > > - r /= err;
> > > + if (r || err)
> >
> > Why check for non-zero r?
>
> The idea was to make it clear what the case was that this checked for
> i can drop the r check if you prefer ?
So something guarantees that when r is non-zero then err is also
non-zero? It's not obvious to me, but I don't understand that code.
Maybe a comment would be enough.
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list