diff options
author | Chris Robinson <chris.kcat@gmail.com> | 2019-09-26 19:24:29 -0700 |
---|---|---|
committer | Chris Robinson <chris.kcat@gmail.com> | 2019-09-26 19:24:29 -0700 |
commit | 9b64e5e0db2a778313bb873bb38f481ce40efe31 (patch) | |
tree | 4ac057e992a8720abf57e1ce548d4bda1a750f42 /alc/alu.h | |
parent | d50ca464cd5e4f07bc399fd244578b0b34d72aef (diff) |
Implement a "fast" bsinc path
This takes advantage of the fact than when increment <= 1 (when not down-
sampling), the scale factor is always 0. As a result, the scale and scale-phase
deltas never contribute to the filtered output. Removing those multiply+add
operations cuts half of the work done by the inner loop.
Sounds that do need to down-sample (when played with a high pitch, or is 48khz
on 44.1khz output, for example), still go through the normal bsinc process.
Diffstat (limited to 'alc/alu.h')
-rw-r--r-- | alc/alu.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -370,7 +370,7 @@ void aluInit(void); void aluInitMixer(void); -ResamplerFunc SelectResampler(Resampler resampler); +ResamplerFunc SelectResampler(Resampler resampler, ALuint increment); /* aluInitRenderer * |