diff options
author | Loren Merritt <pengvado@akuvian.org> | 2013-06-30 22:56:58 +0000 |
---|---|---|
committer | Loren Merritt <pengvado@akuvian.org> | 2013-06-30 23:11:19 +0000 |
commit | 1221bb623978c013046bcb8e5af7f6b9b418a10e (patch) | |
tree | c01aa35257f1e2b3cd8b88b6e9b87ac4af97b67f | |
parent | 6765ee7b9cba46818a45b051438b2552f0a1b70a (diff) | |
download | ffmpeg-1221bb623978c013046bcb8e5af7f6b9b418a10e.tar.gz |
x86: lpc: fix a segfault in av_evaluate_lls_sse2()
-rw-r--r-- | libavcodec/lpc.c | 2 | ||||
-rw-r--r-- | libavutil/x86/lls.asm | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/lpc.c b/libavcodec/lpc.c index 995e4e2ad4..fbd1bdf002 100644 --- a/libavcodec/lpc.c +++ b/libavcodec/lpc.c @@ -221,7 +221,7 @@ int ff_lpc_calc_coefs(LPCContext *s, if(pass){ double eval, inv, rinv; - eval= m[(pass-1)&1].evaluate_lls(&m[(pass-1)&1], var+1, max_order-1); + eval= m[pass&1].evaluate_lls(&m[(pass-1)&1], var+1, max_order-1); eval= (512>>pass) + fabs(eval - var[0]); inv = 1/eval; rinv = sqrt(inv); diff --git a/libavutil/x86/lls.asm b/libavutil/x86/lls.asm index 92b7f955c2..058a7dcbbd 100644 --- a/libavutil/x86/lls.asm +++ b/libavutil/x86/lls.asm @@ -197,7 +197,7 @@ cglobal update_lls, 3,6,8, ctx, var, count, i, j, count2 INIT_XMM sse2 -cglobal evaluate_lls, 2,4,2, ctx, var, order, i +cglobal evaluate_lls, 3,4,2, ctx, var, order, i ; This function is often called on the same buffer as update_lls, but with ; an offset. They can't both be aligned. ; Load halves rather than movu to avoid store-forwarding stalls, since the |