nlsf can be negative, but a negative index for silk_cosine doesn't work. --- libavcodec/opus_silk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/opus_silk.c b/libavcodec/opus_silk.c index 841d1ed..3ac83b8 100644 --- a/libavcodec/opus_silk.c +++ b/libavcodec/opus_silk.c @@ -941,7 +941,7 @@ static void silk_lsf2lpc(const int16_t nlsf[16], float lpcf[16], int order) /* convert the LSFs to LSPs, i.e. 2*cos(LSF) */ for (k = 0; k < order; k++) { - int index = nlsf[k] >> 8; + int index = FFABS(nlsf[k]) >> 8; int offset = nlsf[k] & 255; int k2 = (order == 10) ? silk_lsf_ordering_nbmb[k] : silk_lsf_ordering_wb[k]; -- 2.6.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel