OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 | 11 |
12 /* | 12 /* |
13 * This file contains the function WebRtcSpl_Energy(). | 13 * This file contains the function WebRtcSpl_Energy(). |
14 * The description header can be found in signal_processing_library.h | 14 * The description header can be found in signal_processing_library.h |
15 * | 15 * |
16 */ | 16 */ |
17 | 17 |
18 #include "webrtc/common_audio/signal_processing/include/signal_processing_librar
y.h" | 18 #include "webrtc/common_audio/signal_processing/include/signal_processing_librar
y.h" |
19 | 19 |
20 int32_t WebRtcSpl_Energy(int16_t* vector, int vector_length, int* scale_factor) | 20 int32_t WebRtcSpl_Energy(int16_t* vector, int vector_length, int* scale_factor) |
21 { | 21 { |
22 int32_t en = 0; | 22 int32_t en = 0; |
23 int i; | 23 int i; |
24 int scaling = WebRtcSpl_GetScalingSquare(vector, vector_length, vector_lengt
h); | 24 int scaling = |
| 25 WebRtcSpl_GetScalingSquare(vector, vector_length, vector_length); |
25 int looptimes = vector_length; | 26 int looptimes = vector_length; |
26 int16_t *vectorptr = vector; | 27 int16_t *vectorptr = vector; |
27 | 28 |
28 for (i = 0; i < looptimes; i++) | 29 for (i = 0; i < looptimes; i++) |
29 { | 30 { |
30 en += (*vectorptr * *vectorptr) >> scaling; | 31 en += (*vectorptr * *vectorptr) >> scaling; |
31 vectorptr++; | 32 vectorptr++; |
32 } | 33 } |
33 *scale_factor = scaling; | 34 *scale_factor = scaling; |
34 | 35 |
35 return en; | 36 return en; |
36 } | 37 } |
OLD | NEW |