Skip to content

Commit 7c3e90c

Browse files
committed
Revert "remove vlas in celt_lpc.c and pitch.c"
This reverts commit c1dcd55.
1 parent c5aaa2c commit 7c3e90c

File tree

2 files changed

+9
-18
lines changed

2 files changed

+9
-18
lines changed

src/celt_lpc.c

+5-10
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ void celt_fir(
9696
int ord)
9797
{
9898
int i,j;
99-
opus_val16 *rnum = calloc(sizeof(opus_val16), ord);
99+
opus_val16 rnum[ord];
100100
for(i=0;i<ord;i++)
101101
rnum[i] = num[ord-i-1];
102102
for (i=0;i<N-3;i+=4)
@@ -119,7 +119,6 @@ void celt_fir(
119119
sum = MAC16_16(sum,rnum[j],x[i+j-ord]);
120120
y[i] = ROUND16(sum, SIG_SHIFT);
121121
}
122-
free(rnum);
123122
}
124123

125124
void celt_iir(const opus_val32 *_x,
@@ -148,9 +147,8 @@ void celt_iir(const opus_val32 *_x,
148147
#else
149148
int i,j;
150149
celt_assert((ord&3)==0);
151-
opus_val16 *rden = calloc(sizeof(opus_val16), ord);
152-
opus_val16 *y = calloc(sizeof(opus_val16), N+ord);
153-
150+
opus_val16 rden[ord];
151+
opus_val16 y[N+ord];
154152
for(i=0;i<ord;i++)
155153
rden[i] = den[ord-i-1];
156154
for(i=0;i<ord;i++)
@@ -194,8 +192,6 @@ void celt_iir(const opus_val32 *_x,
194192
}
195193
for(i=0;i<ord;i++)
196194
mem[i] = _y[N-i-1];
197-
free(rden);
198-
free(y);
199195
#endif
200196
}
201197

@@ -212,8 +208,7 @@ int _celt_autocorr(
212208
int fastN=n-lag;
213209
int shift;
214210
const opus_val16 *xptr;
215-
opus_val16 *xx = calloc(sizeof(opus_val16), n);
216-
211+
opus_val16 xx[n];
217212
celt_assert(n>0);
218213
celt_assert(overlap>=0);
219214
if (overlap == 0)
@@ -279,6 +274,6 @@ int _celt_autocorr(
279274
shift += shift2;
280275
}
281276
#endif
282-
free(xx);
277+
283278
return shift;
284279
}

src/pitch.c

+4-8
Original file line numberDiff line numberDiff line change
@@ -297,9 +297,9 @@ void pitch_search(const opus_val16 *x_lp, opus_val16 *y,
297297
celt_assert(max_pitch>0);
298298
lag = len+max_pitch;
299299

300-
opus_val16 *x_lp4 = calloc(sizeof(opus_val16), len>>2);
301-
opus_val16 *y_lp4 = calloc(sizeof(opus_val16), lag>>2);
302-
opus_val32 *xcorr = calloc(sizeof(opus_val32), max_pitch>>1);
300+
opus_val16 x_lp4[len>>2];
301+
opus_val16 y_lp4[lag>>2];
302+
opus_val32 xcorr[max_pitch>>1];
303303

304304
/* Downsample by 2 again */
305305
for (j=0;j<len>>2;j++)
@@ -382,9 +382,6 @@ void pitch_search(const opus_val16 *x_lp, opus_val16 *y,
382382
offset = 0;
383383
}
384384
*pitch = 2*best_pitch[0]-offset;
385-
free(xcorr);
386-
free(x_lp4);
387-
free(y_lp4);
388385
}
389386

390387
#ifdef FIXED_POINT
@@ -446,7 +443,7 @@ opus_val16 remove_doubling(opus_val16 *x, int maxperiod, int minperiod,
446443
*T0_=maxperiod-1;
447444

448445
T = T0 = *T0_;
449-
opus_val32 *yy_lookup = calloc(sizeof(opus_val32), maxperiod+1);
446+
opus_val32 yy_lookup[maxperiod+1];
450447
dual_inner_prod(x, x, x-T0, N, &xx, &xy);
451448
yy_lookup[0] = xx;
452449
yy=xx;
@@ -505,7 +502,6 @@ opus_val16 remove_doubling(opus_val16 *x, int maxperiod, int minperiod,
505502
g = g1;
506503
}
507504
}
508-
free(yy_lookup);
509505
best_xy = MAX32(0, best_xy);
510506
if (best_yy <= best_xy)
511507
pg = Q15ONE;

0 commit comments

Comments
 (0)