# HG changeset patch # User vitor # Date 1216872470 0 # Node ID 61df1ddb10016056007cd24072b0b3584d19f599 # Parent b0d8a3985f969e9b36db8d2610a5e354c156d9ff Follow FFmpeg convention of returning negative values on error in eval_lpc_coeffs() diff -r b0d8a3985f96 -r 61df1ddb1001 ra288.c --- a/ra288.c Thu Jul 24 04:05:41 2008 +0000 +++ b/ra288.c Thu Jul 24 04:07:50 2008 +0000 @@ -101,7 +101,7 @@ * Converts autocorrelation coefficients to LPC coefficients using the * Levinson-Durbin algorithm. See blocks 37 and 50 of the G.728 specification. * - * @return 1 if success, 0 if fail + * @return 0 if success, -1 if fail */ static int eval_lpc_coeffs(const float *in, float *tgt, int n) { @@ -109,10 +109,10 @@ double f0, f1, f2; if (in[n] == 0) - return 0; + return -1; if ((f0 = *in) <= 0) - return 0; + return -1; in--; // To avoid a -1 subtraction in the inner loop @@ -129,10 +129,10 @@ tgt[y] = temp; } if ((f0 += f1*f2) < 0) - return 0; + return -1; } - return 1; + return 0; } /* product sum (lsf) */ @@ -195,7 +195,7 @@ do_hybrid_window(36, 40, 35, buffer1, temp1, glob->st1a, glob->st1b, syn_window); - if (eval_lpc_coeffs(temp1, glob->st1, 36)) + if (!eval_lpc_coeffs(temp1, glob->st1, 36)) colmult(glob->pr1, glob->st1, table1a, 36); memcpy(buffer2 , glob->history + 4, 4*sizeof(*buffer2)); @@ -204,7 +204,7 @@ do_hybrid_window(10, 8, 20, buffer2, temp2, glob->st2a, glob->st2b, gain_window); - if (eval_lpc_coeffs(temp2, glob->st2, 10)) + if (!eval_lpc_coeffs(temp2, glob->st2, 10)) colmult(glob->pr2, glob->st2, table2a, 10); }