diff options
author | pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2013-04-09 16:40:28 +0000 |
---|---|---|
committer | pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2013-04-09 16:40:28 +0000 |
commit | c49ec1327c1d956c6c889cf1f32a7f9920d76149 (patch) | |
tree | b797f8d1012b153cb22660887b809970f209c0ac /common_audio/signal_processing/splitting_filter.c | |
parent | 73ebe67b3e6f0a65efed02efd4eee4dfb1b7729e (diff) | |
download | webrtc-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.c | 62 |
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); } |