summaryrefslogtreecommitdiff
path: root/libavfilter/af_sofalizer.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavfilter/af_sofalizer.c')
-rw-r--r--libavfilter/af_sofalizer.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavfilter/af_sofalizer.c b/libavfilter/af_sofalizer.c
index 7812e25557..c30f99c810 100644
--- a/libavfilter/af_sofalizer.c
+++ b/libavfilter/af_sofalizer.c
@@ -627,6 +627,13 @@ static int getfilter_float(AVFilterContext *ctx, float x, float y, float z,
nearest, neighbors,
s->sofa.fir, delays);
} else {
+ if (s->sofa.hrtf->DataDelay.elements > s->sofa.hrtf->R) {
+ delays[0] = s->sofa.hrtf->DataDelay.values[nearest * s->sofa.hrtf->R];
+ delays[1] = s->sofa.hrtf->DataDelay.values[nearest * s->sofa.hrtf->R + 1];
+ } else {
+ delays[0] = s->sofa.hrtf->DataDelay.values[0];
+ delays[1] = s->sofa.hrtf->DataDelay.values[1];
+ }
res = s->sofa.hrtf->DataIR.values + nearest * s->sofa.hrtf->N * s->sofa.hrtf->R;
}