[FFmpeg-devel] [PATCH] avcodec/truespeech: Eliminate some left shifts

Michael Niedermayer michael at niedermayer.cc
Tue Sep 24 13:26:50 EEST 2019


On Sun, Sep 22, 2019 at 09:02:00AM +0000, Andreas Rheinhardt wrote:
> Michael Niedermayer:
> > This avoids some invalid shifts
> > 
> > Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> > ---
> >  libavcodec/truespeech.c | 7 +++----
> >  1 file changed, 3 insertions(+), 4 deletions(-)
> > 
> > diff --git a/libavcodec/truespeech.c b/libavcodec/truespeech.c
> > index d4ddfcbf9c..54352851b3 100644
> > --- a/libavcodec/truespeech.c
> > +++ b/libavcodec/truespeech.c
> > @@ -132,8 +132,7 @@ static void truespeech_correlate_filter(TSContext *dec)
> >          if(i > 0){
> >              memcpy(tmp, dec->cvector, i * sizeof(*tmp));
> >              for(j = 0; j < i; j++)
> > -                dec->cvector[j] = ((tmp[i - j - 1] * dec->vector[i]) +
> > -                                   (dec->cvector[j] << 15) + 0x4000) >> 15;
> > +                dec->cvector[j] += (tmp[i - j - 1] * dec->vector[i] + 0x4000) >> 15;
> >          }
> >          dec->cvector[i] = (8 - dec->vector[i]) >> 3;
> >      }
> > @@ -256,7 +255,7 @@ static void truespeech_synth(TSContext *dec, int16_t *out, int quart)
> >          int sum = 0;
> >          for(k = 0; k < 8; k++)
> >              sum += ptr0[k] * ptr1[k];
> > -        sum = (sum + (out[i] << 12) + 0x800) >> 12;
> > +        sum = out[i] + ((sum + 0x800) >> 12);
> >          out[i] = av_clip(sum, -0x7FFE, 0x7FFE);
> >          for(k = 7; k > 0; k--)
> >              ptr0[k] = ptr0[k - 1];
> > @@ -274,7 +273,7 @@ static void truespeech_synth(TSContext *dec, int16_t *out, int quart)
> >          for(k = 7; k > 0; k--)
> >              ptr0[k] = ptr0[k - 1];
> >          ptr0[0] = out[i];
> > -        out[i] = ((out[i] << 12) - sum) >> 12;
> > +        out[i] += (- sum) >> 12;
> >      }
> >  
> >      for(i = 0; i < 8; i++)
> > 
> LGTM.

will apply

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

"Nothing to hide" only works if the folks in power share the values of
you and everyone you know entirely and always will -- Tom Scott

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190924/da0eb077/attachment.sig>


More information about the ffmpeg-devel mailing list