From 1221bb623978c013046bcb8e5af7f6b9b418a10e Mon Sep 17 00:00:00 2001 From: Loren Merritt Date: Sun, 30 Jun 2013 22:56:58 +0000 Subject: [PATCH] x86: lpc: fix a segfault in av_evaluate_lls_sse2() --- libavcodec/lpc.c | 2 +- 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