Just to explain some major differences between how typical DAC chips work vs how HQPlayer processes signal…
When RedBook content is played, typical DAC chip processing path looks like this:
[2x 63-tap FIR] -> [2x 31-tap FIR] -> [2x 15-tap FIR] -> [16x sample&hold] -> [3rd order sigma-delta modulator]
So after first stage rate is 88.2k, after second stage 176.4k and after third stage 352.8k. After that point, every sample is repeated 16 times (sample&hold aka zero-order-hold) reaching 5.6 MHz rate before entering the modulator. Samples are either 24-bit integer in older/inexpensive chips and 32-bit integer in modern more expensive chips. This processing means there are some notable rounding errors involved. There are also mirror images of the signal around every multiple of 352.8k rate. Each FIR stage has about half the taps, because it has half the number of master clock cycles to spend vs sample period. All processing is run synchronously to the sampling rate.
If you input at “2x” rate of 88.2/96, the first FIR stage is dropped out, if you input at “4x” rate of 176.4/192, the first and second FIR stages are dropped out. If you can input at “8x” rate of 352./384, all the FIR sections are dropped and only remaining S&H and SDM are in use.
What you can do with HQPlayer is alternatively:
[128x polyphase or closed-form] -> [7th order sigma-delta modulator]
for DSD output. Or alternatively:
[8x polyphase or closed-form]
for PCM output straight into S&H stage or a ladder DAC (like Metrum for example).
Samples are 64-bit floating point (with 80-bit used where necessary). There are significantly more clock cycles per sample available due to higher clock speed - 4 GHz CPU clock vs 25 or 50 MHz DAC clock. Processing is also asynchronous, so when necessary, the processing can decide to go back in time and recalculate things if it thinks that some adjustments need to be made, availability of large RAM enables this in practice.