diff options
author | Chris Robinson <[email protected]> | 2019-08-25 15:36:40 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2019-08-25 15:36:40 -0700 |
commit | 88a8bf903b08cd93ea7028a4c726f39e4cde7c79 (patch) | |
tree | b24161d1c89d9335262787a8b0c7c930f2976c0e | |
parent | e165cae3cddec51332660bdb1e69d7fa5f687e68 (diff) |
Use size_t for the post-process sample length
-rw-r--r-- | alc/alcmain.h | 12 | ||||
-rw-r--r-- | alc/alu.cpp | 9 | ||||
-rw-r--r-- | alc/bformatdec.cpp | 6 | ||||
-rw-r--r-- | alc/bformatdec.h | 2 | ||||
-rw-r--r-- | alc/bs2b.cpp | 14 | ||||
-rw-r--r-- | alc/bs2b.h | 2 | ||||
-rw-r--r-- | alc/uhjfilter.cpp | 17 | ||||
-rw-r--r-- | alc/uhjfilter.h | 2 |
8 files changed, 32 insertions, 32 deletions
diff --git a/alc/alcmain.h b/alc/alcmain.h index 910e3279..6b6a8de3 100644 --- a/alc/alcmain.h +++ b/alc/alcmain.h @@ -303,7 +303,7 @@ struct ALCdevice : public al::intrusive_ref<ALCdevice> { /* Stereo-to-binaural filter */ std::unique_ptr<bs2b> Bs2b; - using PostProc = void(ALCdevice::*)(const ALsizei SamplesToDo); + using PostProc = void(ALCdevice::*)(const size_t SamplesToDo); PostProc PostProcess{nullptr}; std::unique_ptr<FrontStablizer> Stablizer; @@ -344,12 +344,12 @@ struct ALCdevice : public al::intrusive_ref<ALCdevice> { ALsizei channelsFromFmt() const noexcept { return ChannelsFromDevFmt(FmtChans, mAmbiOrder); } ALsizei frameSizeFromFmt() const noexcept { return bytesFromFmt() * channelsFromFmt(); } - void ProcessHrtf(const ALsizei SamplesToDo); - void ProcessAmbiDec(const ALsizei SamplesToDo); - void ProcessUhj(const ALsizei SamplesToDo); - void ProcessBs2b(const ALsizei SamplesToDo); + void ProcessHrtf(const size_t SamplesToDo); + void ProcessAmbiDec(const size_t SamplesToDo); + void ProcessUhj(const size_t SamplesToDo); + void ProcessBs2b(const size_t SamplesToDo); - inline void postProcess(const ALsizei SamplesToDo) + inline void postProcess(const size_t SamplesToDo) { if LIKELY(PostProcess) (this->*PostProcess)(SamplesToDo); } DEF_NEWDEL(ALCdevice) diff --git a/alc/alu.cpp b/alc/alu.cpp index a7d7cd70..c961f5d5 100644 --- a/alc/alu.cpp +++ b/alc/alu.cpp @@ -152,24 +152,23 @@ void aluInit(void) } -void ALCdevice::ProcessHrtf(const ALsizei SamplesToDo) +void ALCdevice::ProcessHrtf(const size_t SamplesToDo) { /* HRTF is stereo output only. */ const int lidx{RealOut.ChannelIndex[FrontLeft]}; const int ridx{RealOut.ChannelIndex[FrontRight]}; ASSUME(lidx >= 0 && ridx >= 0); - ASSUME(SamplesToDo >= 0); MixDirectHrtf(RealOut.Buffer[lidx], RealOut.Buffer[ridx], Dry.Buffer, HrtfAccumData, mHrtfState.get(), SamplesToDo); } -void ALCdevice::ProcessAmbiDec(const ALsizei SamplesToDo) +void ALCdevice::ProcessAmbiDec(const size_t SamplesToDo) { AmbiDecoder->process(RealOut.Buffer, Dry.Buffer.data(), SamplesToDo); } -void ALCdevice::ProcessUhj(const ALsizei SamplesToDo) +void ALCdevice::ProcessUhj(const size_t SamplesToDo) { /* UHJ is stereo output only. */ const int lidx{RealOut.ChannelIndex[FrontLeft]}; @@ -181,7 +180,7 @@ void ALCdevice::ProcessUhj(const ALsizei SamplesToDo) SamplesToDo); } -void ALCdevice::ProcessBs2b(const ALsizei SamplesToDo) +void ALCdevice::ProcessBs2b(const size_t SamplesToDo) { /* First, decode the ambisonic mix to the "real" output. */ AmbiDecoder->process(RealOut.Buffer, Dry.Buffer.data(), SamplesToDo); diff --git a/alc/bformatdec.cpp b/alc/bformatdec.cpp index 7d681bc6..c2137b33 100644 --- a/alc/bformatdec.cpp +++ b/alc/bformatdec.cpp @@ -146,7 +146,7 @@ BFormatDec::BFormatDec(const ALuint inchans, const ALsizei chancount, void BFormatDec::process(const al::span<FloatBufferLine> OutBuffer, - const FloatBufferLine *InSamples, const ALsizei SamplesToDo) + const FloatBufferLine *InSamples, const size_t SamplesToDo) { ASSUME(SamplesToDo > 0); @@ -162,7 +162,7 @@ void BFormatDec::process(const al::span<FloatBufferLine> OutBuffer, { if LIKELY(enabled&1) { - const al::span<float> outspan{outbuf.data(), outbuf.data()+SamplesToDo}; + const al::span<float> outspan{outbuf.data(), SamplesToDo}; MixRowSamples(outspan, {(*mixmtx)[sHFBand], mNumChannels}, mSamplesHF->data(), mSamplesHF->size()); MixRowSamples(outspan, {(*mixmtx)[sLFBand], mNumChannels}, mSamplesLF->data(), @@ -179,7 +179,7 @@ void BFormatDec::process(const al::span<FloatBufferLine> OutBuffer, for(FloatBufferLine &outbuf : OutBuffer) { if LIKELY(enabled&1) - MixRowSamples({outbuf.data(), outbuf.data()+SamplesToDo}, {*mixmtx, mNumChannels}, + MixRowSamples({outbuf.data(), SamplesToDo}, {*mixmtx, mNumChannels}, InSamples->data(), InSamples->size()); ++mixmtx; enabled >>= 1; diff --git a/alc/bformatdec.h b/alc/bformatdec.h index dbde90c8..98cbb022 100644 --- a/alc/bformatdec.h +++ b/alc/bformatdec.h @@ -50,7 +50,7 @@ public: /* Decodes the ambisonic input to the given output channels. */ void process(const al::span<FloatBufferLine> OutBuffer, const FloatBufferLine *InSamples, - const ALsizei SamplesToDo); + const size_t SamplesToDo); /* Retrieves per-order HF scaling factors for "upsampling" ambisonic data. */ static std::array<ALfloat,MAX_AMBI_ORDER+1> GetHFOrderScales(const ALsizei in_order, diff --git a/alc/bs2b.cpp b/alc/bs2b.cpp index 71249d4a..fb75188c 100644 --- a/alc/bs2b.cpp +++ b/alc/bs2b.cpp @@ -130,7 +130,7 @@ void bs2b_clear(struct bs2b *bs2b) std::fill(std::begin(bs2b->history), std::end(bs2b->history), bs2b::t_last_sample{}); } /* bs2b_clear */ -void bs2b_cross_feed(struct bs2b *bs2b, float *Left, float *Right, int SamplesToDo) +void bs2b_cross_feed(struct bs2b *bs2b, float *Left, float *Right, size_t SamplesToDo) { const float a0_lo{bs2b->a0_lo}; const float b1_lo{bs2b->b1_lo}; @@ -140,14 +140,14 @@ void bs2b_cross_feed(struct bs2b *bs2b, float *Left, float *Right, int SamplesTo float lsamples[128][2]; float rsamples[128][2]; - for(int base{0};base < SamplesToDo;) + for(size_t base{0};base < SamplesToDo;) { - const int todo{std::min(128, SamplesToDo-base)}; + const size_t todo{std::min<size_t>(128, SamplesToDo-base)}; /* Process left input */ float z_lo{bs2b->history[0].lo}; float z_hi{bs2b->history[0].hi}; - for(int i{0};i < todo;i++) + for(size_t i{0};i < todo;i++) { lsamples[i][0] = a0_lo*Left[i] + z_lo; z_lo = b1_lo*lsamples[i][0]; @@ -161,7 +161,7 @@ void bs2b_cross_feed(struct bs2b *bs2b, float *Left, float *Right, int SamplesTo /* Process right input */ z_lo = bs2b->history[1].lo; z_hi = bs2b->history[1].hi; - for(int i{0};i < todo;i++) + for(size_t i{0};i < todo;i++) { rsamples[i][0] = a0_lo*Right[i] + z_lo; z_lo = b1_lo*rsamples[i][0]; @@ -173,9 +173,9 @@ void bs2b_cross_feed(struct bs2b *bs2b, float *Left, float *Right, int SamplesTo bs2b->history[1].hi = z_hi; /* Crossfeed */ - for(int i{0};i < todo;i++) + for(size_t i{0};i < todo;i++) *(Left++) = lsamples[i][1] + rsamples[i][0]; - for(int i{0};i < todo;i++) + for(size_t i{0};i < todo;i++) *(Right++) = rsamples[i][1] + lsamples[i][0]; base += todo; @@ -84,6 +84,6 @@ int bs2b_get_srate(bs2b *bs2b); /* Clear buffer */ void bs2b_clear(bs2b *bs2b); -void bs2b_cross_feed(bs2b *bs2b, float *Left, float *Right, int SamplesToDo); +void bs2b_cross_feed(bs2b *bs2b, float *Left, float *Right, size_t SamplesToDo); #endif /* BS2B_H */ diff --git a/alc/uhjfilter.cpp b/alc/uhjfilter.cpp index 7f3cd069..222f519a 100644 --- a/alc/uhjfilter.cpp +++ b/alc/uhjfilter.cpp @@ -64,7 +64,8 @@ void allpass_process(AllPassState *state, ALfloat *dst, const ALfloat *src, cons * know which is the intended result. */ -void Uhj2Encoder::encode(FloatBufferLine &LeftOut, FloatBufferLine &RightOut, FloatBufferLine *InSamples, const ALsizei SamplesToDo) +void Uhj2Encoder::encode(FloatBufferLine &LeftOut, FloatBufferLine &RightOut, + FloatBufferLine *InSamples, const size_t SamplesToDo) { alignas(16) ALfloat D[MAX_UPDATE_SAMPLES], S[MAX_UPDATE_SAMPLES]; alignas(16) ALfloat temp[MAX_UPDATE_SAMPLES]; @@ -74,9 +75,9 @@ void Uhj2Encoder::encode(FloatBufferLine &LeftOut, FloatBufferLine &RightOut, Fl auto winput = InSamples[0].cbegin(); auto xinput = InSamples[1].cbegin(); auto yinput = InSamples[2].cbegin(); - for(ALsizei base{0};base < SamplesToDo;) + for(size_t base{0};base < SamplesToDo;) { - const ALsizei todo{mini(SamplesToDo - base, MAX_UPDATE_SAMPLES)}; + const size_t todo{minz(SamplesToDo - base, MAX_UPDATE_SAMPLES)}; ASSUME(todo > 0); /* D = 0.6554516*Y */ @@ -91,7 +92,7 @@ void Uhj2Encoder::encode(FloatBufferLine &LeftOut, FloatBufferLine &RightOut, Fl * output sample. */ D[0] = mLastY; - for(ALsizei i{1};i < todo;i++) + for(size_t i{1};i < todo;i++) D[i] = temp[i-1]; mLastY = temp[todo-1]; @@ -103,7 +104,7 @@ void Uhj2Encoder::encode(FloatBufferLine &LeftOut, FloatBufferLine &RightOut, Fl allpass_process(&mFilter2_WX[1], temp, temp, Filter2CoeffSqr[1], todo); allpass_process(&mFilter2_WX[2], temp, temp, Filter2CoeffSqr[2], todo); allpass_process(&mFilter2_WX[3], temp, temp, Filter2CoeffSqr[3], todo); - for(ALsizei i{0};i < todo;i++) + for(size_t i{0};i < todo;i++) D[i] += temp[i]; /* S = 0.9396926*W + 0.1855740*X */ @@ -115,17 +116,17 @@ void Uhj2Encoder::encode(FloatBufferLine &LeftOut, FloatBufferLine &RightOut, Fl allpass_process(&mFilter1_WX[2], temp, temp, Filter1CoeffSqr[2], todo); allpass_process(&mFilter1_WX[3], temp, temp, Filter1CoeffSqr[3], todo); S[0] = mLastWX; - for(ALsizei i{1};i < todo;i++) + for(size_t i{1};i < todo;i++) S[i] = temp[i-1]; mLastWX = temp[todo-1]; /* Left = (S + D)/2.0 */ ALfloat *RESTRICT left = al::assume_aligned<16>(LeftOut.data()+base); - for(ALsizei i{0};i < todo;i++) + for(size_t i{0};i < todo;i++) left[i] += (S[i] + D[i]) * 0.5f; /* Right = (S - D)/2.0 */ ALfloat *RESTRICT right = al::assume_aligned<16>(RightOut.data()+base); - for(ALsizei i{0};i < todo;i++) + for(size_t i{0};i < todo;i++) right[i] += (S[i] - D[i]) * 0.5f; winput += todo; diff --git a/alc/uhjfilter.h b/alc/uhjfilter.h index 53e4f89e..88d30351 100644 --- a/alc/uhjfilter.h +++ b/alc/uhjfilter.h @@ -46,7 +46,7 @@ struct Uhj2Encoder { * signal. The input must use FuMa channel ordering and scaling. */ void encode(FloatBufferLine &LeftOut, FloatBufferLine &RightOut, FloatBufferLine *InSamples, - const ALsizei SamplesToDo); + const size_t SamplesToDo); DEF_NEWDEL(Uhj2Encoder) }; |