Commit 3565f0c8 authored by Max Kellermann's avatar Max Kellermann

pcm/Dsd2Pcm: move code to TranslateSample()

10% speedup. Strange, huh?
parent 9647b2cb
......@@ -183,6 +183,13 @@ Dsd2Pcm::CalcOutputSample(size_t ffp) const noexcept
return acc;
}
inline float
Dsd2Pcm::TranslateSample(size_t ffp, uint8_t src) noexcept
{
ApplySample(ffp, src);
return CalcOutputSample(ffp);
}
void
Dsd2Pcm::Translate(size_t samples,
const uint8_t *src, ptrdiff_t src_stride,
......@@ -194,8 +201,7 @@ Dsd2Pcm::Translate(size_t samples,
unsigned bite1 = *src & 0xFFu;
src += src_stride;
if (lsbf) bite1 = bit_reverse(bite1);
ApplySample(ffp, bite1);
*dst = CalcOutputSample(ffp);
*dst = TranslateSample(ffp, bite1);
dst += dst_stride;
ffp = (ffp + 1) & FIFOMASK;
}
......
......@@ -78,6 +78,7 @@ public:
private:
void ApplySample(size_t ffp, uint8_t src) noexcept;
float CalcOutputSample(size_t ffp) const noexcept;
float TranslateSample(size_t ffp, uint8_t src) noexcept;
};
#endif /* include guard DSD2PCM_H_INCLUDED */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment