avfilter/afir_template: avoid indirect accessing nb_partitions value

This commit is contained in:
Paul B Mahol 2022-12-12 17:20:53 +01:00
parent a73f4ca49b
commit 69ac78da9b
1 changed files with 4 additions and 3 deletions

View File

@ -267,6 +267,7 @@ static int fn(fir_quantum)(AVFilterContext *ctx, AVFrame *out, int ch, int offse
ftype *sumin = (ftype *)seg->sumin->extended_data[ch];
ftype *sumout = (ftype *)seg->sumout->extended_data[ch];
int *output_offset = &seg->output_offset[ch];
const int nb_partitions = seg->nb_partitions;
const int input_offset = seg->input_offset;
const int part_size = seg->part_size;
int j;
@ -306,7 +307,7 @@ static int fn(fir_quantum)(AVFilterContext *ctx, AVFrame *out, int ch, int offse
j = seg->part_index[ch];
for (int i = 0; i < seg->nb_partitions; i++) {
for (int i = 0; i < nb_partitions; i++) {
const int coffset = j * seg->coeff_size;
const ftype *blockout = (const ftype *)seg->blockout->extended_data[ch] + i * seg->block_size;
const ctype *coeff = (const ctype *)seg->coeff->extended_data[ch * !s->one2many] + coffset;
@ -317,7 +318,7 @@ static int fn(fir_quantum)(AVFilterContext *ctx, AVFrame *out, int ch, int offse
s->afirdsp.dcmul_add(sumin, blockout, (const ftype *)coeff, part_size);
#endif
if (j == 0)
j = seg->nb_partitions;
j = nb_partitions;
j--;
}
@ -331,7 +332,7 @@ static int fn(fir_quantum)(AVFilterContext *ctx, AVFrame *out, int ch, int offse
buf = (ftype *)seg->buffer->extended_data[ch];
memcpy(buf, sumout + part_size, part_size * sizeof(*buf));
seg->part_index[ch] = (seg->part_index[ch] + 1) % seg->nb_partitions;
seg->part_index[ch] = (seg->part_index[ch] + 1) % nb_partitions;;
memmove(src, src + min_part_size, (seg->input_size - min_part_size) * sizeof(*src));