[FFmpeg-cvslog] avfilter/af_sofalizer: fix calculation of split point

Paul B Mahol git at videolan.org
Sun Dec 13 17:57:22 CET 2015


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Sun Dec 13 17:37:47 2015 +0100| [f69f050a316810dca1f3bce79d5c7ccaa2ea51c0] | committer: Paul B Mahol

avfilter/af_sofalizer: fix calculation of split point

Signed-off-by: Paul B Mahol <onemda at gmail.com>

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

 libavfilter/af_sofalizer.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavfilter/af_sofalizer.c b/libavfilter/af_sofalizer.c
index e8698fb..5143145 100644
--- a/libavfilter/af_sofalizer.c
+++ b/libavfilter/af_sofalizer.c
@@ -652,8 +652,10 @@ static int sofalizer_convolute(AVFilterContext *ctx, void *arg, int jobnr, int n
             if (read + n_samples < buffer_length) {
                 memcpy(temp_src, bptr + read, n_samples * sizeof(*temp_src));
             } else {
-                memcpy(temp_src, bptr + read, (buffer_length - read) * sizeof(*temp_src));
-                memcpy(temp_src + (buffer_length - read), bptr, (read - n_samples) * sizeof(*temp_src));
+                int len = FFMIN(n_samples - (read % n_samples), buffer_length - read);
+
+                memcpy(temp_src, bptr + read, len * sizeof(*temp_src));
+                memcpy(temp_src + len, bptr, (n_samples - len) * sizeof(*temp_src));
             }
 
             /* multiply signal and IR, and add up the results */



More information about the ffmpeg-cvslog mailing list