diff --git a/celt/celt_encoder.c b/celt/celt_encoder.c index 94239033..7387ad5f 100644 --- a/celt/celt_encoder.c +++ b/celt/celt_encoder.c @@ -1644,6 +1644,7 @@ int celt_encode_with_ec(CELTEncoder * OPUS_RESTRICT st, const opus_val16 * pcm, diff += MULT16_16(mask, 1+2*i-mask_end); } } + celt_assert(count>0); mask_avg = DIV32_16(mask_avg,count); mask_avg += QCONST16(.2f, DB_SHIFT); diff = diff*6/(C*(mask_end-1)*(mask_end+1)*mask_end); diff --git a/celt/kiss_fft.c b/celt/kiss_fft.c index e7e11303..0bf058c2 100644 --- a/celt/kiss_fft.c +++ b/celt/kiss_fft.c @@ -457,7 +457,7 @@ kiss_fft_state *opus_fft_alloc_twiddles(int nfft,void * mem,size_t * lenmem, co { st->twiddles = base->twiddles; st->shift = 0; - while (nfft<shift != base->nfft && st->shift < 32) + while (st->shift < 32 && nfft<shift != base->nfft) st->shift++; if (st->shift>=32) goto fail;