[FFmpeg-devel] [PATCH v3 11/24] avcodec/twinvq: remove FF_ALLOCZ_ARRAY_OR_GOTO and gotos label
lance.lmwang at gmail.com
lance.lmwang at gmail.com
Tue Jun 2 18:16:50 EEST 2020
From: Limin Wang <lance.lmwang at gmail.com>
Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
---
libavcodec/twinvq.c | 26 ++++++++------------------
1 file changed, 8 insertions(+), 18 deletions(-)
diff --git a/libavcodec/twinvq.c b/libavcodec/twinvq.c
index 34ca184..6dfaf06 100644
--- a/libavcodec/twinvq.c
+++ b/libavcodec/twinvq.c
@@ -538,6 +538,7 @@ static av_cold int init_mdct_win(TwinVQContext *tctx)
int size_m = mtab->size / mtab->fmode[TWINVQ_FT_MEDIUM].sub;
int channels = tctx->avctx->channels;
float norm = channels == 1 ? 2.0 : 1.0;
+ int table_size = 2 * mtab->size * channels;
for (i = 0; i < 3; i++) {
int bsize = tctx->mtab->size / tctx->mtab->fmode[i].sub;
@@ -546,25 +547,17 @@ static av_cold int init_mdct_win(TwinVQContext *tctx)
return ret;
}
- FF_ALLOC_ARRAY_OR_GOTO(tctx->avctx, tctx->tmp_buf,
- mtab->size, sizeof(*tctx->tmp_buf), alloc_fail);
-
- FF_ALLOC_ARRAY_OR_GOTO(tctx->avctx, tctx->spectrum,
- 2 * mtab->size, channels * sizeof(*tctx->spectrum),
- alloc_fail);
- FF_ALLOC_ARRAY_OR_GOTO(tctx->avctx, tctx->curr_frame,
- 2 * mtab->size, channels * sizeof(*tctx->curr_frame),
- alloc_fail);
- FF_ALLOC_ARRAY_OR_GOTO(tctx->avctx, tctx->prev_frame,
- 2 * mtab->size, channels * sizeof(*tctx->prev_frame),
- alloc_fail);
+ if (!FF_ALLOC_TYPED_ARRAY(tctx->tmp_buf, mtab->size) ||
+ !FF_ALLOC_TYPED_ARRAY(tctx->spectrum, table_size) ||
+ !FF_ALLOC_TYPED_ARRAY(tctx->curr_frame, table_size) ||
+ !FF_ALLOC_TYPED_ARRAY(tctx->prev_frame, table_size))
+ return AVERROR(ENOMEM);
for (i = 0; i < 3; i++) {
int m = 4 * mtab->size / mtab->fmode[i].sub;
double freq = 2 * M_PI / m;
- FF_ALLOC_ARRAY_OR_GOTO(tctx->avctx, tctx->cos_tabs[i],
- (m / 4), sizeof(*tctx->cos_tabs[i]), alloc_fail);
-
+ if (!FF_ALLOC_TYPED_ARRAY(tctx->cos_tabs[i], m / 4))
+ return AVERROR(ENOMEM);
for (j = 0; j <= m / 8; j++)
tctx->cos_tabs[i][j] = cos((2 * j + 1) * freq);
for (j = 1; j < m / 8; j++)
@@ -576,9 +569,6 @@ static av_cold int init_mdct_win(TwinVQContext *tctx)
ff_init_ff_sine_windows(av_log2(mtab->size));
return 0;
-
-alloc_fail:
- return AVERROR(ENOMEM);
}
/**
--
1.8.3.1
More information about the ffmpeg-devel
mailing list