diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-05-17 18:51:55 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-05-20 14:11:03 +0200 |
commit | e863cbceaeb88082e716dd3b770ed9dfc35ad9e3 (patch) | |
tree | b018c5d9767f03017c959916fdb18a7e454b9590 /libavcodec | |
parent | f3d206d25ffdb02ba30b9bf37720f94819f9be3e (diff) | |
download | ffmpeg-e863cbceaeb88082e716dd3b770ed9dfc35ad9e3.tar.gz |
avcodec/ac3enc_template: Avoid always-true check
This might also help Coverity with issue #1596532.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/ac3enc_template.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libavcodec/ac3enc_template.c b/libavcodec/ac3enc_template.c index 49fc6d7f37..049666fdca 100644 --- a/libavcodec/ac3enc_template.c +++ b/libavcodec/ac3enc_template.c @@ -31,6 +31,7 @@ #include <stdint.h> #include "libavutil/attributes.h" +#include "libavutil/avassert.h" #include "libavutil/mem_internal.h" #include "audiodsp.h" @@ -50,14 +51,15 @@ */ static void apply_mdct(AC3EncodeContext *s, uint8_t * const *samples) { - int blk, ch; + av_assert1(s->num_blocks > 0); - for (ch = 0; ch < s->channels; ch++) { + for (int ch = 0; ch < s->channels; ch++) { const SampleType *input_samples0 = (const SampleType*)s->planar_samples[ch]; /* Reorder channels from native order to AC-3 order. */ const SampleType *input_samples1 = (const SampleType*)samples[s->channel_map[ch]]; + int blk = 0; - for (blk = 0; blk < s->num_blocks; blk++) { + do { AC3Block *block = &s->blocks[blk]; SampleType *windowed_samples = s->RENAME(windowed_samples); @@ -71,7 +73,8 @@ static void apply_mdct(AC3EncodeContext *s, uint8_t * const *samples) windowed_samples, sizeof(*windowed_samples)); input_samples0 = input_samples1; input_samples1 += AC3_BLOCK_SIZE; - } + } while (++blk < s->num_blocks); + /* Store last 256 samples of current frame */ memcpy(s->planar_samples[ch], input_samples0, AC3_BLOCK_SIZE * sizeof(*input_samples0)); |