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 * Return value : 0 - Ok
* -1 - Error * -1 - Error
*/ */
int WebRtcVad_set_mode(VadInst *vad_inst, WebRtc_Word16 mode); int WebRtcVad_set_mode(VadInst *vad_inst, int mode);
/**************************************************************************** /****************************************************************************
* WebRtcVad_Process(...) * WebRtcVad_Process(...)

View File

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

View File

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

View File

@ -45,8 +45,7 @@ TEST_F(VadTest, set_mode_core) {
// Test WebRtcVad_set_mode_core(). // Test WebRtcVad_set_mode_core().
// Invalid modes should return -1. // Invalid modes should return -1.
EXPECT_EQ(-1, WebRtcVad_set_mode_core(self, -1)); EXPECT_EQ(-1, WebRtcVad_set_mode_core(self, -1));
EXPECT_EQ(-1, WebRtcVad_set_mode_core(self, EXPECT_EQ(-1, WebRtcVad_set_mode_core(self, 1000));
static_cast<int16_t>(kModesSize)));
// Valid modes should return 0. // Valid modes should return 0.
for (size_t j = 0; j < kModesSize; ++j) { for (size_t j = 0; j < kModesSize; ++j) {
EXPECT_EQ(0, WebRtcVad_set_mode_core(self, kModes[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 * 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 * that can be found in the LICENSE file in the root of the source
@ -19,7 +19,7 @@
namespace { namespace {
// Modes we support // 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); const size_t kModesSize = sizeof(kModes) / sizeof(*kModes);
// Rates we support. // Rates we support.

View File

@ -106,7 +106,7 @@ int WebRtcVad_Init(VadInst* handle) {
return WebRtcVad_InitCore((VadInstT*) 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; VadInstT* vad_ptr;

View File

@ -471,8 +471,7 @@ int WebRtcNetEQ_InitVAD(PostDecodeVAD_t *VADInst, WebRtc_UWord16 fs)
* -1 - Error * -1 - Error
*/ */
int WebRtcNetEQ_SetVADModeInternal(PostDecodeVAD_t *VADInst, int WebRtcNetEQ_SetVADModeInternal(PostDecodeVAD_t *VADInst, int mode)
WebRtc_Word16 mode)
{ {
int res = 0; 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. * WebRtcVad_set_mode and WebRtcVad_Process, respectively, all found in webrtc_vad.h.
*/ */
typedef int (*VADInitFunction)(void *VAD_inst); 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, typedef WebRtc_Word16 (*VADFunction)(void *VAD_inst, WebRtc_Word16 fs, WebRtc_Word16 *frame,
WebRtc_Word16 frameLen); WebRtc_Word16 frameLen);
@ -200,7 +200,7 @@ typedef struct PostDecodeVAD_t_
void *VADState; /* pointer to a VAD instance */ void *VADState; /* pointer to a VAD instance */
WebRtc_Word16 VADEnabled; /* 1 if enabled, 0 if disabled */ 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 VADDecision; /* 1 for active, 0 for passive */
WebRtc_Word16 SIDintervalCounter; /* reset when decoding CNG/SID frame, WebRtc_Word16 SIDintervalCounter; /* reset when decoding CNG/SID frame,
increment for each recout call */ increment for each recout call */
@ -700,7 +700,7 @@ int WebRtcNetEQ_InitVAD(PostDecodeVAD_t *VADInst, WebRtc_UWord16 fs);
* -1 - Error * -1 - Error
*/ */
int WebRtcNetEQ_SetVADModeInternal(PostDecodeVAD_t *VADInst, WebRtc_Word16 mode); int WebRtcNetEQ_SetVADModeInternal(PostDecodeVAD_t *VADInst, int mode);
#endif /* NETEQ_VAD */ #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. * WebRtcVad_set_mode and WebRtcVad_Process, respectively, all found in webrtc_vad.h.
*/ */
typedef int (*WebRtcNetEQ_VADInitFunction)(void *VAD_inst); 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, typedef WebRtc_Word16 (*WebRtcNetEQ_VADFunction)(void *VAD_inst, WebRtc_Word16 fs,
WebRtc_Word16 *frame, WebRtc_Word16 frameLen); WebRtc_Word16 *frame, WebRtc_Word16 frameLen);
@ -189,7 +189,7 @@ int WebRtcNetEQ_SetVADInstance(void *NetEQ_inst, void *VAD_inst,
* -1 - Error * -1 - Error
*/ */
int WebRtcNetEQ_SetVADMode(void *NetEQ_inst, WebRtc_Word16 mode); int WebRtcNetEQ_SetVADMode(void *NetEQ_inst, int mode);
/**************************************************************************** /****************************************************************************
* WebRtcNetEQ_RecOutNoDecode(...) * 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 * 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 * 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 * -1 - Error
*/ */
int WebRtcNetEQ_SetVADMode(void *inst, WebRtc_Word16 mode) int WebRtcNetEQ_SetVADMode(void *inst, int mode)
{ {
/* Typecast to internal instance type */ /* 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 * 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 * that can be found in the LICENSE file in the root of the source
@ -23,7 +23,7 @@ namespace webrtc {
typedef VadInst Handle; typedef VadInst Handle;
namespace { namespace {
WebRtc_Word16 MapSetting(VoiceDetection::Likelihood likelihood) { int MapSetting(VoiceDetection::Likelihood likelihood) {
switch (likelihood) { switch (likelihood) {
case VoiceDetection::kVeryLowLikelihood: case VoiceDetection::kVeryLowLikelihood:
return 3; return 3;