History

avfilter/af_dialoguenhance: do output scaling once

Paul B Mahol committed 2 years ago

Commit f1f97331 parent b1942731 file · +4 −7Browse files

Unified · Split

libavfilter/af_dialoguenhance.c+4−7
@@ -108,7 +108,7 @@ static int config_input(AVFilterLink *inlink) · 107 unmodified lines
108 108
109 generate_window_func(s->window, s->fft_size, WFUNC_SINE, &overlap);109 generate_window_func(s->window, s->fft_size, WFUNC_SINE, &overlap);
110 110
111 iscale = 1.f / s->fft_size;111 iscale = 1.f / (s->fft_size * 1.5f);
112 112
113 ret = av_tx_init(&s->tx_ctx[0], &s->tx_fn, AV_TX_FLOAT_RDFT, 0, s->fft_size, &scale, 0);113 ret = av_tx_init(&s->tx_ctx[0], &s->tx_fn, AV_TX_FLOAT_RDFT, 0, s->fft_size, &scale, 0);
114 if (ret < 0)114 if (ret < 0)
@@ -296,13 +296,10 @@ static int de_stereo(AVFilterContext *ctx, AVFrame *out) · 181 unmodified lines
296 memcpy(left_osamples, left_in, overlap * sizeof(float));296 memcpy(left_osamples, left_in, overlap * sizeof(float));
297 memcpy(right_osamples, right_in, overlap * sizeof(float));297 memcpy(right_osamples, right_in, overlap * sizeof(float));
298 298
299 // 4 times overlap with squared hanning window results in 1.5 time increase in amplitude299 if (ctx->is_disabled)
300 if (!ctx->is_disabled) {
301 for (int i = 0; i < overlap; i++)
302 center_osamples[i] = left_out[i] / 1.5f;
303 } else {
304 memset(center_osamples, 0, overlap * sizeof(float));300 memset(center_osamples, 0, overlap * sizeof(float));
305 }301 else
302 memcpy(center_osamples, left_out, overlap * sizeof(float));
306 303
307 return 0;304 return 0;
308}305}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t