History

avfilter/af_firequalizer: fix minval on cepstrum calculation

The impulse response is scaled with 2/rdft_len.

Muhammad Faiz committed 9 years ago

Commit 3ddd1021 parent 48ddd8d1 file · +4 −3Browse files

Showing the changes to libavfilter (1 of 1 file). Show all

Unified · Split

libavfilter/af_firequalizer.c+4−3
@@ -554,6 +554,7 @@ static void generate_min_phase_kernel(FIREqualizerContext *s, float *rdft_buf) · 553 unmodified lines
554{554{
555 int k, cepstrum_len = s->cepstrum_len, rdft_len = s->rdft_len;555 int k, cepstrum_len = s->cepstrum_len, rdft_len = s->rdft_len;
556 double norm = 2.0 / cepstrum_len;556 double norm = 2.0 / cepstrum_len;
557 double minval = 1e-7 / rdft_len;
557 558
558 memset(s->cepstrum_buf, 0, cepstrum_len * sizeof(*s->cepstrum_buf));559 memset(s->cepstrum_buf, 0, cepstrum_len * sizeof(*s->cepstrum_buf));
559 memcpy(s->cepstrum_buf, rdft_buf, rdft_len/2 * sizeof(*rdft_buf));560 memcpy(s->cepstrum_buf, rdft_buf, rdft_len/2 * sizeof(*rdft_buf));
@@ -561,11 +562,11 @@ static void generate_min_phase_kernel(FIREqualizerContext *s, float *rdft_buf) · 1 unmodified line
561 562
562 av_rdft_calc(s->cepstrum_rdft, s->cepstrum_buf);563 av_rdft_calc(s->cepstrum_rdft, s->cepstrum_buf);
563 564
564 s->cepstrum_buf[0] = log(FFMAX(s->cepstrum_buf[0], 1e-10));565 s->cepstrum_buf[0] = log(FFMAX(s->cepstrum_buf[0], minval));
565 s->cepstrum_buf[1] = log(FFMAX(s->cepstrum_buf[1], 1e-10));566 s->cepstrum_buf[1] = log(FFMAX(s->cepstrum_buf[1], minval));
566 567
567 for (k = 2; k < cepstrum_len; k += 2) {568 for (k = 2; k < cepstrum_len; k += 2) {
568 s->cepstrum_buf[k] = log(FFMAX(s->cepstrum_buf[k], 1e-10));569 s->cepstrum_buf[k] = log(FFMAX(s->cepstrum_buf[k], minval));
569 s->cepstrum_buf[k+1] = 0;570 s->cepstrum_buf[k+1] = 0;
570 }571 }
571 572

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