]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/af_headphone.c
avfilter/af_aiir: check if frame clone is set
[ffmpeg] / libavfilter / af_headphone.c
index dab897f00a7b2b036742a8578aa83f9b3463ac7d..552ad84837e034b1e995e5c684de76c0172a1ad0 100644 (file)
@@ -208,12 +208,12 @@ static int headphone_convolute(AVFilterContext *ctx, void *arg, int jobnr, int n
                 continue;
             }
 
-            read = (wr - *(delay + l) - (air_len - 1) + buffer_length) & modulo;
+            read = (wr - *(delay + l) - (ir_len - 1) + buffer_length) & modulo;
 
-            if (read + air_len < buffer_length) {
-                memcpy(temp_src, bptr + read, air_len * sizeof(*temp_src));
+            if (read + ir_len < buffer_length) {
+                memcpy(temp_src, bptr + read, ir_len * sizeof(*temp_src));
             } else {
-                int len = FFMIN(air_len - (read % air_len), buffer_length - read);
+                int len = FFMIN(air_len - (read % ir_len), buffer_length - read);
 
                 memcpy(temp_src, bptr + read, len * sizeof(*temp_src));
                 memcpy(temp_src + len, bptr, (air_len - len) * sizeof(*temp_src));
@@ -418,12 +418,12 @@ static int convert_coeffs(AVFilterContext *ctx, AVFilterLink *inlink)
 
         av_fft_end(s->fft[0]);
         av_fft_end(s->fft[1]);
-        s->fft[0] = av_fft_init(log2(s->n_fft), 0);
-        s->fft[1] = av_fft_init(log2(s->n_fft), 0);
+        s->fft[0] = av_fft_init(av_log2(s->n_fft), 0);
+        s->fft[1] = av_fft_init(av_log2(s->n_fft), 0);
         av_fft_end(s->ifft[0]);
         av_fft_end(s->ifft[1]);
-        s->ifft[0] = av_fft_init(log2(s->n_fft), 1);
-        s->ifft[1] = av_fft_init(log2(s->n_fft), 1);
+        s->ifft[0] = av_fft_init(av_log2(s->n_fft), 1);
+        s->ifft[1] = av_fft_init(av_log2(s->n_fft), 1);
 
         if (!s->fft[0] || !s->fft[1] || !s->ifft[0] || !s->ifft[1]) {
             av_log(ctx, AV_LOG_ERROR, "Unable to create FFT contexts of size %d.\n", s->n_fft);
@@ -709,7 +709,7 @@ static int query_formats(AVFilterContext *ctx)
     if (s->hrir_fmt == HRIR_MULTI) {
         hrir_layouts = ff_all_channel_counts();
         if (!hrir_layouts)
-            ret = AVERROR(ENOMEM);
+            return AVERROR(ENOMEM);
         ret = ff_channel_layouts_ref(hrir_layouts, &ctx->inputs[1]->out_channel_layouts);
         if (ret)
             return ret;