Merge commit 'c93ccf5a4cca722b39f05e9f5660b4cb75bc1740'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 30 Jun 2013 10:20:12 +0000 (12:20 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 30 Jun 2013 10:26:58 +0000 (12:26 +0200)
* commit 'c93ccf5a4cca722b39f05e9f5660b4cb75bc1740':
  lpc: use levinson for the first pass of multipass cholesky

Conflicts:
libavcodec/lpc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/lpc.c

@@@ -177,10 -176,10 +177,10 @@@ int ff_lpc_calc_coefs(LPCContext *s
      double autoc[MAX_LPC_ORDER+1];
      double ref[MAX_LPC_ORDER];
      double lpc[MAX_LPC_ORDER][MAX_LPC_ORDER];
-     int i, j, pass;
+     int i, j, pass = 0;
      int opt_order;
  
 -    assert(max_order >= MIN_LPC_ORDER && max_order <= MAX_LPC_ORDER &&
 +    av_assert2(max_order >= MIN_LPC_ORDER && max_order <= MAX_LPC_ORDER &&
             lpc_type > FF_LPC_TYPE_FIXED);
  
      /* reinit LPC context if parameters have changed */
          ff_lpc_init(s, blocksize, max_order, lpc_type);
      }
  
-     if (lpc_type == FF_LPC_TYPE_LEVINSON) {
++    if(lpc_passes <= 0)
++        lpc_passes = 2;
++
+     if (lpc_type == FF_LPC_TYPE_LEVINSON || (lpc_type == FF_LPC_TYPE_CHOLESKY && lpc_passes > 1)) {
          s->lpc_apply_welch_window(samples, blocksize, s->windowed_samples);
  
          s->lpc_compute_autocorr(s->windowed_samples, blocksize, max_order, autoc);
          }
          for(i=max_order-1; i>0; i--)
              ref[i] = ref[i-1] - ref[i];
-     } else
-         av_assert0(0);
+     }
++
      opt_order = max_order;
  
      if(omethod == ORDER_METHOD_EST) {