OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 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 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 float m_parameters[ParamLast]; | 89 float m_parameters[ParamLast]; |
90 void initializeParameters(); | 90 void initializeParameters(); |
91 | 91 |
92 float m_sampleRate; | 92 float m_sampleRate; |
93 | 93 |
94 // Emphasis filter controls. | 94 // Emphasis filter controls. |
95 float m_lastFilterStageRatio; | 95 float m_lastFilterStageRatio; |
96 float m_lastAnchor; | 96 float m_lastAnchor; |
97 float m_lastFilterStageGain; | 97 float m_lastFilterStageGain; |
98 | 98 |
99 typedef struct { | |
100 ZeroPole filters[4]; | |
101 } ZeroPoleFilterPack4; | |
102 | |
103 // Per-channel emphasis filters. | |
104 Vector<OwnPtr<ZeroPoleFilterPack4> > m_preFilterPacks; | |
105 Vector<OwnPtr<ZeroPoleFilterPack4> > m_postFilterPacks; | |
106 | |
107 OwnPtr<const float*[]> m_sourceChannels; | 99 OwnPtr<const float*[]> m_sourceChannels; |
108 OwnPtr<float*[]> m_destinationChannels; | 100 OwnPtr<float*[]> m_destinationChannels; |
109 | 101 |
110 void setEmphasisStageParameters(unsigned stageIndex, float gain, float norma
lizedFrequency /* 0 -> 1 */); | |
111 void setEmphasisParameters(float gain, float anchorFreq, float filterStageRa
tio); | |
112 | |
113 // The core compressor. | 102 // The core compressor. |
114 DynamicsCompressorKernel m_compressor; | 103 DynamicsCompressorKernel m_compressor; |
115 }; | 104 }; |
116 | 105 |
117 } // namespace WebCore | 106 } // namespace WebCore |
118 | 107 |
119 #endif // DynamicsCompressor_h | 108 #endif // DynamicsCompressor_h |
OLD | NEW |