diff --git a/libavcodec/rdft.c b/libavcodec/rdft.c index e85219e45b..c318aa8394 100644 --- a/libavcodec/rdft.c +++ b/libavcodec/rdft.c @@ -99,16 +99,17 @@ static void rdft_calc_c(RDFTContext *s, FFTSample *data) av_cold int ff_rdft_init(RDFTContext *s, int nbits, enum RDFTransformType trans) { int n = 1 << nbits; + int ret; s->nbits = nbits; s->inverse = trans == IDFT_C2R || trans == DFT_C2R; s->sign_convention = trans == IDFT_R2C || trans == DFT_C2R ? 1 : -1; if (nbits < 4 || nbits > 16) - return -1; + return AVERROR(EINVAL); - if (ff_fft_init(&s->fft, nbits-1, trans == IDFT_C2R || trans == IDFT_R2C) < 0) - return -1; + if ((ret = ff_fft_init(&s->fft, nbits-1, trans == IDFT_C2R || trans == IDFT_R2C)) < 0) + return ret; ff_init_ff_cos_tabs(nbits); s->tcos = ff_cos_tabs[nbits];