[FFmpeg-cvslog] avfilter/af_amix: Use avpriv_float_dsp_alloc()

Michael Niedermayer git at videolan.org
Tue Nov 18 13:53:13 CET 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue Nov 18 12:24:16 2014 +0100| [aa97223f14a1aad2a54fc87dd196c2c5e6ba6f40] | committer: Michael Niedermayer

avfilter/af_amix: Use avpriv_float_dsp_alloc()

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=aa97223f14a1aad2a54fc87dd196c2c5e6ba6f40
---

 libavfilter/af_amix.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c
index 47cbb45..e40969f 100644
--- a/libavfilter/af_amix.c
+++ b/libavfilter/af_amix.c
@@ -155,7 +155,7 @@ static int frame_list_add_frame(FrameList *frame_list, int nb_samples, int64_t p
 
 typedef struct MixContext {
     const AVClass *class;       /**< class for AVOptions */
-    AVFloatDSPContext fdsp;
+    AVFloatDSPContext *fdsp;
 
     int nb_inputs;              /**< number of inputs */
     int active_inputs;          /**< number of input currently active */
@@ -298,7 +298,7 @@ static int output_frame(AVFilterLink *outlink, int nb_samples)
             plane_size = FFALIGN(plane_size, 16);
 
             for (p = 0; p < planes; p++) {
-                s->fdsp.vector_fmac_scalar((float *)out_buf->extended_data[p],
+                s->fdsp->vector_fmac_scalar((float *)out_buf->extended_data[p],
                                            (float *) in_buf->extended_data[p],
                                            s->input_scale[i], plane_size);
             }
@@ -501,7 +501,9 @@ static av_cold int init(AVFilterContext *ctx)
         ff_insert_inpad(ctx, i, &pad);
     }
 
-    avpriv_float_dsp_init(&s->fdsp, 0);
+    s->fdsp = avpriv_float_dsp_alloc(0);
+    if (!s->fdsp)
+        return AVERROR(ENOMEM);
 
     return 0;
 }
@@ -520,6 +522,7 @@ static av_cold void uninit(AVFilterContext *ctx)
     av_freep(&s->frame_list);
     av_freep(&s->input_state);
     av_freep(&s->input_scale);
+    av_freep(&s->fdsp);
 
     for (i = 0; i < ctx->nb_inputs; i++)
         av_freep(&ctx->input_pads[i].name);



More information about the ffmpeg-cvslog mailing list