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:
@ -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(...)
|
||||||
|
@ -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)
|
||||||
|
@ -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(...)
|
||||||
|
@ -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]));
|
||||||
|
@ -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.
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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 */
|
||||||
|
|
||||||
|
@ -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(...)
|
||||||
|
@ -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 */
|
||||||
|
@ -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;
|
||||||
|
Reference in New Issue
Block a user