summaryrefslogtreecommitdiff
path: root/common_audio/signal_processing/splitting_filter.c
diff options
context:
space:
mode:
authorpbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-04-09 16:40:28 +0000
committerpbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-04-09 16:40:28 +0000
commitc49ec1327c1d956c6c889cf1f32a7f9920d76149 (patch)
treeb797f8d1012b153cb22660887b809970f209c0ac /common_audio/signal_processing/splitting_filter.c
parent73ebe67b3e6f0a65efed02efd4eee4dfb1b7729e (diff)
downloadwebrtc-c49ec1327c1d956c6c889cf1f32a7f9920d76149.tar.gz
WebRtc_Word32 -> int32_t in common_audio/
BUG=314 Review URL: https://webrtc-codereview.appspot.com/1299004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@3803 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'common_audio/signal_processing/splitting_filter.c')
-rw-r--r--common_audio/signal_processing/splitting_filter.c62
1 files changed, 31 insertions, 31 deletions
diff --git a/common_audio/signal_processing/splitting_filter.c b/common_audio/signal_processing/splitting_filter.c
index f1acf675..e1bd427b 100644
--- a/common_audio/signal_processing/splitting_filter.c
+++ b/common_audio/signal_processing/splitting_filter.c
@@ -22,8 +22,8 @@ enum
};
// QMF filter coefficients in Q16.
-static const WebRtc_UWord16 WebRtcSpl_kAllPassFilter1[3] = {6418, 36982, 57261};
-static const WebRtc_UWord16 WebRtcSpl_kAllPassFilter2[3] = {21333, 49062, 63010};
+static const uint16_t WebRtcSpl_kAllPassFilter1[3] = {6418, 36982, 57261};
+static const uint16_t WebRtcSpl_kAllPassFilter2[3] = {21333, 49062, 63010};
///////////////////////////////////////////////////////////////////////////////////////////////
// WebRtcSpl_AllPassQMF(...)
@@ -43,9 +43,9 @@ static const WebRtc_UWord16 WebRtcSpl_kAllPassFilter2[3] = {21333, 49062, 63010}
// |data_length|
//
-void WebRtcSpl_AllPassQMF(WebRtc_Word32* in_data, const WebRtc_Word16 data_length,
- WebRtc_Word32* out_data, const WebRtc_UWord16* filter_coefficients,
- WebRtc_Word32* filter_state)
+void WebRtcSpl_AllPassQMF(int32_t* in_data, const int16_t data_length,
+ int32_t* out_data, const uint16_t* filter_coefficients,
+ int32_t* filter_state)
{
// The procedure is to filter the input with three first order all pass filters
// (cascade operations).
@@ -63,8 +63,8 @@ void WebRtcSpl_AllPassQMF(WebRtc_Word32* in_data, const WebRtc_Word16 data_lengt
// filter operation takes the |in_data| (which is the output from the previous cascade
// filter) and store the output in |out_data|.
// Note that the input vector values are changed during the process.
- WebRtc_Word16 k;
- WebRtc_Word32 diff;
+ int16_t k;
+ int32_t diff;
// First all-pass cascade; filter from in_data to out_data.
// Let y_i[n] indicate the output of cascade filter i (with filter coefficient a_i) at
@@ -116,23 +116,23 @@ void WebRtcSpl_AllPassQMF(WebRtc_Word32* in_data, const WebRtc_Word16 data_lengt
filter_state[5] = out_data[data_length - 1]; // y[N-1], becomes y[-1] next time
}
-void WebRtcSpl_AnalysisQMF(const WebRtc_Word16* in_data, WebRtc_Word16* low_band,
- WebRtc_Word16* high_band, WebRtc_Word32* filter_state1,
- WebRtc_Word32* filter_state2)
+void WebRtcSpl_AnalysisQMF(const int16_t* in_data, int16_t* low_band,
+ int16_t* high_band, int32_t* filter_state1,
+ int32_t* filter_state2)
{
- WebRtc_Word16 i;
- WebRtc_Word16 k;
- WebRtc_Word32 tmp;
- WebRtc_Word32 half_in1[kBandFrameLength];
- WebRtc_Word32 half_in2[kBandFrameLength];
- WebRtc_Word32 filter1[kBandFrameLength];
- WebRtc_Word32 filter2[kBandFrameLength];
+ int16_t i;
+ int16_t k;
+ int32_t tmp;
+ int32_t half_in1[kBandFrameLength];
+ int32_t half_in2[kBandFrameLength];
+ int32_t filter1[kBandFrameLength];
+ int32_t filter2[kBandFrameLength];
// Split even and odd samples. Also shift them to Q10.
for (i = 0, k = 0; i < kBandFrameLength; i++, k += 2)
{
- half_in2[i] = WEBRTC_SPL_LSHIFT_W32((WebRtc_Word32)in_data[k], 10);
- half_in1[i] = WEBRTC_SPL_LSHIFT_W32((WebRtc_Word32)in_data[k + 1], 10);
+ half_in2[i] = WEBRTC_SPL_LSHIFT_W32((int32_t)in_data[k], 10);
+ half_in1[i] = WEBRTC_SPL_LSHIFT_W32((int32_t)in_data[k + 1], 10);
}
// All pass filter even and odd samples, independently.
@@ -155,25 +155,25 @@ void WebRtcSpl_AnalysisQMF(const WebRtc_Word16* in_data, WebRtc_Word16* low_band
}
}
-void WebRtcSpl_SynthesisQMF(const WebRtc_Word16* low_band, const WebRtc_Word16* high_band,
- WebRtc_Word16* out_data, WebRtc_Word32* filter_state1,
- WebRtc_Word32* filter_state2)
+void WebRtcSpl_SynthesisQMF(const int16_t* low_band, const int16_t* high_band,
+ int16_t* out_data, int32_t* filter_state1,
+ int32_t* filter_state2)
{
- WebRtc_Word32 tmp;
- WebRtc_Word32 half_in1[kBandFrameLength];
- WebRtc_Word32 half_in2[kBandFrameLength];
- WebRtc_Word32 filter1[kBandFrameLength];
- WebRtc_Word32 filter2[kBandFrameLength];
- WebRtc_Word16 i;
- WebRtc_Word16 k;
+ int32_t tmp;
+ int32_t half_in1[kBandFrameLength];
+ int32_t half_in2[kBandFrameLength];
+ int32_t filter1[kBandFrameLength];
+ int32_t filter2[kBandFrameLength];
+ int16_t i;
+ int16_t k;
// Obtain the sum and difference channels out of upper and lower-band channels.
// Also shift to Q10 domain.
for (i = 0; i < kBandFrameLength; i++)
{
- tmp = (WebRtc_Word32)low_band[i] + (WebRtc_Word32)high_band[i];
+ tmp = (int32_t)low_band[i] + (int32_t)high_band[i];
half_in1[i] = WEBRTC_SPL_LSHIFT_W32(tmp, 10);
- tmp = (WebRtc_Word32)low_band[i] - (WebRtc_Word32)high_band[i];
+ tmp = (int32_t)low_band[i] - (int32_t)high_band[i];
half_in2[i] = WEBRTC_SPL_LSHIFT_W32(tmp, 10);
}