shithub: aubio

Download patch

ref: f3f28b1f1468936ada0afe74538e0b5267cc0f71
parent: 283d93f869b4f72c37536686a27db782a7b5c070
author: Paul Brossier <[email protected]>
date: Fri Jul 21 09:52:53 EDT 2006

avoid another out of boundaries write in yinfft
avoid another out of boundaries write in yinfft


--- a/src/pitchyinfft.c
+++ b/src/pitchyinfft.c
@@ -117,7 +117,7 @@
   yin->data[0][0] = 1.; 
   for (tau=1; tau < yin->length; tau++) {
 	  yin->data[0][tau] = sum -
-		  res->norm[0][tau+1]*COS(res->phas[0][tau+1]); 
+		  res->norm[0][tau]*COS(res->phas[0][tau]); 
 	  tmp += yin->data[0][tau];
 	  yin->data[0][tau] *= tau/tmp;
   }
@@ -129,14 +129,14 @@
 	  //return vec_quadint_min(yin,tau,1);
 	  /* additional check for (unlikely) octave doubling in higher frequencies */
 	  if (tau>35) {
-		  return vec_quadint_min(yin,tau,1)+1;
+		  return vec_quadint_min(yin,tau,1);
 	  } else {
 		  /* should compare the minimum value of each interpolated peaks */
 		  halfperiod = FLOOR(tau/2+.5);
 		  if (yin->data[0][halfperiod] < tol)
-			  return vec_quadint_min(yin,halfperiod,1)+1;
+			  return vec_quadint_min(yin,halfperiod,1);
 		  else
-			  return vec_quadint_min(yin,tau,1)+1;
+			  return vec_quadint_min(yin,tau,1);
 	  }
   } else
 	  return 0;