remove unused dithering stuff

custom
jacqueline 2 years ago
parent a4ba7350a7
commit 9ddaca4fcb
  1. 3
      src/audio/include/sink_mixer.hpp
  2. 27
      src/audio/sink_mixer.cpp

@ -41,9 +41,6 @@ class SinkMixer {
auto SetTargetFormat(const StreamInfo::Pcm& format) -> void; auto SetTargetFormat(const StreamInfo::Pcm& format) -> void;
auto HandleSamples(cpp::span<sample::Sample>, bool) -> size_t; auto HandleSamples(cpp::span<sample::Sample>, bool) -> size_t;
auto ApplyDither(cpp::span<sample::Sample> samples, uint_fast8_t bits)
-> void;
struct Args { struct Args {
IAudioSink::Format format; IAudioSink::Format format;
size_t samples_available; size_t samples_available;

@ -180,22 +180,6 @@ auto SinkMixer::HandleSamples(cpp::span<sample::Sample> input, bool is_eos)
samples_used = input.size(); samples_used = input.size();
} }
/*
if (target_format_.bits_per_sample == 16) {
// FIXME: The source should have some kind of hint indicating whether it
// needs dither, since some codecs (e.g. opus) apply their own dither.
ApplyDither(output_source, 16);
cpp::span<int16_t> dest{reinterpret_cast<int16_t*>(output_source.data()),
output_source.size()};
for (size_t i = 0; i < output_source.size(); i++) {
dest[i] = sample::ToSigned16Bit(output_source[i]);
}
output_source = output_source.first(output_source.size() / 2);
}
*/
size_t bytes_sent = 0; size_t bytes_sent = 0;
size_t bytes_to_send = output_source.size_bytes(); size_t bytes_to_send = output_source.size_bytes();
while (bytes_sent < bytes_to_send) { while (bytes_sent < bytes_to_send) {
@ -208,15 +192,4 @@ auto SinkMixer::HandleSamples(cpp::span<sample::Sample> input, bool is_eos)
return samples_used; return samples_used;
} }
auto SinkMixer::ApplyDither(cpp::span<sample::Sample> samples,
uint_fast8_t bits) -> void {
static uint32_t prnd;
for (auto& s : samples) {
prnd = (prnd * 0x19660dL + 0x3c6ef35fL) & 0xffffffffL;
s = sample::Clip(
static_cast<int64_t>(s) +
(static_cast<int>(prnd) >> (sizeof(sample::Sample) - bits)));
}
}
} // namespace audio } // namespace audio

Loading…
Cancel
Save