X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fopus_silk.c;h=2fcbf3b9d3ce6533aa73d98d252309fdb12f0a77;hb=44085b9951b06df1cab4105dcda004213988d84f;hp=344333cc180f05d7833b9ee48fe90091bad1b39c;hpb=33bd2b99a1c2cf3fc8b810a11c6615a37d9f9cf4;p=ffmpeg diff --git a/libavcodec/opus_silk.c b/libavcodec/opus_silk.c index 344333cc180..2fcbf3b9d3c 100644 --- a/libavcodec/opus_silk.c +++ b/libavcodec/opus_silk.c @@ -239,8 +239,10 @@ static void silk_lsf2lpc(const int16_t nlsf[16], float lpcf[16], int order) /* reconstruct A(z) */ for (k = 0; k < order>>1; k++) { - lpc32[k] = -p[k + 1] - p[k] - q[k + 1] + q[k]; - lpc32[order-k-1] = -p[k + 1] - p[k] + q[k + 1] - q[k]; + int32_t p_tmp = p[k + 1] + p[k]; + int32_t q_tmp = q[k + 1] - q[k]; + lpc32[k] = -q_tmp - p_tmp; + lpc32[order-k-1] = q_tmp - p_tmp; } /* limit the range of the LPC coefficients to each fit within an int16_t */