| 81 | } |
| 82 | |
| 83 | void EBUR128::ProcessSampleFromChannel(float x_in, size_t channel) const |
| 84 | { |
| 85 | double value; |
| 86 | value = mWeightingFilter[channel][0].ProcessOne(x_in); |
| 87 | value = mWeightingFilter[channel][1].ProcessOne(value); |
| 88 | if(channel == 0) |
| 89 | mBlockRingBuffer[mBlockRingPos] = value * value; |
| 90 | else |
| 91 | { |
| 92 | // Add the power of additional channels to the power of first channel. |
| 93 | // As a result, stereo tracks appear about 3 LUFS louder, as specified. |
| 94 | mBlockRingBuffer[mBlockRingPos] += value * value; |
| 95 | } |
| 96 | } |
| 97 | |
| 98 | void EBUR128::NextSample() |
| 99 | { |
no test coverage detected