ffmpeg | branch: master | Michael Niedermayer <michae...@gmx.at> | Mon Jul 6 19:11:42 2015 +0200| [a3a61d4663ab7f2a26dd6d246d3884a166c8c626] | committer: Michael Niedermayer
avcodec/lpc: Fix lpc_apply_welch_window_c() for odd len Also removes assert this fixes an assertion failure on non-x86 Signed-off-by: Michael Niedermayer <michae...@gmx.at> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a3a61d4663ab7f2a26dd6d246d3884a166c8c626 --- libavcodec/lpc.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/libavcodec/lpc.c b/libavcodec/lpc.c index deb02e7..07fc292 100644 --- a/libavcodec/lpc.c +++ b/libavcodec/lpc.c @@ -37,13 +37,19 @@ static void lpc_apply_welch_window_c(const int32_t *data, int len, double w; double c; - /* The optimization in commit fa4ed8c does not support odd len. - * If someone wants odd len extend that change. */ - av_assert2(!(len & 1)); - n2 = (len >> 1); c = 2.0 / (len - 1.0); + if (len & 1) { + for(i=0; i<n2; i++) { + w = c - i - 1.0; + w = 1.0 - (w * w); + w_data[i] = data[i] * w; + w_data[len-1-i] = data[len-1-i] * w; + } + return; + } + w_data+=n2; data+=n2; for(i=0; i<n2; i++) { _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog