VAD refactor: Mode changed to "int".

As part of style this CL includes changing the input aggressiveness mode from int16_t to int. No other style changes made.
Impact on:
- Audio Processing: Changed return value on MapSetting().
- Function test in audio_conference_mixer already uses int. No action.
- NetEq: Function pointer changes and input parameter changes in SetVADMode() and SetVADModeInternal().
- Audio Coding: Uses enum ACMVADMode which is type independent.
- VAD: Two unit tests.

TESTS=vad_unittests, neteq_unittests, audioproc_unittest
Review URL: https://webrtc-codereview.appspot.com/373001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1544 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
bjornv@webrtc.org
2012-01-25 12:40:00 +00:00
parent 2a4dcd7d15
commit f4b77fd722
11 changed files with 17 additions and 19 deletions

View File

@ -127,7 +127,7 @@ int WebRtcVad_Init(VadInst *vad_inst);
* Return value : 0 - Ok
* -1 - Error
*/
int WebRtcVad_set_mode(VadInst *vad_inst, WebRtc_Word16 mode);
int WebRtcVad_set_mode(VadInst *vad_inst, int mode);
/****************************************************************************
* WebRtcVad_Process(...)

View File

@ -527,7 +527,7 @@ int WebRtcVad_InitCore(VadInstT* self) {
}
// Set aggressiveness mode
int WebRtcVad_set_mode_core(VadInstT *inst, short mode)
int WebRtcVad_set_mode_core(VadInstT *inst, int mode)
{
if (mode == 0)

View File

@ -75,7 +75,7 @@ int WebRtcVad_InitCore(VadInstT* self);
* -1 - Error
*/
int WebRtcVad_set_mode_core(VadInstT* inst, short mode);
int WebRtcVad_set_mode_core(VadInstT* inst, int mode);
/****************************************************************************
* WebRtcVad_CalcVad32khz(...)

View File

@ -45,8 +45,7 @@ TEST_F(VadTest, set_mode_core) {
// Test WebRtcVad_set_mode_core().
// Invalid modes should return -1.
EXPECT_EQ(-1, WebRtcVad_set_mode_core(self, -1));
EXPECT_EQ(-1, WebRtcVad_set_mode_core(self,
static_cast<int16_t>(kModesSize)));
EXPECT_EQ(-1, WebRtcVad_set_mode_core(self, 1000));
// Valid modes should return 0.
for (size_t j = 0; j < kModesSize; ++j) {
EXPECT_EQ(0, WebRtcVad_set_mode_core(self, kModes[j]));

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
* Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
@ -19,7 +19,7 @@
namespace {
// Modes we support
const int16_t kModes[] = { 0, 1, 2, 3 };
const int kModes[] = { 0, 1, 2, 3 };
const size_t kModesSize = sizeof(kModes) / sizeof(*kModes);
// Rates we support.

View File

@ -106,7 +106,7 @@ int WebRtcVad_Init(VadInst* handle) {
return WebRtcVad_InitCore((VadInstT*) handle);
}
int WebRtcVad_set_mode(VadInst *vad_inst, WebRtc_Word16 mode)
int WebRtcVad_set_mode(VadInst *vad_inst, int mode)
{
VadInstT* vad_ptr;

View File

@ -471,8 +471,7 @@ int WebRtcNetEQ_InitVAD(PostDecodeVAD_t *VADInst, WebRtc_UWord16 fs)
* -1 - Error
*/
int WebRtcNetEQ_SetVADModeInternal(PostDecodeVAD_t *VADInst,
WebRtc_Word16 mode)
int WebRtcNetEQ_SetVADModeInternal(PostDecodeVAD_t *VADInst, int mode)
{
int res = 0;

View File

@ -189,7 +189,7 @@ typedef struct ExpandInst_t_
* WebRtcVad_set_mode and WebRtcVad_Process, respectively, all found in webrtc_vad.h.
*/
typedef int (*VADInitFunction)(void *VAD_inst);
typedef int (*VADSetmodeFunction)(void *VAD_inst, WebRtc_Word16 mode);
typedef int (*VADSetmodeFunction)(void *VAD_inst, int mode);
typedef WebRtc_Word16 (*VADFunction)(void *VAD_inst, WebRtc_Word16 fs, WebRtc_Word16 *frame,
WebRtc_Word16 frameLen);
@ -200,7 +200,7 @@ typedef struct PostDecodeVAD_t_
void *VADState; /* pointer to a VAD instance */
WebRtc_Word16 VADEnabled; /* 1 if enabled, 0 if disabled */
WebRtc_Word16 VADMode; /* mode parameter to pass to the VAD function */
int VADMode; /* mode parameter to pass to the VAD function */
WebRtc_Word16 VADDecision; /* 1 for active, 0 for passive */
WebRtc_Word16 SIDintervalCounter; /* reset when decoding CNG/SID frame,
increment for each recout call */
@ -700,7 +700,7 @@ int WebRtcNetEQ_InitVAD(PostDecodeVAD_t *VADInst, WebRtc_UWord16 fs);
* -1 - Error
*/
int WebRtcNetEQ_SetVADModeInternal(PostDecodeVAD_t *VADInst, WebRtc_Word16 mode);
int WebRtcNetEQ_SetVADModeInternal(PostDecodeVAD_t *VADInst, int mode);
#endif /* NETEQ_VAD */

View File

@ -139,7 +139,7 @@ int WebRtcNetEQ_GetRawFrameWaitingTimes(void *inst,
* WebRtcVad_set_mode and WebRtcVad_Process, respectively, all found in webrtc_vad.h.
*/
typedef int (*WebRtcNetEQ_VADInitFunction)(void *VAD_inst);
typedef int (*WebRtcNetEQ_VADSetmodeFunction)(void *VAD_inst, WebRtc_Word16 mode);
typedef int (*WebRtcNetEQ_VADSetmodeFunction)(void *VAD_inst, int mode);
typedef WebRtc_Word16 (*WebRtcNetEQ_VADFunction)(void *VAD_inst, WebRtc_Word16 fs,
WebRtc_Word16 *frame, WebRtc_Word16 frameLen);
@ -189,7 +189,7 @@ int WebRtcNetEQ_SetVADInstance(void *NetEQ_inst, void *VAD_inst,
* -1 - Error
*/
int WebRtcNetEQ_SetVADMode(void *NetEQ_inst, WebRtc_Word16 mode);
int WebRtcNetEQ_SetVADMode(void *NetEQ_inst, int mode);
/****************************************************************************
* WebRtcNetEQ_RecOutNoDecode(...)

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
* Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
@ -1632,7 +1632,7 @@ int WebRtcNetEQ_SetVADInstance(void *NetEQ_inst, void *VAD_inst,
* -1 - Error
*/
int WebRtcNetEQ_SetVADMode(void *inst, WebRtc_Word16 mode)
int WebRtcNetEQ_SetVADMode(void *inst, int mode)
{
/* Typecast to internal instance type */

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
* Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
@ -23,7 +23,7 @@ namespace webrtc {
typedef VadInst Handle;
namespace {
WebRtc_Word16 MapSetting(VoiceDetection::Likelihood likelihood) {
int MapSetting(VoiceDetection::Likelihood likelihood) {
switch (likelihood) {
case VoiceDetection::kVeryLowLikelihood:
return 3;