75 #define MUTE_THRESHOLD_SEC 0.000333
79 #define S16_SCALE 32753.0f
82 #define LFG_SCALE (1.0f / (2.0f * INT32_MAX))
87 2.2374f, -0.7339f, -0.1251f, -0.6033f
91 0.9030f, 0.0116f, -0.5853f, -0.2571f
95 2.2061f, -0.4707f, -0.2534f, -0.6213f
99 1.0587f, 0.0676f, -0.6054f, -0.2738f
105 for (i = 0; i <
len; i++)
112 int *src1 = src0 +
len;
114 for (i = 0; i <
len; i++) {
124 for (i = 0; i <
len; i++)
128 #define SQRT_1_6 0.40824829046386301723f
135 for (i = 0; i < len - 2; i++)
136 src[i] = (-src[i] + 2 * src[i + 1] - src[i + 2]) *
SQRT_1_6;
144 int buf_samples = nb_samples *
146 unsigned int *noise_buf_ui;
155 noise_buf_ui = (
unsigned int *)state->
noise_buf;
158 for (i = 0; i < buf_samples; i++)
170 int16_t *
dst,
const float *src,
183 for (j = 0; j < 4; j++) {
187 for (j = 3; j > 0; j--) {
195 dst[i] = av_clip_int16(
lrintf(sample));
198 dst[i] = av_clip_int16(
lrintf(sample + dither[i]));
199 state->
dither_b[0] = av_clipf(dst[i] - sample, -1.5f, 1.5f);
212 int aligned_samples =
FFALIGN(nb_samples, 16);
214 for (ch = 0; ch < channels; ch++) {
275 if (!(ptr_align % c->
ddsp.
ptr_align) && samples_align >= aligned_len) {
314 for (ch = 0; ch < c->
channels; ch++)
354 sample_rate != 48000 && sample_rate != 44100) {
356 "for triangular_ns dither. using triangular_hp instead.\n");
363 if (sample_rate == 48000) {
377 "dither s16 buffer");
382 channels, sample_rate);
389 "dither flt buffer");
394 channels, sample_rate);
411 for (ch = 0; ch < channels; ch++) {