Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(608)

Side by Side Diff: Source/platform/audio/Biquad.h

Issue 801033003: remove WTF::Complex (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: remove WTF::Complex typedef Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/modules/webaudio/RealtimeAnalyser.cpp ('k') | Source/platform/audio/Biquad.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 13 matching lines...) Expand all
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */ 27 */
28 28
29 #ifndef Biquad_h 29 #ifndef Biquad_h
30 #define Biquad_h 30 #define Biquad_h
31 31
32 #include "platform/PlatformExport.h" 32 #include "platform/PlatformExport.h"
33 #include "platform/audio/AudioArray.h" 33 #include "platform/audio/AudioArray.h"
34 #include "wtf/Complex.h" 34 #include <complex>
35 #include <sys/types.h> 35 #include <sys/types.h>
36 36
37 #if USE(WEBAUDIO_IPP) 37 #if USE(WEBAUDIO_IPP)
38 #include <ipps.h> 38 #include <ipps.h>
39 #endif // USE(WEBAUDIO_IPP) 39 #endif // USE(WEBAUDIO_IPP)
40 40
41 namespace blink { 41 namespace blink {
42 42
43 // A basic biquad (two-zero / two-pole digital filter) 43 // A basic biquad (two-zero / two-pole digital filter)
44 // 44 //
(...skipping 13 matching lines...) Expand all
58 void setHighpassParams(double frequency, double resonance); 58 void setHighpassParams(double frequency, double resonance);
59 void setBandpassParams(double frequency, double Q); 59 void setBandpassParams(double frequency, double Q);
60 void setLowShelfParams(double frequency, double dbGain); 60 void setLowShelfParams(double frequency, double dbGain);
61 void setHighShelfParams(double frequency, double dbGain); 61 void setHighShelfParams(double frequency, double dbGain);
62 void setPeakingParams(double frequency, double Q, double dbGain); 62 void setPeakingParams(double frequency, double Q, double dbGain);
63 void setAllpassParams(double frequency, double Q); 63 void setAllpassParams(double frequency, double Q);
64 void setNotchParams(double frequency, double Q); 64 void setNotchParams(double frequency, double Q);
65 65
66 // Set the biquad coefficients given a single zero (other zero will be conju gate) 66 // Set the biquad coefficients given a single zero (other zero will be conju gate)
67 // and a single pole (other pole will be conjugate) 67 // and a single pole (other pole will be conjugate)
68 void setZeroPolePairs(const Complex& zero, const Complex& pole); 68 void setZeroPolePairs(const std::complex<double>& zero, const std::complex<d ouble>& pole);
69 69
70 // Set the biquad coefficients given a single pole (other pole will be conju gate) 70 // Set the biquad coefficients given a single pole (other pole will be conju gate)
71 // (The zeroes will be the inverse of the poles) 71 // (The zeroes will be the inverse of the poles)
72 void setAllpassPole(const Complex& pole); 72 void setAllpassPole(const std::complex<double>&);
73 73
74 // Resets filter state 74 // Resets filter state
75 void reset(); 75 void reset();
76 76
77 // Filter response at a set of n frequencies. The magnitude and 77 // Filter response at a set of n frequencies. The magnitude and
78 // phase response are returned in magResponse and phaseResponse. 78 // phase response are returned in magResponse and phaseResponse.
79 // The phase response is in radians. 79 // The phase response is in radians.
80 void getFrequencyResponse(int nFrequencies, 80 void getFrequencyResponse(int nFrequencies,
81 const float* frequency, 81 const float* frequency,
82 float* magResponse, 82 float* magResponse,
(...skipping 26 matching lines...) Expand all
109 double m_x1; // input delayed by 1 sample 109 double m_x1; // input delayed by 1 sample
110 double m_x2; // input delayed by 2 samples 110 double m_x2; // input delayed by 2 samples
111 double m_y1; // output delayed by 1 sample 111 double m_y1; // output delayed by 1 sample
112 double m_y2; // output delayed by 2 samples 112 double m_y2; // output delayed by 2 samples
113 #endif 113 #endif
114 }; 114 };
115 115
116 } // namespace blink 116 } // namespace blink
117 117
118 #endif // Biquad_h 118 #endif // Biquad_h
OLDNEW
« no previous file with comments | « Source/modules/webaudio/RealtimeAnalyser.cpp ('k') | Source/platform/audio/Biquad.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698