Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: Check return value of av_tx_init()
@ 2022-11-09 16:34 Andreas Rheinhardt
  2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 2/4] avfilter/vf_fftfilt: " Andreas Rheinhardt
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-11-09 16:34 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Andreas Rheinhardt

Should fix Coverity issue #1516766.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavfilter/af_surround.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/libavfilter/af_surround.c b/libavfilter/af_surround.c
index 858fed609a..969325cf6b 100644
--- a/libavfilter/af_surround.c
+++ b/libavfilter/af_surround.c
@@ -194,7 +194,7 @@ static int config_input(AVFilterLink *inlink)
 {
     AVFilterContext *ctx = inlink->dst;
     AudioSurroundContext *s = ctx->priv;
-    int ch;
+    int ch, err;
 
     s->rdft = av_calloc(inlink->ch_layout.nb_channels, sizeof(*s->rdft));
     if (!s->rdft)
@@ -204,9 +204,10 @@ static int config_input(AVFilterLink *inlink)
     for (ch = 0; ch < inlink->ch_layout.nb_channels; ch++) {
         float scale = 1.f;
 
-        av_tx_init(&s->rdft[ch], &s->tx_fn, AV_TX_FLOAT_RDFT, 0, s->buf_size, &scale, 0);
-        if (!s->rdft[ch])
-            return AVERROR(ENOMEM);
+        err = av_tx_init(&s->rdft[ch], &s->tx_fn, AV_TX_FLOAT_RDFT,
+                         0, s->buf_size, &scale, 0);
+        if (err < 0)
+            return err;
     }
     s->input_levels = av_malloc_array(s->nb_in_channels, sizeof(*s->input_levels));
     if (!s->input_levels)
@@ -263,7 +264,7 @@ static int config_output(AVFilterLink *outlink)
 {
     AVFilterContext *ctx = outlink->src;
     AudioSurroundContext *s = ctx->priv;
-    int ch;
+    int ch, err;
 
     s->irdft = av_calloc(outlink->ch_layout.nb_channels, sizeof(*s->irdft));
     if (!s->irdft)
@@ -273,9 +274,10 @@ static int config_output(AVFilterLink *outlink)
     for (ch = 0; ch < outlink->ch_layout.nb_channels; ch++) {
         float iscale = 1.f;
 
-        av_tx_init(&s->irdft[ch], &s->itx_fn, AV_TX_FLOAT_RDFT, 1, s->buf_size, &iscale, 0);
-        if (!s->irdft[ch])
-            return AVERROR(ENOMEM);
+        err = av_tx_init(&s->irdft[ch], &s->itx_fn, AV_TX_FLOAT_RDFT,
+                         1, s->buf_size, &iscale, 0);
+        if (err < 0)
+            return err;
     }
     s->output_levels = av_malloc_array(s->nb_out_channels, sizeof(*s->output_levels));
     if (!s->output_levels)
-- 
2.34.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [FFmpeg-devel] [PATCH 2/4] avfilter/vf_fftfilt: Check return value of av_tx_init()
  2022-11-09 16:34 [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: Check return value of av_tx_init() Andreas Rheinhardt
@ 2022-11-09 16:37 ` Andreas Rheinhardt
  2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 3/4] avfilter/af_afir: " Andreas Rheinhardt
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-11-09 16:37 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Andreas Rheinhardt

Should fix Coverity issue #1516765.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavfilter/vf_fftfilt.c | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/libavfilter/vf_fftfilt.c b/libavfilter/vf_fftfilt.c
index 067ce7eb30..231e74fd72 100644
--- a/libavfilter/vf_fftfilt.c
+++ b/libavfilter/vf_fftfilt.c
@@ -306,7 +306,7 @@ static int config_props(AVFilterLink *inlink)
 {
     FFTFILTContext *s = inlink->dst->priv;
     const AVPixFmtDescriptor *desc;
-    int i, plane;
+    int err, i, plane;
 
     desc = av_pix_fmt_desc_get(inlink->format);
     s->depth = desc->comp[0].depth;
@@ -335,12 +335,14 @@ static int config_props(AVFilterLink *inlink)
         for (int j = 0; j < s->nb_threads; j++) {
             float scale = 1.f, iscale = 1.f;
 
-            av_tx_init(&s->hrdft[j][i], &s->htx_fn, AV_TX_FLOAT_RDFT, 0, 1 << s->rdft_hbits[i], &scale, 0);
-            if (!s->hrdft[j][i])
-                return AVERROR(ENOMEM);
-            av_tx_init(&s->ihrdft[j][i], &s->ihtx_fn, AV_TX_FLOAT_RDFT, 1, 1 << s->rdft_hbits[i], &iscale, 0);
-            if (!s->ihrdft[j][i])
-                return AVERROR(ENOMEM);
+            err = av_tx_init(&s->hrdft[j][i], &s->htx_fn, AV_TX_FLOAT_RDFT,
+                             0, 1 << s->rdft_hbits[i], &scale, 0);
+            if (err < 0)
+                return err;
+            err = av_tx_init(&s->ihrdft[j][i], &s->ihtx_fn, AV_TX_FLOAT_RDFT,
+                             1, 1 << s->rdft_hbits[i], &iscale, 0);
+            if (err < 0)
+                return err;
         }
 
         /* RDFT - Array initialization for Vertical pass*/
@@ -356,12 +358,14 @@ static int config_props(AVFilterLink *inlink)
         for (int j = 0; j < s->nb_threads; j++) {
             float scale = 1.f, iscale = 1.f;
 
-            av_tx_init(&s->vrdft[j][i], &s->vtx_fn, AV_TX_FLOAT_RDFT, 0, 1 << s->rdft_vbits[i], &scale, 0);
-            if (!s->vrdft[j][i])
-                return AVERROR(ENOMEM);
-            av_tx_init(&s->ivrdft[j][i], &s->ivtx_fn, AV_TX_FLOAT_RDFT, 1, 1 << s->rdft_vbits[i], &iscale, 0);
-            if (!s->ivrdft[j][i])
-                return AVERROR(ENOMEM);
+            err = av_tx_init(&s->vrdft[j][i], &s->vtx_fn, AV_TX_FLOAT_RDFT,
+                             0, 1 << s->rdft_vbits[i], &scale, 0);
+            if (err < 0)
+                return err;
+            err = av_tx_init(&s->ivrdft[j][i], &s->ivtx_fn, AV_TX_FLOAT_RDFT,
+                             1, 1 << s->rdft_vbits[i], &iscale, 0);
+            if (err < 0)
+                return err;
         }
     }
 
-- 
2.34.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [FFmpeg-devel] [PATCH 3/4] avfilter/af_afir: Check return value of av_tx_init()
  2022-11-09 16:34 [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: Check return value of av_tx_init() Andreas Rheinhardt
  2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 2/4] avfilter/vf_fftfilt: " Andreas Rheinhardt
@ 2022-11-09 16:37 ` Andreas Rheinhardt
  2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 4/4] avfilter/vf_fftdnoiz: " Andreas Rheinhardt
  2022-11-11 17:36 ` [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: " Andreas Rheinhardt
  3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-11-09 16:37 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Andreas Rheinhardt

Should fix Coverity issue #1516762.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavfilter/af_afir.c | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/libavfilter/af_afir.c b/libavfilter/af_afir.c
index e1fe7d6a64..910999cce7 100644
--- a/libavfilter/af_afir.c
+++ b/libavfilter/af_afir.c
@@ -158,6 +158,7 @@ static int init_segment(AVFilterContext *ctx, AudioFIRSegment *seg,
                         int offset, int nb_partitions, int part_size)
 {
     AudioFIRContext *s = ctx->priv;
+    int err;
 
     seg->tx  = av_calloc(ctx->inputs[0]->ch_layout.nb_channels, sizeof(*seg->tx));
     seg->itx = av_calloc(ctx->inputs[0]->ch_layout.nb_channels, sizeof(*seg->itx));
@@ -178,22 +179,29 @@ static int init_segment(AVFilterContext *ctx, AudioFIRSegment *seg,
         return AVERROR(ENOMEM);
 
     for (int ch = 0; ch < ctx->inputs[0]->ch_layout.nb_channels && part_size >= 8; ch++) {
-        double dscale = 1.0, idscale = 1.0 / part_size;
-        float fscale = 1.f, ifscale = 1.f / part_size;
+        union { double d; float f; } scale, iscale;
+        enum AVTXType tx_type;
 
         switch (s->format) {
         case AV_SAMPLE_FMT_FLTP:
-            av_tx_init(&seg->tx[ch],  &seg->tx_fn,  AV_TX_FLOAT_RDFT, 0, 2 * part_size, &fscale,  0);
-            av_tx_init(&seg->itx[ch], &seg->itx_fn, AV_TX_FLOAT_RDFT, 1, 2 * part_size, &ifscale, 0);
+            scale.f  = 1.f;
+            iscale.f = 1.f / part_size;
+            tx_type  = AV_TX_FLOAT_RDFT;
             break;
         case AV_SAMPLE_FMT_DBLP:
-            av_tx_init(&seg->tx[ch],  &seg->tx_fn,  AV_TX_DOUBLE_RDFT, 0, 2 * part_size, &dscale,  0);
-            av_tx_init(&seg->itx[ch], &seg->itx_fn, AV_TX_DOUBLE_RDFT, 1, 2 * part_size, &idscale, 0);
+            scale.d  = 1.0;
+            iscale.d = 1.0 / part_size;
+            tx_type  = AV_TX_DOUBLE_RDFT;
             break;
         }
-
-        if (!seg->tx[ch] || !seg->itx[ch])
-            return AVERROR(ENOMEM);
+        err = av_tx_init(&seg->tx[ch],  &seg->tx_fn,  tx_type,
+                         0, 2 * part_size, &scale,  0);
+        if (err < 0)
+            return err;
+        err = av_tx_init(&seg->itx[ch], &seg->itx_fn, tx_type,
+                         1, 2 * part_size, &iscale, 0);
+        if (err < 0)
+            return err;
     }
 
     seg->sumin  = ff_get_audio_buffer(ctx->inputs[0], seg->fft_length);
-- 
2.34.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [FFmpeg-devel] [PATCH 4/4] avfilter/vf_fftdnoiz: Check return value of av_tx_init()
  2022-11-09 16:34 [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: Check return value of av_tx_init() Andreas Rheinhardt
  2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 2/4] avfilter/vf_fftfilt: " Andreas Rheinhardt
  2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 3/4] avfilter/af_afir: " Andreas Rheinhardt
@ 2022-11-09 16:37 ` Andreas Rheinhardt
  2022-11-11 17:36 ` [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: " Andreas Rheinhardt
  3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-11-09 16:37 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Andreas Rheinhardt

Should fix Coverity issue #1500329.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavfilter/vf_fftdnoiz.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/libavfilter/vf_fftdnoiz.c b/libavfilter/vf_fftdnoiz.c
index e74f40b4cb..f7200699c6 100644
--- a/libavfilter/vf_fftdnoiz.c
+++ b/libavfilter/vf_fftdnoiz.c
@@ -208,13 +208,17 @@ static int config_input(AVFilterLink *inlink)
 
     for (int i = 0; i < s->nb_threads; i++) {
         float scale = 1.f, iscale = 1.f;
-
-        av_tx_init(&s->fft[i],  &s->tx_fn,  AV_TX_FLOAT_FFT, 0, s->block_size, &scale,  0);
-        av_tx_init(&s->ifft[i], &s->itx_fn, AV_TX_FLOAT_FFT, 1, s->block_size, &iscale, 0);
-        av_tx_init(&s->fft_r[i],  &s->tx_r_fn,  AV_TX_FLOAT_FFT, 0, 1 + s->nb_prev + s->nb_next, &scale,  0);
-        av_tx_init(&s->ifft_r[i], &s->itx_r_fn, AV_TX_FLOAT_FFT, 1, 1 + s->nb_prev + s->nb_next, &iscale, 0);
-        if (!s->fft[i] || !s->ifft[i] || !s->fft_r[i] || !s->ifft_r[i])
-            return AVERROR(ENOMEM);
+        int err;
+
+        if ((err = av_tx_init(&s->fft[i],    &s->tx_fn,    AV_TX_FLOAT_FFT,
+                              0, s->block_size,               &scale,  0)) < 0 ||
+            (err = av_tx_init(&s->ifft[i],   &s->itx_fn,   AV_TX_FLOAT_FFT,
+                              1, s->block_size,               &iscale, 0)) < 0 ||
+            (err = av_tx_init(&s->fft_r[i],  &s->tx_r_fn,  AV_TX_FLOAT_FFT,
+                              0, 1 + s->nb_prev + s->nb_next, &scale,  0)) < 0 ||
+            (err = av_tx_init(&s->ifft_r[i], &s->itx_r_fn, AV_TX_FLOAT_FFT,
+                              1, 1 + s->nb_prev + s->nb_next, &iscale, 0)) < 0)
+            return err;
     }
 
     for (i = 0; i < s->nb_planes; i++) {
-- 
2.34.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: Check return value of av_tx_init()
  2022-11-09 16:34 [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: Check return value of av_tx_init() Andreas Rheinhardt
                   ` (2 preceding siblings ...)
  2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 4/4] avfilter/vf_fftdnoiz: " Andreas Rheinhardt
@ 2022-11-11 17:36 ` Andreas Rheinhardt
  3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-11-11 17:36 UTC (permalink / raw)
  To: ffmpeg-devel

Andreas Rheinhardt:
> Should fix Coverity issue #1516766.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
> ---
>  libavfilter/af_surround.c | 18 ++++++++++--------
>  1 file changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/libavfilter/af_surround.c b/libavfilter/af_surround.c
> index 858fed609a..969325cf6b 100644
> --- a/libavfilter/af_surround.c
> +++ b/libavfilter/af_surround.c
> @@ -194,7 +194,7 @@ static int config_input(AVFilterLink *inlink)
>  {
>      AVFilterContext *ctx = inlink->dst;
>      AudioSurroundContext *s = ctx->priv;
> -    int ch;
> +    int ch, err;
>  
>      s->rdft = av_calloc(inlink->ch_layout.nb_channels, sizeof(*s->rdft));
>      if (!s->rdft)
> @@ -204,9 +204,10 @@ static int config_input(AVFilterLink *inlink)
>      for (ch = 0; ch < inlink->ch_layout.nb_channels; ch++) {
>          float scale = 1.f;
>  
> -        av_tx_init(&s->rdft[ch], &s->tx_fn, AV_TX_FLOAT_RDFT, 0, s->buf_size, &scale, 0);
> -        if (!s->rdft[ch])
> -            return AVERROR(ENOMEM);
> +        err = av_tx_init(&s->rdft[ch], &s->tx_fn, AV_TX_FLOAT_RDFT,
> +                         0, s->buf_size, &scale, 0);
> +        if (err < 0)
> +            return err;
>      }
>      s->input_levels = av_malloc_array(s->nb_in_channels, sizeof(*s->input_levels));
>      if (!s->input_levels)
> @@ -263,7 +264,7 @@ static int config_output(AVFilterLink *outlink)
>  {
>      AVFilterContext *ctx = outlink->src;
>      AudioSurroundContext *s = ctx->priv;
> -    int ch;
> +    int ch, err;
>  
>      s->irdft = av_calloc(outlink->ch_layout.nb_channels, sizeof(*s->irdft));
>      if (!s->irdft)
> @@ -273,9 +274,10 @@ static int config_output(AVFilterLink *outlink)
>      for (ch = 0; ch < outlink->ch_layout.nb_channels; ch++) {
>          float iscale = 1.f;
>  
> -        av_tx_init(&s->irdft[ch], &s->itx_fn, AV_TX_FLOAT_RDFT, 1, s->buf_size, &iscale, 0);
> -        if (!s->irdft[ch])
> -            return AVERROR(ENOMEM);
> +        err = av_tx_init(&s->irdft[ch], &s->itx_fn, AV_TX_FLOAT_RDFT,
> +                         1, s->buf_size, &iscale, 0);
> +        if (err < 0)
> +            return err;
>      }
>      s->output_levels = av_malloc_array(s->nb_out_channels, sizeof(*s->output_levels));
>      if (!s->output_levels)

Will apply this patchset tomorrow unless there are objections.

- Andreas

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-11-11 17:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-09 16:34 [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: Check return value of av_tx_init() Andreas Rheinhardt
2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 2/4] avfilter/vf_fftfilt: " Andreas Rheinhardt
2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 3/4] avfilter/af_afir: " Andreas Rheinhardt
2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 4/4] avfilter/vf_fftdnoiz: " Andreas Rheinhardt
2022-11-11 17:36 ` [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: " Andreas Rheinhardt

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git