Skip to content

Commit 51d69da

Browse files
committed
faad_free() everywhere
1 parent 237d29b commit 51d69da

File tree

2 files changed

+45
-58
lines changed

2 files changed

+45
-58
lines changed

src/aac_decoder/aac_decoder.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,6 @@ int AACFindSyncWord(uint8_t *buf, int nBytes){
8383
/* find byte-aligned syncword (12 bits = 0xFFF) */
8484
for (i = 0; i < nBytes - 1; i++) {
8585
if ( (buf[i+0] & SYNCWORDH) == SYNCWORDH && (buf[i+1] & SYNCWORDL) == SYNCWORDL ){
86-
if(f_firstCall){
87-
NeAACDecClose(hAac);
88-
NeAACDecOpen();
89-
}
9086
return i;
9187
}
9288
}

src/aac_decoder/libfaad/neaacdec.cpp

Lines changed: 45 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -643,18 +643,9 @@ long NeAACDecInit(NeAACDecHandle hpDecoder, unsigned char* buffer, uint32_t buff
643643
ret = bits;
644644
goto exit;
645645
exit:
646-
if(ld) {
647-
free(ld);
648-
ld = NULL;
649-
}
650-
if(adts) {
651-
free(adts);
652-
adts = NULL;
653-
}
654-
if(adif) {
655-
free(adif);
656-
adif = NULL;
657-
}
646+
faad_free(ld);
647+
faad_free(adif);
648+
faad_free(adts);
658649
return ret;
659650
}
660651
//——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
@@ -1059,7 +1050,7 @@ void* aac_frame_decode(NeAACDecStruct* hDecoder, NeAACDecFrameInfo* hInfo, unsig
10591050
//temp = getdword((void*)buf);
10601051
temp = *((uint32_t*)buf);
10611052
printf("0x%.8X\n", temp);
1062-
free(buf);
1053+
faad_free(buf);
10631054
}
10641055
faad_endbits(&ld);
10651056
faad_initbits(&ld, buffer, buffer_size);
@@ -3960,7 +3951,7 @@ void faad_imdct(mdct_info* mdct, real_t* X_in, real_t* X_out) {
39603951
mdct->fft_cycles += count1;
39613952
mdct->cycles += (count2 - count1);
39623953
#endif
3963-
if(Z1) free(Z1);
3954+
faad_free(Z1);
39643955
}
39653956
//——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
39663957
#ifdef LTP_DEC
@@ -4236,7 +4227,7 @@ void ifilter_bank(fb_info* fb, uint8_t window_sequence, uint8_t window_shape, ui
42364227
count = faad_get_ts() - count;
42374228
fb->cycles += count;
42384229
#endif
4239-
if(transf_buf) free(transf_buf);
4230+
faad_free(transf_buf);
42404231
}
42414232
//——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
42424233
#ifdef LTP_DEC
@@ -4290,7 +4281,7 @@ void filter_bank_ltp(fb_info* fb, uint8_t window_sequence, uint8_t window_shape,
42904281
mdct(fb, windowed_buf, out_mdct, 2 * nlong);
42914282
break;
42924283
}
4293-
if(windowed_buf) free(windowed_buf);
4284+
faad_free(windowed_buf);
42944285
}
42954286
#endif
42964287
//——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
@@ -4554,8 +4545,8 @@ uint8_t reordered_spectral_data(NeAACDecStruct* hDecoder, ic_stream* ics, bitfil
45544545
#endif
45554546
ret = 0;
45564547
exit:
4557-
if(codeword) free(codeword);
4558-
if(segment) free(segment);
4548+
faad_free(codeword);
4549+
faad_free(segment);
45594550
return ret;
45604551
}
45614552
//——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
@@ -4965,8 +4956,7 @@ void DCT4_32(real_t* y, real_t* x) {
49654956
y[30] = f[395] + f[396];
49664957
y[1] = f[397] - f[396];
49674958
if(f) {
4968-
free(f);
4969-
f = NULL;
4959+
faad_free(f);
49704960
}
49714961
}
49724962
#endif // SBR_DEC
@@ -5344,8 +5334,7 @@ void DST4_32(real_t* y, real_t* x) {
53445334
y[1] = MUL_C(COEF_CONST(6.7967507116736332), f[306]);
53455335
y[0] = MUL_R(REAL_CONST(20.3738781672314530), f[304]);
53465336
if(f) {
5347-
free(f);
5348-
f = NULL;
5337+
faad_free(f);
53495338
}
53505339
}
53515340
#endif // SBR_DEC
@@ -7199,7 +7188,6 @@ static uint8_t allocate_channel_pair(NeAACDecStruct* hDecoder, uint8_t channel,
71997188
uint8_t reconstruct_single_channel(NeAACDecStruct* hDecoder, ic_stream* ics, element* sce, int16_t* spec_data) {
72007189
uint8_t retval = 0;
72017190
int output_channels;
7202-
// real_t spec_coef[1024];
72037191
real_t* spec_coef = (real_t*)faad_malloc(1024 * sizeof(real_t));
72047192
#ifdef PROFILE
72057193
int64_t count = faad_get_ts();
@@ -7225,9 +7213,12 @@ uint8_t reconstruct_single_channel(NeAACDecStruct* hDecoder, ic_stream* ics, ele
72257213
*/
72267214
/* reset the allocation */
72277215
hDecoder->element_alloced[hDecoder->fr_ch_ele] = 0;
7216+
memset(&hDecoder->element_alloced[hDecoder->fr_ch_ele], 0,
7217+
sizeof(uint8_t) * (MAX_SYNTAX_ELEMENTS - hDecoder->fr_ch_ele));
7218+
72287219
hDecoder->element_output_channels[hDecoder->fr_ch_ele] = output_channels;
7229-
retval = 21;
7230-
goto exit;
7220+
//retval = 21;
7221+
//goto exit;
72317222
}
72327223
if (hDecoder->element_alloced[hDecoder->fr_ch_ele] == 0) {
72337224
retval = allocate_single_channel(hDecoder, sce->channel, output_channels);
@@ -7358,7 +7349,7 @@ uint8_t reconstruct_single_channel(NeAACDecStruct* hDecoder, ic_stream* ics, ele
73587349
#endif
73597350
retval = 0;
73607351
exit:
7361-
if (spec_coef) { free(spec_coef); }
7352+
faad_free(spec_coef);
73627353
return retval;
73637354
}
73647355
// ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
@@ -7531,8 +7522,8 @@ uint8_t reconstruct_channel_pair(NeAACDecStruct* hDecoder, ic_stream* ics1, ic_s
75317522
#endif
75327523
retval = 0;
75337524
exit:
7534-
if (spec_coef1) free(spec_coef1);
7535-
if (spec_coef2) free(spec_coef2);
7525+
faad_free(spec_coef1);
7526+
faad_free(spec_coef2);
75367527
return retval;
75377528
}
75387529
//——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
@@ -7830,6 +7821,8 @@ void decode_sce_lfe(NeAACDecStruct* hDecoder, NeAACDecFrameInfo* hInfo, bitfile*
78307821
*/
78317822
if (hDecoder->element_id[hDecoder->fr_ch_ele] != INVALID_ELEMENT_ID && hDecoder->element_id[hDecoder->fr_ch_ele] != id_syn_ele) {
78327823
/* element inconsistency */
7824+
memset(&hDecoder->element_alloced[hDecoder->fr_ch_ele], 0,
7825+
sizeof(uint8_t) * (MAX_SYNTAX_ELEMENTS - hDecoder->fr_ch_ele));
78337826
hInfo->error = 21;
78347827
return;
78357828
}
@@ -7870,11 +7863,15 @@ void decode_cpe(NeAACDecStruct* hDecoder, NeAACDecFrameInfo* hInfo, bitfile* ld,
78707863
hDecoder->element_output_channels[hDecoder->fr_ch_ele] = 2;
78717864
} else if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] != 2) {
78727865
/* element inconsistency */
7866+
memset(&hDecoder->element_alloced[hDecoder->fr_ch_ele], 0,
7867+
sizeof(uint8_t) * (MAX_SYNTAX_ELEMENTS - hDecoder->fr_ch_ele));
78737868
hInfo->error = 21;
78747869
return;
78757870
}
78767871
if (hDecoder->element_id[hDecoder->fr_ch_ele] != INVALID_ELEMENT_ID && hDecoder->element_id[hDecoder->fr_ch_ele] != id_syn_ele) {
78777872
/* element inconsistency */
7873+
memset(&hDecoder->element_alloced[hDecoder->fr_ch_ele], 0,
7874+
sizeof(uint8_t) * (MAX_SYNTAX_ELEMENTS - hDecoder->fr_ch_ele));
78787875
hInfo->error = 21;
78797876
return;
78807877
}
@@ -8084,8 +8081,8 @@ uint8_t single_lfe_channel_element(NeAACDecStruct* hDecoder, bitfile* ld, uint8_
80848081
if (retval > 0) goto exit;
80858082
retval = 0;
80868083
exit:
8087-
if (spec_data) free(spec_data);
8088-
if (sce) free(sce);
8084+
faad_free(sce);
8085+
faad_free(spec_data);
80898086
return retval;
80908087
}
80918088
//——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
@@ -8172,15 +8169,9 @@ uint8_t channel_pair_element(NeAACDecStruct* hDecoder, bitfile* ld, uint8_t chan
81728169
if ((result = reconstruct_channel_pair(hDecoder, ics1, ics2, cpe, spec_data1, spec_data2)) > 0) { goto exit; }
81738170
result = 0;
81748171
exit:
8175-
if (spec_data1) {
8176-
free(spec_data1);
8177-
spec_data1 = NULL;
8178-
}
8179-
if (spec_data2) {
8180-
free(spec_data2);
8181-
spec_data2 = NULL;
8182-
}
8183-
if (cpe) free(cpe);
8172+
faad_free(spec_data1);
8173+
faad_free(spec_data2);
8174+
faad_free(cpe);
81848175
return result;
81858176
}
81868177
//——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
@@ -11609,8 +11600,8 @@ uint8_t ps_decode(ps_info* ps, qmf_t X_left[38][64], qmf_t X_right[38][64]) {
1160911600
/* hybrid synthesis, to rebuild the SBR QMF matrices */
1161011601
hybrid_synthesis((hyb_info*)ps->hyb, X_left, X_hybrid_left, ps->use34hybrid_bands, ps->numTimeSlotsRate);
1161111602
hybrid_synthesis((hyb_info*)ps->hyb, X_right, X_hybrid_right, ps->use34hybrid_bands, ps->numTimeSlotsRate);
11612-
if(X_hybrid_left) free(X_hybrid_left);
11613-
if(X_hybrid_right) free(X_hybrid_right);
11603+
faad_free(X_hybrid_left);
11604+
faad_free(X_hybrid_right);
1161411605
return 0;
1161511606
}
1161611607
#endif // PS_DEC
@@ -12143,7 +12134,7 @@ uint8_t sbrDecodeCoupleFrame(sbr_info* sbr, real_t* left_chan, real_t* right_cha
1214312134
#endif
1214412135
ret = 0;
1214512136
exit:
12146-
if (X) free(X);
12137+
faad_free(X);
1214712138
return ret;
1214812139
}
1214912140
#endif // #ifdef SBR_DEC
@@ -12197,7 +12188,7 @@ uint8_t sbrDecodeSingleFrame(sbr_info* sbr, real_t* channel, const uint8_t just_
1219712188
#endif
1219812189
ret = 0;
1219912190
exit:
12200-
if (X) free(X);
12191+
faad_free(X);
1220112192
return ret;
1220212193
}
1220312194
#endif // #ifdef SBR_DEC
@@ -12273,8 +12264,8 @@ uint8_t sbrDecodeSingleFramePS(sbr_info* sbr, real_t* left_channel, real_t* righ
1227312264
sbr->frame++;
1227412265
ret = 0;
1227512266
exit:
12276-
if (X_left) free(X_left);
12277-
if (X_right) free(X_right);
12267+
faad_free(X_left);
12268+
faad_free(X_right);
1227812269
return ret;
1227912270
}
1228012271
#endif // (defined(PS_DEC) || defined(DRM_PS))
@@ -12885,10 +12876,10 @@ uint8_t master_frequency_table(sbr_info* sbr, uint8_t k0, uint8_t k2, uint8_t bs
1288512876
#endif
1288612877
ret = 0;
1288712878
exit:
12888-
if(vDk0)free(vDk0);
12889-
if(vDk1)free(vDk1);
12890-
if(vk0) free(vk0);
12891-
if(vk1) free(vk1);
12879+
faad_free(vDk0);
12880+
faad_free(vDk1);
12881+
faad_free(vk0);
12882+
faad_free(vk1);
1289212883
return ret;
1289312884
}
1289412885
#endif
@@ -13089,8 +13080,8 @@ void limiter_frequency_table(sbr_info* sbr) {
1308913080
#endif
1309013081
}
1309113082
exit:
13092-
if(limTable) free(limTable);
13093-
if(patchBorders) free(patchBorders);
13083+
faad_free(limTable);
13084+
faad_free(patchBorders);
1309413085
}
1309513086
#endif // SBR_DEC
1309613087
//——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
@@ -14959,10 +14950,10 @@ void hf_generation(sbr_info* sbr, qmf_t Xlow[MAX_NTSRHFG][64], qmf_t Xhigh[MAX_N
1495914950
}
1496014951
}
1496114952
if (sbr->Reset) { limiter_frequency_table(sbr); }
14962-
if (alpha_0) free(alpha_0);
14963-
if (alpha_1) free(alpha_1);
14953+
faad_free(alpha_0);
14954+
faad_free(alpha_1);
1496414955
#ifdef SBR_LOW_POWER
14965-
if (rxx) free(rxx);
14956+
faad_free(rxx);
1496614957
#endif
1496714958
}
1496814959
#endif // SBR_DEC

0 commit comments

Comments
 (0)