Hello, I've started working with your APT-x100 decoder, and it works really well. Since the codec encodes the LFE channel as part of the two surround channels, I was wondering if you could describe how the LFE and surround channels are decoded by your plugin.
What sort of High pass/Low pass filtering is done to separate out the different channels?
Are the calculations done at 32bit, 24bit, or 16bit?
Thanks for your extremely useful tool!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Plugin uses 4-th order LF IIR filter with 80 Hz cutoff to extract LFE channel from L/R surround channels: LFE = (LF_filter(Ls) + LF_filter(Rs)) / 2. And the dual filter (4-th order HF IIR, 80 Hz cutoff) removes LFE data from L/R surround channels.
LF/HF filters use double format (64 bit floating point). Then results are dithered and rounded to 16 bit.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello, I've started working with your APT-x100 decoder, and it works really well. Since the codec encodes the LFE channel as part of the two surround channels, I was wondering if you could describe how the LFE and surround channels are decoded by your plugin.
What sort of High pass/Low pass filtering is done to separate out the different channels?
Are the calculations done at 32bit, 24bit, or 16bit?
Thanks for your extremely useful tool!
Plugin uses 4-th order LF IIR filter with 80 Hz cutoff to extract LFE channel from L/R surround channels: LFE = (LF_filter(Ls) + LF_filter(Rs)) / 2. And the dual filter (4-th order HF IIR, 80 Hz cutoff) removes LFE data from L/R surround channels.
LF/HF filters use double format (64 bit floating point). Then results are dithered and rounded to 16 bit.
Thanks for the explanation. It's really nice to have this all integrated within the plugin.