audio_processing/agc: Solved building with AGC_DEBUG + few style changes
webrtc did not build if AGC_DEBUG was turned on. This CL fixes that. Has no impact on performance since it is development/debug code. * Name change to WEBRT_AGC_DEBUG_DUMP * Added build flag agc_debug_dump to .gypi * Added missing "%d" in printf at two places * Some line length related style changes Tested audioproc and modules_unittests with GYP_DEFINES=agc_debug_dump=1 webrtc/build/gyp_webrtc BUG=N/A TESTED=locally and trybots R=aluebs@webrtc.org, kwiberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/31429004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7271 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
#include "webrtc/modules/audio_processing/agc/analog_agc.h"
|
||||
@@ -139,10 +139,10 @@ int WebRtcAgc_AddMic(void *state, int16_t *in_mic, int16_t *in_mic_H,
|
||||
L = 8;
|
||||
} else
|
||||
{
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->add_mic, frame %d: Invalid number of samples\n\n",
|
||||
(stt->fcount + 1));
|
||||
stt->fcount + 1);
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
@@ -160,10 +160,10 @@ int WebRtcAgc_AddMic(void *state, int16_t *in_mic, int16_t *in_mic_H,
|
||||
L = 16;
|
||||
} else
|
||||
{
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->add_mic, frame %d: Invalid number of samples\n\n",
|
||||
(stt->fcount + 1));
|
||||
stt->fcount + 1);
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
@@ -177,10 +177,10 @@ int WebRtcAgc_AddMic(void *state, int16_t *in_mic, int16_t *in_mic_H,
|
||||
L = 16;
|
||||
} else
|
||||
{
|
||||
#ifdef AGC_DEBUG
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->add_mic, frame %d: Invalid sample rate\n\n",
|
||||
(stt->fcount + 1));
|
||||
stt->fcount + 1);
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
@@ -343,7 +343,7 @@ int WebRtcAgc_AddFarend(void *state, const int16_t *in_far, int16_t samples)
|
||||
{
|
||||
if ((samples != 80) && (samples != 160))
|
||||
{
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->add_far_end, frame %d: Invalid number of samples\n\n",
|
||||
stt->fcount);
|
||||
@@ -355,7 +355,7 @@ int WebRtcAgc_AddFarend(void *state, const int16_t *in_far, int16_t samples)
|
||||
{
|
||||
if ((samples != 160) && (samples != 320))
|
||||
{
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->add_far_end, frame %d: Invalid number of samples\n\n",
|
||||
stt->fcount);
|
||||
@@ -367,7 +367,7 @@ int WebRtcAgc_AddFarend(void *state, const int16_t *in_far, int16_t samples)
|
||||
{
|
||||
if ((samples != 160) && (samples != 320))
|
||||
{
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->add_far_end, frame %d: Invalid number of samples\n\n",
|
||||
stt->fcount);
|
||||
@@ -377,7 +377,7 @@ int WebRtcAgc_AddFarend(void *state, const int16_t *in_far, int16_t samples)
|
||||
subFrames = 160;
|
||||
} else
|
||||
{
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->add_far_end, frame %d: Invalid sample rate\n\n",
|
||||
stt->fcount + 1);
|
||||
@@ -657,10 +657,12 @@ void WebRtcAgc_ZeroCtrl(Agc_t *stt, int32_t *inMicLevel, int32_t *env)
|
||||
stt->micVol = *inMicLevel;
|
||||
}
|
||||
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"\t\tAGC->zeroCntrl, frame %d: 500 ms under threshold, micVol:\n",
|
||||
stt->fcount, stt->micVol);
|
||||
"\t\tAGC->zeroCntrl, frame %d: 500 ms under threshold,"
|
||||
" micVol: %d\n",
|
||||
stt->fcount,
|
||||
stt->micVol);
|
||||
#endif
|
||||
|
||||
stt->activeSpeech = 0;
|
||||
@@ -771,14 +773,18 @@ int32_t WebRtcAgc_ProcessAnalog(void *state, int32_t inMicLevel,
|
||||
|
||||
if (inMicLevelTmp > stt->maxAnalog)
|
||||
{
|
||||
#ifdef AGC_DEBUG //test log
|
||||
fprintf(stt->fpt, "\tAGC->ProcessAnalog, frame %d: micLvl > maxAnalog\n", stt->fcount);
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"\tAGC->ProcessAnalog, frame %d: micLvl > maxAnalog\n",
|
||||
stt->fcount);
|
||||
#endif
|
||||
return -1;
|
||||
} else if (inMicLevelTmp < stt->minLevel)
|
||||
{
|
||||
#ifdef AGC_DEBUG //test log
|
||||
fprintf(stt->fpt, "\tAGC->ProcessAnalog, frame %d: micLvl < minLevel\n", stt->fcount);
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"\tAGC->ProcessAnalog, frame %d: micLvl < minLevel\n",
|
||||
stt->fcount);
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
@@ -813,9 +819,10 @@ int32_t WebRtcAgc_ProcessAnalog(void *state, int32_t inMicLevel,
|
||||
#ifdef MIC_LEVEL_FEEDBACK
|
||||
//stt->numBlocksMicLvlSat = 0;
|
||||
#endif
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"\tAGC->ProcessAnalog, frame %d: micLvl < minLevel by manual decrease, raise vol\n",
|
||||
"\tAGC->ProcessAnalog, frame %d: micLvl < minLevel by manual"
|
||||
" decrease, raise vol\n",
|
||||
stt->fcount);
|
||||
#endif
|
||||
}
|
||||
@@ -871,10 +878,11 @@ int32_t WebRtcAgc_ProcessAnalog(void *state, int32_t inMicLevel,
|
||||
}
|
||||
inMicLevelTmp = stt->micVol;
|
||||
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"\tAGC->ProcessAnalog, frame %d: saturated, micVol = %d\n",
|
||||
stt->fcount, stt->micVol);
|
||||
stt->fcount,
|
||||
stt->micVol);
|
||||
#endif
|
||||
|
||||
if (stt->micVol < stt->minOutput)
|
||||
@@ -1011,10 +1019,13 @@ int32_t WebRtcAgc_ProcessAnalog(void *state, int32_t inMicLevel,
|
||||
#ifdef MIC_LEVEL_FEEDBACK
|
||||
//stt->numBlocksMicLvlSat = 0;
|
||||
#endif
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"\tAGC->ProcessAnalog, frame %d: measure > 2ndUpperLim, micVol = %d, maxLevel = %d\n",
|
||||
stt->fcount, stt->micVol, stt->maxLevel);
|
||||
"\tAGC->ProcessAnalog, frame %d: measure >"
|
||||
" 2ndUpperLim, micVol = %d, maxLevel = %d\n",
|
||||
stt->fcount,
|
||||
stt->micVol,
|
||||
stt->maxLevel);
|
||||
#endif
|
||||
}
|
||||
} else if (stt->Rxx160_LPw32 > stt->upperLimit)
|
||||
@@ -1054,10 +1065,13 @@ int32_t WebRtcAgc_ProcessAnalog(void *state, int32_t inMicLevel,
|
||||
#ifdef MIC_LEVEL_FEEDBACK
|
||||
//stt->numBlocksMicLvlSat = 0;
|
||||
#endif
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"\tAGC->ProcessAnalog, frame %d: measure > UpperLim, micVol = %d, maxLevel = %d\n",
|
||||
stt->fcount, stt->micVol, stt->maxLevel);
|
||||
"\tAGC->ProcessAnalog, frame %d: measure >"
|
||||
" UpperLim, micVol = %d, maxLevel = %d\n",
|
||||
stt->fcount,
|
||||
stt->micVol,
|
||||
stt->maxLevel);
|
||||
#endif
|
||||
}
|
||||
} else if (stt->Rxx160_LPw32 < stt->lowerSecondaryLimit)
|
||||
@@ -1113,10 +1127,12 @@ int32_t WebRtcAgc_ProcessAnalog(void *state, int32_t inMicLevel,
|
||||
fprintf(stderr, "Sat mic Level: %d\n", stt->numBlocksMicLvlSat);
|
||||
}
|
||||
#endif
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"\tAGC->ProcessAnalog, frame %d: measure < 2ndLowerLim, micVol = %d\n",
|
||||
stt->fcount, stt->micVol);
|
||||
"\tAGC->ProcessAnalog, frame %d: measure <"
|
||||
" 2ndLowerLim, micVol = %d\n",
|
||||
stt->fcount,
|
||||
stt->micVol);
|
||||
#endif
|
||||
}
|
||||
} else if (stt->Rxx160_LPw32 < stt->lowerLimit)
|
||||
@@ -1172,10 +1188,11 @@ int32_t WebRtcAgc_ProcessAnalog(void *state, int32_t inMicLevel,
|
||||
fprintf(stderr, "Sat mic Level: %d\n", stt->numBlocksMicLvlSat);
|
||||
}
|
||||
#endif
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"\tAGC->ProcessAnalog, frame %d: measure < LowerLim, micVol = %d\n",
|
||||
stt->fcount, stt->micVol);
|
||||
stt->fcount,
|
||||
stt->micVol);
|
||||
#endif
|
||||
|
||||
}
|
||||
@@ -1272,9 +1289,10 @@ int WebRtcAgc_Process(void *agcInst, const int16_t *in_near,
|
||||
{
|
||||
if ((samples != 80) && (samples != 160))
|
||||
{
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->Process, frame %d: Invalid number of samples\n\n", stt->fcount);
|
||||
"AGC->Process, frame %d: Invalid number of samples\n\n",
|
||||
stt->fcount);
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
@@ -1283,9 +1301,10 @@ int WebRtcAgc_Process(void *agcInst, const int16_t *in_near,
|
||||
{
|
||||
if ((samples != 160) && (samples != 320))
|
||||
{
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->Process, frame %d: Invalid number of samples\n\n", stt->fcount);
|
||||
"AGC->Process, frame %d: Invalid number of samples\n\n",
|
||||
stt->fcount);
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
@@ -1294,18 +1313,20 @@ int WebRtcAgc_Process(void *agcInst, const int16_t *in_near,
|
||||
{
|
||||
if ((samples != 160) && (samples != 320))
|
||||
{
|
||||
#ifdef AGC_DEBUG //test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->Process, frame %d: Invalid number of samples\n\n", stt->fcount);
|
||||
"AGC->Process, frame %d: Invalid number of samples\n\n",
|
||||
stt->fcount);
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
subFrames = 160;
|
||||
} else
|
||||
{
|
||||
#ifdef AGC_DEBUG// test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->Process, frame %d: Invalid sample rate\n\n", stt->fcount);
|
||||
"AGC->Process, frame %d: Invalid sample rate\n\n",
|
||||
stt->fcount);
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
@@ -1341,7 +1362,7 @@ int WebRtcAgc_Process(void *agcInst, const int16_t *in_near,
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef AGC_DEBUG//test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
stt->fcount++;
|
||||
#endif
|
||||
|
||||
@@ -1350,8 +1371,10 @@ int WebRtcAgc_Process(void *agcInst, const int16_t *in_near,
|
||||
if (WebRtcAgc_ProcessDigital(&stt->digitalAgc, &in_near[i], &in_near_H[i], &out[i], &out_H[i],
|
||||
stt->fs, stt->lowLevelSignal) == -1)
|
||||
{
|
||||
#ifdef AGC_DEBUG//test log
|
||||
fprintf(stt->fpt, "AGC->Process, frame %d: Error from DigAGC\n\n", stt->fcount);
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->Process, frame %d: Error from DigAGC\n\n",
|
||||
stt->fcount);
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
@@ -1364,8 +1387,14 @@ int WebRtcAgc_Process(void *agcInst, const int16_t *in_near,
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
#ifdef AGC_DEBUG//test log
|
||||
fprintf(stt->agcLog, "%5d\t%d\t%d\t%d\n", stt->fcount, inMicLevelTmp, *outMicLevel, stt->maxLevel, stt->micVol);
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->agcLog,
|
||||
"%5d\t%d\t%d\t%d\t%d\n",
|
||||
stt->fcount,
|
||||
inMicLevelTmp,
|
||||
*outMicLevel,
|
||||
stt->maxLevel,
|
||||
stt->micVol);
|
||||
#endif
|
||||
|
||||
/* update queue */
|
||||
@@ -1441,8 +1470,10 @@ int WebRtcAgc_set_config(void *agcInst, WebRtcAgc_config_t agcConfig)
|
||||
if (WebRtcAgc_CalculateGainTable(&(stt->digitalAgc.gainTable[0]), stt->compressionGaindB,
|
||||
stt->targetLevelDbfs, stt->limiterEnable, stt->analogTarget) == -1)
|
||||
{
|
||||
#ifdef AGC_DEBUG//test log
|
||||
fprintf(stt->fpt, "AGC->set_config, frame %d: Error from calcGainTable\n\n", stt->fcount);
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->set_config, frame %d: Error from calcGainTable\n\n",
|
||||
stt->fcount);
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
@@ -1498,7 +1529,7 @@ int WebRtcAgc_Create(void **agcInst)
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef AGC_DEBUG
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
stt->fpt = fopen("./agc_test_log.txt", "wt");
|
||||
stt->agcLog = fopen("./agc_debug_log.txt", "wt");
|
||||
stt->digitalAgc.logFile = fopen("./agc_log.txt", "wt");
|
||||
@@ -1515,7 +1546,7 @@ int WebRtcAgc_Free(void *state)
|
||||
Agc_t *stt;
|
||||
|
||||
stt = (Agc_t *)state;
|
||||
#ifdef AGC_DEBUG
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fclose(stt->fpt);
|
||||
fclose(stt->agcLog);
|
||||
fclose(stt->digitalAgc.logFile);
|
||||
@@ -1553,13 +1584,13 @@ int WebRtcAgc_Init(void *agcInst, int32_t minLevel, int32_t maxLevel,
|
||||
* 2 - Digital Automatic Gain Control [-targetLevelDbfs (default -3 dBOv)]
|
||||
* 3 - Fixed Digital Gain [compressionGaindB (default 8 dB)]
|
||||
*/
|
||||
#ifdef AGC_DEBUG//test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
stt->fcount = 0;
|
||||
fprintf(stt->fpt, "AGC->Init\n");
|
||||
#endif
|
||||
if (agcMode < kAgcModeUnchanged || agcMode > kAgcModeFixedDigital)
|
||||
{
|
||||
#ifdef AGC_DEBUG//test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt, "AGC->Init: error, incorrect mode\n\n");
|
||||
#endif
|
||||
return -1;
|
||||
@@ -1616,10 +1647,12 @@ int WebRtcAgc_Init(void *agcInst, int32_t minLevel, int32_t maxLevel,
|
||||
stt->numBlocksMicLvlSat = 0;
|
||||
stt->micLvlSat = 0;
|
||||
#endif
|
||||
#ifdef AGC_DEBUG//test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt,
|
||||
"AGC->Init: minLevel = %d, maxAnalog = %d, maxLevel = %d\n",
|
||||
stt->minLevel, stt->maxAnalog, stt->maxLevel);
|
||||
stt->minLevel,
|
||||
stt->maxAnalog,
|
||||
stt->maxLevel);
|
||||
#endif
|
||||
|
||||
/* Minimum output volume is 4% higher than the available lowest volume level */
|
||||
@@ -1687,13 +1720,13 @@ int WebRtcAgc_Init(void *agcInst, int32_t minLevel, int32_t maxLevel,
|
||||
/* Only positive values are allowed that are not too large */
|
||||
if ((minLevel >= maxLevel) || (maxLevel & 0xFC000000))
|
||||
{
|
||||
#ifdef AGC_DEBUG//test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt, "minLevel, maxLevel value(s) are invalid\n\n");
|
||||
#endif
|
||||
return -1;
|
||||
} else
|
||||
{
|
||||
#ifdef AGC_DEBUG//test log
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
fprintf(stt->fpt, "\n");
|
||||
#endif
|
||||
return 0;
|
||||
|
@@ -15,9 +15,8 @@
|
||||
#include "webrtc/modules/audio_processing/agc/include/gain_control.h"
|
||||
#include "webrtc/typedefs.h"
|
||||
|
||||
//#define AGC_DEBUG
|
||||
//#define MIC_LEVEL_FEEDBACK
|
||||
#ifdef AGC_DEBUG
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
@@ -122,10 +121,10 @@ typedef struct
|
||||
AgcVad_t vadMic;
|
||||
DigitalAgc_t digitalAgc;
|
||||
|
||||
#ifdef AGC_DEBUG
|
||||
FILE* fpt;
|
||||
FILE* agcLog;
|
||||
int32_t fcount;
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
FILE* fpt;
|
||||
FILE* agcLog;
|
||||
int32_t fcount;
|
||||
#endif
|
||||
|
||||
int16_t lowLevelSignal;
|
||||
|
@@ -16,7 +16,7 @@
|
||||
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
#ifdef AGC_DEBUG
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
@@ -274,7 +274,7 @@ int32_t WebRtcAgc_InitDigital(DigitalAgc_t *stt, int16_t agcMode)
|
||||
stt->gain = 65536;
|
||||
stt->gatePrevious = 0;
|
||||
stt->agcMode = agcMode;
|
||||
#ifdef AGC_DEBUG
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
stt->frameCounter = 0;
|
||||
#endif
|
||||
|
||||
@@ -397,9 +397,14 @@ int32_t WebRtcAgc_ProcessDigital(DigitalAgc_t *stt, const int16_t *in_near,
|
||||
decay = 0;
|
||||
}
|
||||
}
|
||||
#ifdef AGC_DEBUG
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
stt->frameCounter++;
|
||||
fprintf(stt->logFile, "%5.2f\t%d\t%d\t%d\t", (float)(stt->frameCounter) / 100, logratio, decay, stt->vadNearend.stdLongTerm);
|
||||
fprintf(stt->logFile,
|
||||
"%5.2f\t%d\t%d\t%d\t",
|
||||
(float)(stt->frameCounter) / 100,
|
||||
logratio,
|
||||
decay,
|
||||
stt->vadNearend.stdLongTerm);
|
||||
#endif
|
||||
// Find max amplitude per sub frame
|
||||
// iterate over sub frames
|
||||
@@ -461,10 +466,15 @@ int32_t WebRtcAgc_ProcessDigital(DigitalAgc_t *stt, const int16_t *in_near,
|
||||
frac = (int16_t)WEBRTC_SPL_RSHIFT_W32(tmp32, 19); // Q12
|
||||
tmp32 = WEBRTC_SPL_MUL((stt->gainTable[zeros-1] - stt->gainTable[zeros]), frac);
|
||||
gains[k + 1] = stt->gainTable[zeros] + WEBRTC_SPL_RSHIFT_W32(tmp32, 12);
|
||||
#ifdef AGC_DEBUG
|
||||
if (k == 0)
|
||||
{
|
||||
fprintf(stt->logFile, "%d\t%d\t%d\t%d\t%d\n", env[0], cur_level, stt->capacitorFast, stt->capacitorSlow, zeros);
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
if (k == 0) {
|
||||
fprintf(stt->logFile,
|
||||
"%d\t%d\t%d\t%d\t%d\n",
|
||||
env[0],
|
||||
cur_level,
|
||||
stt->capacitorFast,
|
||||
stt->capacitorSlow,
|
||||
zeros);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@@ -11,7 +11,7 @@
|
||||
#ifndef WEBRTC_MODULES_AUDIO_PROCESSING_AGC_MAIN_SOURCE_DIGITAL_AGC_H_
|
||||
#define WEBRTC_MODULES_AUDIO_PROCESSING_AGC_MAIN_SOURCE_DIGITAL_AGC_H_
|
||||
|
||||
#ifdef AGC_DEBUG
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
#include "webrtc/common_audio/signal_processing/include/signal_processing_library.h"
|
||||
@@ -46,9 +46,9 @@ typedef struct
|
||||
int16_t agcMode;
|
||||
AgcVad_t vadNearend;
|
||||
AgcVad_t vadFarend;
|
||||
#ifdef AGC_DEBUG
|
||||
FILE* logFile;
|
||||
int frameCounter;
|
||||
#ifdef WEBRTC_AGC_DEBUG_DUMP
|
||||
FILE* logFile;
|
||||
int frameCounter;
|
||||
#endif
|
||||
} DigitalAgc_t;
|
||||
|
||||
|
@@ -21,6 +21,7 @@
|
||||
'variables': {
|
||||
# Outputs some low-level debug files.
|
||||
'aec_debug_dump%': 0,
|
||||
'agc_debug_dump%': 0,
|
||||
|
||||
# Disables the usual mode where we trust the reported system delay
|
||||
# values the AEC receives. The corresponding define is set appropriately
|
||||
@@ -93,6 +94,9 @@
|
||||
['aec_untrusted_delay_for_testing==1', {
|
||||
'defines': ['WEBRTC_UNTRUSTED_DELAY',],
|
||||
}],
|
||||
['agc_debug_dump==1', {
|
||||
'defines': ['WEBRTC_AGC_DEBUG_DUMP',],
|
||||
}],
|
||||
['enable_protobuf==1', {
|
||||
'dependencies': ['audioproc_debug_proto'],
|
||||
'defines': ['WEBRTC_AUDIOPROC_DEBUG_DUMP'],
|
||||
|
Reference in New Issue
Block a user