Stateful deterministic wrapper for per-sample and block processing. More...
#include <dither.hpp>
Public Member Functions | |
| void | set_bits (SampleType bits) noexcept |
| void | set_dither_mode (DitherMode mode) noexcept |
| void | set_noise_shaping (NoiseShapingOrder order) noexcept |
| void | set_seed (std::uint32_t seed) noexcept |
| void | sync_configuration_from (const DitherQuantizerT &other) noexcept |
| Copy policy and reset seed without copying another instance's live error memory or random-stream position. | |
| void | reset () noexcept |
| SampleType | process (SampleType input) noexcept |
| void | process (SampleType *samples, int count) noexcept |
| SampleType | bits () const noexcept |
| DitherMode | dither_mode () const noexcept |
| NoiseShapingOrder | noise_shaping () const noexcept |
| const NoiseShaperStateT< SampleType > & | state () const noexcept |
| std::uint32_t | rng_state () const noexcept |
| std::uint32_t | seed () const noexcept |
Static Public Member Functions | |
| static constexpr int | latency_samples () noexcept |
Static Public Attributes | |
| static constexpr std::uint32_t | default_seed = 0x2C1B3A5Du |
Stateful deterministic wrapper for per-sample and block processing.
RT contract: all state is fixed-size scalar storage. process, reset, and every setter allocate nothing, take no locks, and do not throw. The random stream advances only when TPDF is enabled and the quantizer is active.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinestaticconstexprnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Copy policy and reset seed without copying another instance's live error memory or random-stream position.
|
staticconstexpr |