[FFmpeg-cvslog] avfilter/afir_template: avoid indirect accessing nb_partitions value
Paul B Mahol
git at videolan.org
Mon Dec 12 21:26:06 EET 2022
ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Mon Dec 12 17:20:53 2022 +0100| [69ac78da9befee4a3238721cdb06ceb6fdac6f0a] | committer: Paul B Mahol
avfilter/afir_template: avoid indirect accessing nb_partitions value
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=69ac78da9befee4a3238721cdb06ceb6fdac6f0a
---
libavfilter/afir_template.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libavfilter/afir_template.c b/libavfilter/afir_template.c
index bd8a907bd4..fea0627b6b 100644
--- a/libavfilter/afir_template.c
+++ b/libavfilter/afir_template.c
@@ -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));
More information about the ffmpeg-cvslog
mailing list