mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-12 21:30:45 +01:00
Format /modules
git ls-files | grep -e "\(\.h\|\.cc\)$" | grep -e "^modules/" | xargs clang-format -i ; git cl format after landing: add to .git-blame-ignore-revs Bug: webrtc:15082 Change-Id: I2c3cd28740062794f8c10e39d8406aadb9e9a35a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/301620 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Auto-Submit: Jared Siskin <jtsiskin@meta.com> Cr-Commit-Position: refs/heads/main@{#39901}
This commit is contained in:
parent
2080dacfb7
commit
c018bae807
134 changed files with 422 additions and 441 deletions
|
@ -98,16 +98,12 @@ TEST(AudioDecoderFactoryTest, MaxNrOfChannels) {
|
|||
CreateBuiltinAudioDecoderFactory();
|
||||
std::vector<std::string> codecs = {
|
||||
#ifdef WEBRTC_CODEC_OPUS
|
||||
"opus",
|
||||
"opus",
|
||||
#endif
|
||||
#ifdef WEBRTC_CODEC_ILBC
|
||||
"ilbc",
|
||||
"ilbc",
|
||||
#endif
|
||||
"pcmu",
|
||||
"pcma",
|
||||
"l16",
|
||||
"G722",
|
||||
"G711",
|
||||
"pcmu", "pcma", "l16", "G722", "G711",
|
||||
};
|
||||
|
||||
for (auto codec : codecs) {
|
||||
|
|
|
@ -94,7 +94,7 @@ int AudioDecoderG722StereoImpl::DecodeInternal(const uint8_t* encoded,
|
|||
const size_t encoded_len_adjusted = PacketDuration(encoded, encoded_len) *
|
||||
Channels() /
|
||||
2; // 1/2 byte per sample per channel
|
||||
int16_t temp_type = 1; // Default is speech.
|
||||
int16_t temp_type = 1; // Default is speech.
|
||||
// De-interleave the bit-stream into two separate payloads.
|
||||
uint8_t* encoded_deinterleaved = new uint8_t[encoded_len_adjusted];
|
||||
SplitStereoPacket(encoded, encoded_len_adjusted, encoded_deinterleaved);
|
||||
|
|
|
@ -37,6 +37,6 @@ void WebRtcIlbcfix_AbsQuant(
|
|||
input) */
|
||||
int16_t* in, /* (i) vector to encode */
|
||||
int16_t* weightDenum /* (i) denominator of synthesis filter */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -32,6 +32,6 @@ void WebRtcIlbcfix_BwExpand(
|
|||
expansion */
|
||||
int16_t* coef, /* (i) the bandwidth expansion factor Q15 */
|
||||
int16_t length /* (i) the length of lpc coefficient vectors */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -32,6 +32,6 @@ void WebRtcIlbcfix_CbMemEnergy(
|
|||
int16_t* energyShifts, /* (o) Shift value of the energy */
|
||||
int scale, /* (i) The scaling of all energy values */
|
||||
size_t base_size /* (i) Index to where energy values should be stored */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -29,6 +29,6 @@ void WebRtcIlbcfix_CbMemEnergyAugmentation(
|
|||
size_t base_size, /* (i) Index to where energy values should be stored */
|
||||
int16_t* energyW16, /* (o) Energy in the CB vectors */
|
||||
int16_t* energyShifts /* (o) Shift value of the energy */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -31,6 +31,6 @@ void WebRtcIlbcfix_CbMemEnergyCalc(
|
|||
int16_t* energyShifts, /* (o) Shift value of the energy */
|
||||
int scale, /* (i) The scaling of all energy values */
|
||||
size_t base_size /* (i) Index to where energy values should be stored */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -35,6 +35,6 @@ void WebRtcIlbcfix_CbSearch(
|
|||
size_t lTarget, /* (i) Length of vector */
|
||||
int16_t* weightDenum, /* (i) weighting filter coefficients in Q12 */
|
||||
size_t block /* (i) the subblock number */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -33,9 +33,9 @@ void WebRtcIlbcfix_CbSearchCore(
|
|||
size_t* bestIndex, /* (o) Index that corresponds to
|
||||
maximum criteria (in this
|
||||
vector) */
|
||||
int32_t* bestCrit, /* (o) Value of critera for the
|
||||
chosen index */
|
||||
int16_t* bestCritSh); /* (o) The domain of the chosen
|
||||
criteria */
|
||||
int32_t* bestCrit, /* (o) Value of critera for the
|
||||
chosen index */
|
||||
int16_t* bestCritSh); /* (o) The domain of the chosen
|
||||
criteria */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -33,6 +33,6 @@ int16_t WebRtcIlbcfix_Chebyshev(
|
|||
/* (o) Result of C(x) */
|
||||
int16_t x, /* (i) Value to the Chevyshev polynomial */
|
||||
int16_t* f /* (i) The coefficients in the polynomial */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -34,6 +34,6 @@ void WebRtcIlbcfix_CompCorr(int32_t* corr, /* (o) cross correlation */
|
|||
size_t bLen, /* (i) length of buffer */
|
||||
size_t sRange, /* (i) correlation search length */
|
||||
int16_t scale /* (i) number of rightshifts to use */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -28,8 +28,8 @@
|
|||
*----------------------------------------------------------------*/
|
||||
|
||||
void WebRtcIlbcfix_CreateAugmentedVec(
|
||||
size_t index, /* (i) Index for the augmented vector to be
|
||||
created */
|
||||
size_t index, /* (i) Index for the augmented vector to be
|
||||
created */
|
||||
const int16_t* buffer, /* (i) Pointer to the end of the codebook memory
|
||||
that is used for creation of the augmented
|
||||
codebook */
|
||||
|
|
|
@ -29,13 +29,13 @@
|
|||
*---------------------------------------------------------------*/
|
||||
|
||||
void WebRtcIlbcfix_DecoderInterpolateLsp(
|
||||
int16_t* syntdenum, /* (o) synthesis filter coefficients */
|
||||
int16_t* syntdenum, /* (o) synthesis filter coefficients */
|
||||
int16_t* weightdenum, /* (o) weighting denumerator
|
||||
coefficients */
|
||||
int16_t* lsfdeq, /* (i) dequantized lsf coefficients */
|
||||
int16_t length, /* (i) length of lsf coefficient vector */
|
||||
int16_t* lsfdeq, /* (i) dequantized lsf coefficients */
|
||||
int16_t length, /* (i) length of lsf coefficient vector */
|
||||
IlbcDecoder* iLBCdec_inst
|
||||
/* (i) the decoder state structure */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -39,6 +39,6 @@ void WebRtcIlbcfix_DoThePlc(
|
|||
size_t inlag, /* (i) pitch lag */
|
||||
IlbcDecoder* iLBCdec_inst
|
||||
/* (i/o) decoder instance */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -29,10 +29,10 @@
|
|||
*---------------------------------------------------------------*/
|
||||
|
||||
void WebRtcIlbcfix_EncodeImpl(
|
||||
uint16_t* bytes, /* (o) encoded data bits iLBC */
|
||||
const int16_t* block, /* (i) speech vector to encode */
|
||||
uint16_t* bytes, /* (o) encoded data bits iLBC */
|
||||
const int16_t* block, /* (i) speech vector to encode */
|
||||
IlbcEncoder* iLBCenc_inst /* (i/o) the general encoder
|
||||
state */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -28,8 +28,8 @@
|
|||
|
||||
void WebRtcIlbcfix_EnergyInverse(
|
||||
int16_t*
|
||||
energy, /* (i/o) Energy and inverse
|
||||
energy (in Q29) */
|
||||
energy, /* (i/o) Energy and inverse
|
||||
energy (in Q29) */
|
||||
size_t noOfEnergies); /* (i) The length of the energy
|
||||
vector */
|
||||
|
||||
|
|
|
@ -28,6 +28,6 @@
|
|||
void WebRtcIlbcfix_EnhUpsample(
|
||||
int32_t* useq1, /* (o) upsampled output sequence */
|
||||
int16_t* seq1 /* (i) unupsampled sequence */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -35,6 +35,6 @@ void WebRtcIlbcfix_Enhancer(
|
|||
size_t* period, /* (i) pitch period array (pitch bward-in time) */
|
||||
const size_t* plocs, /* (i) locations where period array values valid */
|
||||
size_t periodl /* (i) dimension of period and plocs */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -34,6 +34,6 @@ void WebRtcIlbcfix_FilteredCbVecs(
|
|||
second CB section */
|
||||
size_t lMem, /* (i) Length of codebook memory */
|
||||
size_t samples /* (i) Number of samples to filter */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -29,6 +29,6 @@ size_t WebRtcIlbcfix_FrameClassify(
|
|||
IlbcEncoder* iLBCenc_inst,
|
||||
/* (i/o) the encoder state structure */
|
||||
int16_t* residualFIX /* (i) lpc residual signal */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -31,6 +31,6 @@ int16_t WebRtcIlbcfix_GainDequant(
|
|||
int16_t index, /* (i) quantization index */
|
||||
int16_t maxIn, /* (i) maximum of unquantized gain (Q14) */
|
||||
int16_t stage /* (i) The stage of the search */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -31,6 +31,6 @@ WebRtcIlbcfix_GainQuant( /* (o) quantized gain value */
|
|||
int16_t maxIn, /* (i) maximum of gain value Q14 */
|
||||
int16_t stage, /* (i) The stage of the search */
|
||||
int16_t* index /* (o) quantization index */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -36,6 +36,6 @@ void WebRtcIlbcfix_GetSyncSeq(
|
|||
size_t hl, /* (i) 2*hl+1 is the number of sequences */
|
||||
int16_t* surround /* (i/o) The contribution from this sequence
|
||||
summed with earlier contributions */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -22,6 +22,6 @@
|
|||
#include "modules/audio_coding/codecs/ilbc/defines.h"
|
||||
|
||||
void WebRtcIlbcfix_IndexConvDec(int16_t* index /* (i/o) Codebook indexes */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -26,6 +26,6 @@
|
|||
*---------------------------------------------------------------*/
|
||||
|
||||
void WebRtcIlbcfix_IndexConvEnc(int16_t* index /* (i/o) Codebook indexes */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -33,6 +33,6 @@ int WebRtcIlbcfix_InitDecode(/* (o) Number of decoded samples */
|
|||
int16_t mode, /* (i) frame size mode */
|
||||
int use_enhancer /* (i) 1 to use enhancer
|
||||
0 to run without enhancer */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -31,6 +31,6 @@ int WebRtcIlbcfix_InitEncode(/* (o) Number of bytes encoded */
|
|||
IlbcEncoder*
|
||||
iLBCenc_inst, /* (i/o) Encoder instance */
|
||||
int16_t mode /* (i) frame size mode */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -30,6 +30,6 @@ void WebRtcIlbcfix_InterpolateSamples(
|
|||
int16_t* interpSamples, /* (o) The interpolated samples */
|
||||
int16_t* CBmem, /* (i) The CB memory */
|
||||
size_t lMem /* (i) Length of the CB memory */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -37,6 +37,6 @@ void WebRtcIlbcfix_LpcEncode(
|
|||
int16_t* data, /* (i) Speech to do LPC analysis on */
|
||||
IlbcEncoder* iLBCenc_inst
|
||||
/* (i/o) the encoder state structure */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -32,6 +32,6 @@ void WebRtcIlbcfix_LspInterpolate2PolyDec(
|
|||
int16_t coef, /* (i) weighting coefficient to use between
|
||||
lsf1 and lsf2 Q14 */
|
||||
int16_t length /* (i) length of coefficient vectors */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -33,6 +33,6 @@ void WebRtcIlbcfix_LsfInterpolate2PloyEnc(
|
|||
int16_t coef, /* (i) weighting coefficient to use between
|
||||
lsf1 and lsf2 Q14 */
|
||||
int16_t length /* (i) length of coefficient vectors */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -29,6 +29,6 @@ void WebRtcIlbcfix_Lsf2Lsp(
|
|||
int16_t* lsf, /* (i) lsf in Q13 values between 0 and pi */
|
||||
int16_t* lsp, /* (o) lsp in Q15 values between -1 and 1 */
|
||||
int16_t m /* (i) number of coefficients */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -28,6 +28,6 @@
|
|||
void WebRtcIlbcfix_Lsf2Poly(
|
||||
int16_t* a, /* (o) predictor coefficients (order = 10) in Q12 */
|
||||
int16_t* lsf /* (i) line spectral frequencies in Q13 */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -30,6 +30,6 @@ void WebRtcIlbcfix_Lsp2Lsf(
|
|||
int16_t* lsf, /* (o) Lsf vector 0...Pi in Q13
|
||||
(ordered, so that lsf[i]<lsf[i+1]) */
|
||||
int16_t m /* (i) Number of coefficients */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -31,6 +31,6 @@ void WebRtcIlbcfix_MyCorr(int32_t* corr, /* (o) correlation of seq1 and seq2 */
|
|||
size_t dim1, /* (i) dimension first seq1 */
|
||||
const int16_t* seq2, /* (i) second sequence */
|
||||
size_t dim2 /* (i) dimension seq2 */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -32,6 +32,6 @@ void WebRtcIlbcfix_NearestNeighbor(
|
|||
const size_t* array, /* (i) data array (Q2) */
|
||||
size_t value, /* (i) value (Q2) */
|
||||
size_t arlength /* (i) dimension of data array (==ENH_NBLOCKS_TOT) */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -29,6 +29,6 @@ void WebRtcIlbcfix_PackBits(
|
|||
uint16_t* bitstream, /* (o) The packetized bitstream */
|
||||
iLBC_bits* enc_bits, /* (i) Encoded bits */
|
||||
int16_t mode /* (i) Codec mode (20 or 30) */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -27,6 +27,6 @@
|
|||
|
||||
void WebRtcIlbcfix_Poly2Lsf(int16_t* lsf, /* (o) lsf coefficients (Q13) */
|
||||
int16_t* a /* (i) A coefficients (Q12) */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -31,6 +31,6 @@ void WebRtcIlbcfix_Poly2Lsp(
|
|||
int16_t* lsp, /* (i) LSP coefficients in Q15 */
|
||||
int16_t* old_lsp /* (i) old LSP coefficients that are used if the new
|
||||
coefficients turn out to be unstable */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -39,6 +39,6 @@ void WebRtcIlbcfix_Refiner(
|
|||
int16_t* surround, /* (i/o) The contribution from this sequence
|
||||
summed with earlier contributions */
|
||||
int16_t gain /* (i) Gain to use for this sequence */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -43,6 +43,6 @@ void WebRtcIlbcfix_SimpleInterpolateLsf(
|
|||
int16_t length, /* (i) should equate FILTERORDER */
|
||||
IlbcEncoder* iLBCenc_inst
|
||||
/* (i/o) the encoder state structure */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -32,6 +32,6 @@ void WebRtcIlbcfix_SimpleLpcAnalysis(
|
|||
int16_t* data, /* (i) new block of speech */
|
||||
IlbcEncoder* iLBCenc_inst
|
||||
/* (i/o) the encoder state structure */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -29,6 +29,6 @@ void WebRtcIlbcfix_SimpleLsfDeQ(
|
|||
int16_t* lsfdeq, /* (o) dequantized lsf coefficients */
|
||||
int16_t* index, /* (i) quantization index */
|
||||
int16_t lpc_n /* (i) number of LPCs */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -32,6 +32,6 @@ void WebRtcIlbcfix_SimpleLsfQ(
|
|||
int16_t* lsf, /* (i) the lsf coefficient vector to be
|
||||
quantized (dimension FILTERORDER) Q13 */
|
||||
int16_t lpc_n /* (i) number of lsf sets to quantize */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -30,6 +30,6 @@ void WebRtcIlbcfix_Smooth(int16_t* odata, /* (o) smoothed output */
|
|||
this block */
|
||||
int16_t* surround /* (i) The approximation from the
|
||||
surrounding sequences */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -31,6 +31,6 @@ void WebRtcIlbcfix_SortSq(
|
|||
int16_t x, /* (i) the value to quantize */
|
||||
const int16_t* cb, /* (i) the quantization codebook */
|
||||
int16_t cb_size /* (i) the size of the quantization codebook */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -33,6 +33,6 @@ void WebRtcIlbcfix_SplitVq(
|
|||
int16_t* CB, /* (i) the quantizer codebook in Q13 */
|
||||
int16_t* dim, /* (i) the dimension of X and qX */
|
||||
int16_t* cbsize /* (i) the number of vectors in the codebook */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -33,6 +33,6 @@ void WebRtcIlbcfix_StateConstruct(
|
|||
int16_t* syntDenum, /* (i) synthesis filter denumerator */
|
||||
int16_t* Out_fix, /* (o) the decoded state vector */
|
||||
size_t len /* (i) length of a state vector */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -36,6 +36,6 @@ void WebRtcIlbcfix_StateSearch(
|
|||
int16_t* residual, /* (i) target residual vector */
|
||||
int16_t* syntDenum, /* (i) lpc synthesis filter */
|
||||
int16_t* weightDenum /* (i) weighting filter denuminator */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -30,6 +30,6 @@ void WebRtcIlbcfix_SwapBytes(
|
|||
const uint16_t* input, /* (i) the sequence to swap */
|
||||
size_t wordLength, /* (i) number or uint16_t to swap */
|
||||
uint16_t* output /* (o) the swapped sequence */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -34,6 +34,6 @@ WebRtcIlbcfix_UnpackBits(/* (o) "Empty" frame indicator */
|
|||
iLBC_bits*
|
||||
enc_bits, /* (o) Paramerers from bitstream */
|
||||
int16_t mode /* (i) Codec mode (20 or 30) */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -31,6 +31,6 @@ void WebRtcIlbcfix_Vq3(
|
|||
int16_t* CB, /* (i) the vector quantization codebook (Q13) */
|
||||
int16_t* X, /* (i) the vector to quantize (Q13) */
|
||||
int16_t n_cb /* (i) the number of vectors in the codebook */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -31,6 +31,6 @@ void WebRtcIlbcfix_Vq4(
|
|||
int16_t* CB, /* (i) the vector quantization codebook (Q13) */
|
||||
int16_t* X, /* (i) the vector to quantize (Q13) */
|
||||
int16_t n_cb /* (i) the number of vectors in the codebook */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -30,6 +30,6 @@ void WebRtcIlbcfix_Window32W32(int32_t* z, /* Output */
|
|||
int32_t* x, /* Input (same domain as Output)*/
|
||||
const int32_t* y, /* Q31 Window */
|
||||
size_t N /* length to process */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -34,6 +34,6 @@ size_t WebRtcIlbcfix_XcorrCoef(
|
|||
size_t searchLen, /* (i) the search lenght */
|
||||
size_t offset, /* (i) samples offset between arrays */
|
||||
int16_t step /* (i) +1 or -1 */
|
||||
);
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#include "modules/audio_coding/codecs/opus/opus_interface.h"
|
||||
|
||||
#include <cstdlib>
|
||||
|
||||
#include <numeric>
|
||||
|
||||
#include "api/array_view.h"
|
||||
|
|
|
@ -37,7 +37,7 @@ namespace {
|
|||
static const size_t kMaxNumSamples = 48 * 10 * 2; // 10 ms @ 48 kHz stereo.
|
||||
static const size_t kRedLastHeaderLength =
|
||||
1; // 1 byte RED header for the last element.
|
||||
}
|
||||
} // namespace
|
||||
|
||||
class AudioEncoderCopyRedTest : public ::testing::Test {
|
||||
protected:
|
||||
|
|
|
@ -64,7 +64,7 @@ struct AudioDecodingCallStats {
|
|||
int calls_to_silence_generator; // Number of calls where silence generated,
|
||||
// and NetEq was disengaged from decoding.
|
||||
int calls_to_neteq; // Number of calls to NetEq.
|
||||
int decoded_normal; // Number of calls where audio RTP packet decoded.
|
||||
int decoded_normal; // Number of calls where audio RTP packet decoded.
|
||||
int decoded_neteq_plc; // Number of calls resulted in NetEq PLC.
|
||||
int decoded_codec_plc; // Number of calls resulted in codec PLC.
|
||||
int decoded_cng; // Number of calls where comfort noise generated due to DTX.
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
|
||||
#include "modules/audio_coding/neteq/accelerate.h"
|
||||
|
||||
|
||||
#include "api/array_view.h"
|
||||
#include "modules/audio_coding/neteq/audio_multi_vector.h"
|
||||
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
|
||||
#include "modules/audio_coding/neteq/audio_multi_vector.h"
|
||||
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "rtc_base/checks.h"
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
|
||||
#include "modules/audio_coding/neteq/audio_vector.h"
|
||||
|
||||
|
||||
#include <algorithm>
|
||||
#include <memory>
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ void BufferLevelFilter::Update(size_t buffer_size_samples,
|
|||
// `level_factor_` and `filtered_current_level_` are in Q8.
|
||||
// `buffer_size_samples` is in Q0.
|
||||
const int64_t filtered_current_level =
|
||||
(level_factor_ * int64_t{filtered_current_level_} >> 8) +
|
||||
(level_factor_* int64_t{filtered_current_level_} >> 8) +
|
||||
(256 - level_factor_) * rtc::dchecked_cast<int64_t>(buffer_size_samples);
|
||||
|
||||
// Account for time-scale operations (accelerate and pre-emptive expand) and
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
|
||||
#include "modules/audio_coding/neteq/comfort_noise.h"
|
||||
|
||||
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#ifndef MODULES_AUDIO_CODING_NETEQ_EXPAND_H_
|
||||
#define MODULES_AUDIO_CODING_NETEQ_EXPAND_H_
|
||||
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "modules/audio_coding/neteq/audio_vector.h"
|
||||
|
|
|
@ -114,8 +114,8 @@ int Histogram::Quantile(int probability) {
|
|||
// `iat_index`, it is more efficient to start with `sum` = 1 and subtract
|
||||
// elements from the start of the histogram.
|
||||
int inverse_probability = (1 << 30) - probability;
|
||||
size_t index = 0; // Start from the beginning of `buckets_`.
|
||||
int sum = 1 << 30; // Assign to 1 in Q30.
|
||||
size_t index = 0; // Start from the beginning of `buckets_`.
|
||||
int sum = 1 << 30; // Assign to 1 in Q30.
|
||||
sum -= buckets_[index];
|
||||
|
||||
while ((sum > inverse_probability) && (index < buckets_.size() - 1)) {
|
||||
|
|
|
@ -393,7 +393,7 @@ TEST_F(NetEqImplTest, InsertPacketsUntilBufferIsFull) {
|
|||
|
||||
const int kPayloadLengthSamples = 80;
|
||||
const size_t kPayloadLengthBytes = 2 * kPayloadLengthSamples; // PCM 16-bit.
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
uint8_t payload[kPayloadLengthBytes] = {0};
|
||||
RTPHeader rtp_header;
|
||||
rtp_header.payloadType = kPayloadType;
|
||||
|
@ -440,7 +440,7 @@ TEST_F(NetEqImplTest, TestDtmfPacketAVT48kHz) {
|
|||
// This test verifies that timestamps propagate from the incoming packets
|
||||
// through to the sync buffer and to the playout timestamp.
|
||||
TEST_F(NetEqImplTest, VerifyTimestampPropagation) {
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const int kSampleRateHz = 8000;
|
||||
const size_t kPayloadLengthSamples =
|
||||
static_cast<size_t>(10 * kSampleRateHz / 1000); // 10 ms.
|
||||
|
@ -559,7 +559,7 @@ TEST_F(NetEqImplTest, ReorderedPacket) {
|
|||
CreateInstance(
|
||||
rtc::make_ref_counted<test::AudioDecoderProxyFactory>(&mock_decoder));
|
||||
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const int kSampleRateHz = 8000;
|
||||
const size_t kPayloadLengthSamples =
|
||||
static_cast<size_t>(10 * kSampleRateHz / 1000); // 10 ms.
|
||||
|
@ -674,7 +674,7 @@ TEST_F(NetEqImplTest, FirstPacketUnknown) {
|
|||
UseNoMocks();
|
||||
CreateInstance();
|
||||
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const int kSampleRateHz = 8000;
|
||||
const size_t kPayloadLengthSamples =
|
||||
static_cast<size_t>(10 * kSampleRateHz / 1000); // 10 ms.
|
||||
|
@ -767,7 +767,7 @@ TEST_P(NetEqImplTestSampleRateParameter,
|
|||
UseNoMocks();
|
||||
CreateInstance();
|
||||
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const int kPayloadSampleRateHz = 16000;
|
||||
const size_t kPayloadLengthSamples =
|
||||
static_cast<size_t>(10 * kPayloadSampleRateHz / 1000); // 10 ms.
|
||||
|
@ -1004,7 +1004,7 @@ TEST_F(NetEqImplTest, CodecInternalCng) {
|
|||
CreateInstance(
|
||||
rtc::make_ref_counted<test::AudioDecoderProxyFactory>(&mock_decoder));
|
||||
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const int kSampleRateKhz = 48;
|
||||
const size_t kPayloadLengthSamples =
|
||||
static_cast<size_t>(20 * kSampleRateKhz); // 20 ms.
|
||||
|
@ -1097,7 +1097,7 @@ TEST_F(NetEqImplTest, UnsupportedDecoder) {
|
|||
static const size_t kNetEqMaxFrameSize = 5760; // 120 ms @ 48 kHz.
|
||||
static const size_t kChannels = 2;
|
||||
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const int kSampleRateHz = 8000;
|
||||
|
||||
const size_t kPayloadLengthSamples =
|
||||
|
@ -1189,7 +1189,7 @@ TEST_F(NetEqImplTest, FloodBufferAndGetNetworkStats) {
|
|||
|
||||
const size_t kPayloadLengthSamples = 80;
|
||||
const size_t kPayloadLengthBytes = 2 * kPayloadLengthSamples; // PCM 16-bit.
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
uint8_t payload[kPayloadLengthBytes] = {0};
|
||||
RTPHeader rtp_header;
|
||||
rtp_header.payloadType = kPayloadType;
|
||||
|
@ -1222,7 +1222,7 @@ TEST_F(NetEqImplTest, DecodedPayloadTooShort) {
|
|||
CreateInstance(
|
||||
rtc::make_ref_counted<test::AudioDecoderProxyFactory>(&mock_decoder));
|
||||
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const int kSampleRateHz = 8000;
|
||||
const size_t kPayloadLengthSamples =
|
||||
static_cast<size_t>(10 * kSampleRateHz / 1000); // 10 ms.
|
||||
|
@ -1281,7 +1281,7 @@ TEST_F(NetEqImplTest, DecodingError) {
|
|||
CreateInstance(
|
||||
rtc::make_ref_counted<test::AudioDecoderProxyFactory>(&mock_decoder));
|
||||
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const uint8_t kPayloadType = 17; // Just an arbitrary number.
|
||||
const int kSampleRateHz = 8000;
|
||||
const int kDecoderErrorCode = -97; // Any negative number.
|
||||
|
||||
|
|
|
@ -160,7 +160,6 @@ TEST_F(NetEqDecodingTestFaxMode, TestFrameWaitingTimeStatistics) {
|
|||
EXPECT_EQ(-1, stats.max_waiting_time_ms);
|
||||
}
|
||||
|
||||
|
||||
TEST_F(NetEqDecodingTest, LongCngWithNegativeClockDrift) {
|
||||
// Apply a clock drift of -25 ms / s (sender faster than receiver).
|
||||
const double kDriftFactor = 1000.0 / (1000.0 + 25.0);
|
||||
|
|
|
@ -134,7 +134,7 @@ TEST(PacketBuffer, InsertPacket) {
|
|||
EXPECT_FALSE(buffer.Empty());
|
||||
EXPECT_EQ(1u, buffer.NumPacketsInBuffer());
|
||||
const Packet* next_packet = buffer.PeekNextPacket();
|
||||
EXPECT_EQ(packet, *next_packet); // Compare contents.
|
||||
EXPECT_EQ(packet, *next_packet); // Compare contents.
|
||||
EXPECT_CALL(decoder_database, Die()); // Called when object is deleted.
|
||||
|
||||
// Do not explicitly flush buffer or delete packet to test that it is deleted
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
#include "modules/audio_coding/neteq/red_payload_splitter.h"
|
||||
|
||||
|
||||
#include <memory>
|
||||
#include <utility> // pair
|
||||
|
||||
|
|
|
@ -313,30 +313,28 @@ NetEqLifetimeStatistics NetEqTest::LifetimeStats() const {
|
|||
}
|
||||
|
||||
NetEqTest::DecoderMap NetEqTest::StandardDecoderMap() {
|
||||
DecoderMap codecs = {
|
||||
{0, SdpAudioFormat("pcmu", 8000, 1)},
|
||||
{8, SdpAudioFormat("pcma", 8000, 1)},
|
||||
DecoderMap codecs = {{0, SdpAudioFormat("pcmu", 8000, 1)},
|
||||
{8, SdpAudioFormat("pcma", 8000, 1)},
|
||||
#ifdef WEBRTC_CODEC_ILBC
|
||||
{102, SdpAudioFormat("ilbc", 8000, 1)},
|
||||
{102, SdpAudioFormat("ilbc", 8000, 1)},
|
||||
#endif
|
||||
#ifdef WEBRTC_CODEC_OPUS
|
||||
{111, SdpAudioFormat("opus", 48000, 2)},
|
||||
{111, SdpAudioFormat("opus", 48000, 2)},
|
||||
#endif
|
||||
{93, SdpAudioFormat("l16", 8000, 1)},
|
||||
{94, SdpAudioFormat("l16", 16000, 1)},
|
||||
{95, SdpAudioFormat("l16", 32000, 1)},
|
||||
{96, SdpAudioFormat("l16", 48000, 1)},
|
||||
{9, SdpAudioFormat("g722", 8000, 1)},
|
||||
{106, SdpAudioFormat("telephone-event", 8000, 1)},
|
||||
{114, SdpAudioFormat("telephone-event", 16000, 1)},
|
||||
{115, SdpAudioFormat("telephone-event", 32000, 1)},
|
||||
{116, SdpAudioFormat("telephone-event", 48000, 1)},
|
||||
{117, SdpAudioFormat("red", 8000, 1)},
|
||||
{13, SdpAudioFormat("cn", 8000, 1)},
|
||||
{98, SdpAudioFormat("cn", 16000, 1)},
|
||||
{99, SdpAudioFormat("cn", 32000, 1)},
|
||||
{100, SdpAudioFormat("cn", 48000, 1)}
|
||||
};
|
||||
{93, SdpAudioFormat("l16", 8000, 1)},
|
||||
{94, SdpAudioFormat("l16", 16000, 1)},
|
||||
{95, SdpAudioFormat("l16", 32000, 1)},
|
||||
{96, SdpAudioFormat("l16", 48000, 1)},
|
||||
{9, SdpAudioFormat("g722", 8000, 1)},
|
||||
{106, SdpAudioFormat("telephone-event", 8000, 1)},
|
||||
{114, SdpAudioFormat("telephone-event", 16000, 1)},
|
||||
{115, SdpAudioFormat("telephone-event", 32000, 1)},
|
||||
{116, SdpAudioFormat("telephone-event", 48000, 1)},
|
||||
{117, SdpAudioFormat("red", 8000, 1)},
|
||||
{13, SdpAudioFormat("cn", 8000, 1)},
|
||||
{98, SdpAudioFormat("cn", 16000, 1)},
|
||||
{99, SdpAudioFormat("cn", 32000, 1)},
|
||||
{100, SdpAudioFormat("cn", 48000, 1)}};
|
||||
return codecs;
|
||||
}
|
||||
|
||||
|
|
|
@ -95,7 +95,7 @@ class Packet {
|
|||
// Virtual lengths are used when parsing RTP header files (dummy RTP files).
|
||||
const size_t virtual_packet_length_bytes_;
|
||||
size_t virtual_payload_length_bytes_ = 0;
|
||||
const double time_ms_; // Used to denote a packet's arrival time.
|
||||
const double time_ms_; // Used to denote a packet's arrival time.
|
||||
const bool valid_header_;
|
||||
};
|
||||
|
||||
|
|
|
@ -80,8 +80,7 @@ std::unique_ptr<Packet> RtpFileSource::NextPacket() {
|
|||
}
|
||||
|
||||
RtpFileSource::RtpFileSource(absl::optional<uint32_t> ssrc_filter)
|
||||
: PacketSource(),
|
||||
ssrc_filter_(ssrc_filter) {}
|
||||
: PacketSource(), ssrc_filter_(ssrc_filter) {}
|
||||
|
||||
bool RtpFileSource::OpenFile(absl::string_view file_name) {
|
||||
rtp_reader_.reset(RtpFileReader::Create(RtpFileReader::kRtpDump, file_name));
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
|
||||
#include "modules/audio_coding/neteq/tools/rtp_generator.h"
|
||||
|
||||
|
||||
namespace webrtc {
|
||||
namespace test {
|
||||
|
||||
|
|
|
@ -229,8 +229,8 @@ EncodeDecodeTest::EncodeDecodeTest() = default;
|
|||
|
||||
void EncodeDecodeTest::Perform() {
|
||||
const std::map<int, SdpAudioFormat> send_codecs = {
|
||||
{107, {"L16", 8000, 1}}, {108, {"L16", 16000, 1}},
|
||||
{109, {"L16", 32000, 1}}, {0, {"PCMU", 8000, 1}},
|
||||
{107, {"L16", 8000, 1}}, {108, {"L16", 16000, 1}},
|
||||
{109, {"L16", 32000, 1}}, {0, {"PCMU", 8000, 1}},
|
||||
{8, {"PCMA", 8000, 1}},
|
||||
#ifdef WEBRTC_CODEC_ILBC
|
||||
{102, {"ILBC", 8000, 1}},
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
|
||||
#include "modules/audio_device/linux/audio_device_alsa_linux.h"
|
||||
|
||||
|
||||
#include "modules/audio_device/audio_device_config.h"
|
||||
#include "rtc_base/logging.h"
|
||||
#include "rtc_base/system/arch.h"
|
||||
|
@ -1053,8 +1052,8 @@ int32_t AudioDeviceLinuxALSA::StartRecording() {
|
|||
}
|
||||
|
||||
int32_t AudioDeviceLinuxALSA::StopRecording() {
|
||||
MutexLock lock(&mutex_);
|
||||
return StopRecordingLocked();
|
||||
MutexLock lock(&mutex_);
|
||||
return StopRecordingLocked();
|
||||
}
|
||||
|
||||
int32_t AudioDeviceLinuxALSA::StopRecordingLocked() {
|
||||
|
@ -1157,8 +1156,8 @@ int32_t AudioDeviceLinuxALSA::StartPlayout() {
|
|||
}
|
||||
|
||||
int32_t AudioDeviceLinuxALSA::StopPlayout() {
|
||||
MutexLock lock(&mutex_);
|
||||
return StopPlayoutLocked();
|
||||
MutexLock lock(&mutex_);
|
||||
return StopPlayoutLocked();
|
||||
}
|
||||
|
||||
int32_t AudioDeviceLinuxALSA::StopPlayoutLocked() {
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
#include "modules/audio_device/mac/audio_device_mac.h"
|
||||
|
||||
#include <ApplicationServices/ApplicationServices.h>
|
||||
#include <mach/mach.h> // mach_task_self()
|
||||
#include <sys/sysctl.h> // sysctlbyname()
|
||||
#include <mach/mach.h> // mach_task_self()
|
||||
#include <sys/sysctl.h> // sysctlbyname()
|
||||
|
||||
#include <memory>
|
||||
|
||||
|
@ -1355,8 +1355,8 @@ int32_t AudioDeviceMac::StopRecording() {
|
|||
// rendering has ended before stopping itself.
|
||||
if (_recording && captureDeviceIsAlive == 1) {
|
||||
_recording = false;
|
||||
_doStop = true; // Signal to io proc to stop audio device
|
||||
mutex_.Unlock(); // Cannot be under lock, risk of deadlock
|
||||
_doStop = true; // Signal to io proc to stop audio device
|
||||
mutex_.Unlock(); // Cannot be under lock, risk of deadlock
|
||||
if (!_stopEvent.Wait(TimeDelta::Seconds(2))) {
|
||||
MutexLock lockScoped(&mutex_);
|
||||
RTC_LOG(LS_WARNING) << "Timed out stopping the shared IOProc."
|
||||
|
@ -1465,8 +1465,8 @@ int32_t AudioDeviceMac::StopPlayout() {
|
|||
// In the case of a shared device, the IOProc will verify capturing
|
||||
// has ended before stopping itself.
|
||||
_playing = false;
|
||||
_doStop = true; // Signal to io proc to stop audio device
|
||||
mutex_.Unlock(); // Cannot be under lock, risk of deadlock
|
||||
_doStop = true; // Signal to io proc to stop audio device
|
||||
mutex_.Unlock(); // Cannot be under lock, risk of deadlock
|
||||
if (!_stopEvent.Wait(TimeDelta::Seconds(2))) {
|
||||
MutexLock lockScoped(&mutex_);
|
||||
RTC_LOG(LS_WARNING) << "Timed out stopping the render IOProc."
|
||||
|
|
|
@ -29,12 +29,11 @@
|
|||
#include "modules/audio_device/win/audio_device_core_win.h"
|
||||
// clang-format on
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <comdef.h>
|
||||
#include <dmo.h>
|
||||
#include <functiondiscoverykeys_devpkey.h>
|
||||
#include <mmsystem.h>
|
||||
#include <string.h>
|
||||
#include <strsafe.h>
|
||||
#include <uuids.h>
|
||||
#include <windows.h>
|
||||
|
@ -3256,9 +3255,10 @@ DWORD AudioDeviceWindowsCore::DoCaptureThread() {
|
|||
QueryPerformanceCounter(&t1);
|
||||
|
||||
// Get the current recording and playout delay.
|
||||
uint32_t sndCardRecDelay = (uint32_t)(
|
||||
((((UINT64)t1.QuadPart * _perfCounterFactor) - recTime) / 10000) +
|
||||
(10 * syncBufIndex) / _recBlockSize - 10);
|
||||
uint32_t sndCardRecDelay =
|
||||
(uint32_t)(((((UINT64)t1.QuadPart * _perfCounterFactor) - recTime) /
|
||||
10000) +
|
||||
(10 * syncBufIndex) / _recBlockSize - 10);
|
||||
uint32_t sndCardPlayDelay = static_cast<uint32_t>(_sndCardPlayDelay);
|
||||
|
||||
while (syncBufIndex >= _recBlockSize) {
|
||||
|
|
|
@ -13,12 +13,9 @@
|
|||
|
||||
#if (_MSC_VER >= 1400) // only include for VS 2005 and higher
|
||||
|
||||
#include "rtc_base/win32.h"
|
||||
#include <wmcodecdsp.h> // CLSID_CWMAudioAEC
|
||||
//(must be before audioclient.h)
|
||||
|
||||
#include "modules/audio_device/audio_device_generic.h"
|
||||
|
||||
#include <wmcodecdsp.h> // CLSID_CWMAudioAEC
|
||||
// (must be before audioclient.h)
|
||||
#include <audioclient.h> // WASAPI
|
||||
#include <audiopolicy.h>
|
||||
#include <avrt.h> // Avrt
|
||||
|
@ -27,8 +24,10 @@
|
|||
#include <mmdeviceapi.h> // MMDevice
|
||||
|
||||
#include "api/scoped_refptr.h"
|
||||
#include "modules/audio_device/audio_device_generic.h"
|
||||
#include "rtc_base/synchronization/mutex.h"
|
||||
#include "rtc_base/win/scoped_com_initializer.h"
|
||||
#include "rtc_base/win32.h"
|
||||
|
||||
// Use Multimedia Class Scheduler Service (MMCSS) to boost the thread priority
|
||||
#pragma comment(lib, "avrt.lib")
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
*/
|
||||
|
||||
#include "modules/audio_device/win/core_audio_utility_win.h"
|
||||
|
||||
#include "rtc_base/arraysize.h"
|
||||
#include "rtc_base/logging.h"
|
||||
#include "rtc_base/win/scoped_com_initializer.h"
|
||||
|
|
|
@ -8,10 +8,9 @@
|
|||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "modules/audio_processing/aec3/adaptive_fir_filter.h"
|
||||
|
||||
#include <immintrin.h>
|
||||
|
||||
#include "modules/audio_processing/aec3/adaptive_fir_filter.h"
|
||||
#include "rtc_base/checks.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "modules/audio_processing/aec3/adaptive_fir_filter_erl.h"
|
||||
|
||||
#include <immintrin.h>
|
||||
|
||||
#include "modules/audio_processing/aec3/adaptive_fir_filter_erl.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
namespace aec3 {
|
||||
|
|
|
@ -14,11 +14,7 @@
|
|||
namespace webrtc {
|
||||
|
||||
struct EchoPathVariability {
|
||||
enum class DelayAdjustment {
|
||||
kNone,
|
||||
kBufferFlush,
|
||||
kNewDetectedDelay
|
||||
};
|
||||
enum class DelayAdjustment { kNone, kBufferFlush, kNewDetectedDelay };
|
||||
|
||||
EchoPathVariability(bool gain_change,
|
||||
DelayAdjustment delay_change,
|
||||
|
|
|
@ -8,11 +8,10 @@
|
|||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "modules/audio_processing/aec3/fft_data.h"
|
||||
|
||||
#include <immintrin.h>
|
||||
|
||||
#include "api/array_view.h"
|
||||
#include "modules/audio_processing/aec3/fft_data.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
|
|
|
@ -453,18 +453,21 @@ TEST(MultiChannelContentDetectorMetrics, ReportsMetrics) {
|
|||
"PersistentMultichannelContentEverDetected"));
|
||||
EXPECT_METRIC_EQ(
|
||||
1, metrics::NumEvents("WebRTC.Audio.EchoCanceller."
|
||||
"PersistentMultichannelContentEverDetected", 1));
|
||||
"PersistentMultichannelContentEverDetected",
|
||||
1));
|
||||
|
||||
// Check periodic metric.
|
||||
EXPECT_METRIC_EQ(
|
||||
2, metrics::NumSamples("WebRTC.Audio.EchoCanceller."
|
||||
"ProcessingPersistentMultichannelContent"));
|
||||
EXPECT_METRIC_EQ(
|
||||
1, metrics::NumEvents("WebRTC.Audio.EchoCanceller."
|
||||
"ProcessingPersistentMultichannelContent", 0));
|
||||
EXPECT_METRIC_EQ(
|
||||
1, metrics::NumEvents("WebRTC.Audio.EchoCanceller."
|
||||
"ProcessingPersistentMultichannelContent", 1));
|
||||
EXPECT_METRIC_EQ(1,
|
||||
metrics::NumEvents("WebRTC.Audio.EchoCanceller."
|
||||
"ProcessingPersistentMultichannelContent",
|
||||
0));
|
||||
EXPECT_METRIC_EQ(1,
|
||||
metrics::NumEvents("WebRTC.Audio.EchoCanceller."
|
||||
"ProcessingPersistentMultichannelContent",
|
||||
1));
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
|
|
|
@ -49,7 +49,6 @@ class ReverbModel {
|
|||
float reverb_decay);
|
||||
|
||||
private:
|
||||
|
||||
std::array<float, kFftLengthBy2Plus1> reverb_;
|
||||
};
|
||||
|
||||
|
|
|
@ -8,12 +8,11 @@
|
|||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "modules/audio_processing/aec3/vector_math.h"
|
||||
|
||||
#include <immintrin.h>
|
||||
#include <math.h>
|
||||
|
||||
#include "api/array_view.h"
|
||||
#include "modules/audio_processing/aec3/vector_math.h"
|
||||
#include "rtc_base/checks.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
|
|
@ -123,7 +123,6 @@ const int16_t WebRtcAecm_kSinTable[] = {
|
|||
-2667, -2531, -2395, -2258, -2120, -1981, -1842, -1703, -1563, -1422, -1281,
|
||||
-1140, -998, -856, -713, -571, -428, -285, -142};
|
||||
|
||||
|
||||
// Moves the pointer to the next entry and inserts `far_spectrum` and
|
||||
// corresponding Q-domain in its buffer.
|
||||
//
|
||||
|
|
|
@ -185,8 +185,9 @@ static void WindowAndFFT(AecmCore* aecm,
|
|||
int16_t scaled_time_signal = time_signal[i] * (1 << time_signal_scaling);
|
||||
fft[i] = (int16_t)((scaled_time_signal * WebRtcAecm_kSqrtHanning[i]) >> 14);
|
||||
scaled_time_signal = time_signal[i + PART_LEN] * (1 << time_signal_scaling);
|
||||
fft[PART_LEN + i] = (int16_t)(
|
||||
(scaled_time_signal * WebRtcAecm_kSqrtHanning[PART_LEN - i]) >> 14);
|
||||
fft[PART_LEN + i] = (int16_t)((scaled_time_signal *
|
||||
WebRtcAecm_kSqrtHanning[PART_LEN - i]) >>
|
||||
14);
|
||||
}
|
||||
|
||||
// Do forward FFT, then take only the first PART_LEN complex samples,
|
||||
|
@ -644,18 +645,18 @@ int RTC_NO_SANITIZE("signed-integer-overflow") // bugs.webrtc.org/8200
|
|||
}
|
||||
|
||||
// multiply with Wiener coefficients
|
||||
efw[i].real = (int16_t)(
|
||||
WEBRTC_SPL_MUL_16_16_RSFT_WITH_ROUND(dfw[i].real, hnl[i], 14));
|
||||
efw[i].imag = (int16_t)(
|
||||
WEBRTC_SPL_MUL_16_16_RSFT_WITH_ROUND(dfw[i].imag, hnl[i], 14));
|
||||
efw[i].real = (int16_t)(WEBRTC_SPL_MUL_16_16_RSFT_WITH_ROUND(dfw[i].real,
|
||||
hnl[i], 14));
|
||||
efw[i].imag = (int16_t)(WEBRTC_SPL_MUL_16_16_RSFT_WITH_ROUND(dfw[i].imag,
|
||||
hnl[i], 14));
|
||||
}
|
||||
} else {
|
||||
// multiply with Wiener coefficients
|
||||
for (i = 0; i < PART_LEN1; i++) {
|
||||
efw[i].real = (int16_t)(
|
||||
WEBRTC_SPL_MUL_16_16_RSFT_WITH_ROUND(dfw[i].real, hnl[i], 14));
|
||||
efw[i].imag = (int16_t)(
|
||||
WEBRTC_SPL_MUL_16_16_RSFT_WITH_ROUND(dfw[i].imag, hnl[i], 14));
|
||||
efw[i].real = (int16_t)(WEBRTC_SPL_MUL_16_16_RSFT_WITH_ROUND(dfw[i].real,
|
||||
hnl[i], 14));
|
||||
efw[i].imag = (int16_t)(WEBRTC_SPL_MUL_16_16_RSFT_WITH_ROUND(dfw[i].imag,
|
||||
hnl[i], 14));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -569,8 +569,8 @@ static void InverseFFTAndWindow(AecmCore* aecm,
|
|||
[paecm_buf] "+r"(paecm_buf), [i] "=&r"(i),
|
||||
[pp_kSqrtHanning] "+r"(pp_kSqrtHanning),
|
||||
[p_kSqrtHanning] "+r"(p_kSqrtHanning)
|
||||
: [out_aecm] "r"(out_aecm),
|
||||
[WebRtcAecm_kSqrtHanning] "r"(WebRtcAecm_kSqrtHanning)
|
||||
: [out_aecm] "r"(out_aecm), [WebRtcAecm_kSqrtHanning] "r"(
|
||||
WebRtcAecm_kSqrtHanning)
|
||||
: "hi", "lo", "memory");
|
||||
|
||||
// Copy the current block to the old position
|
||||
|
@ -1334,10 +1334,10 @@ int WebRtcAecm_ProcessBlock(AecmCore* aecm,
|
|||
} else {
|
||||
// multiply with Wiener coefficients
|
||||
for (i = 0; i < PART_LEN1; i++) {
|
||||
efw[i].real = (int16_t)(
|
||||
WEBRTC_SPL_MUL_16_16_RSFT_WITH_ROUND(dfw[i].real, hnl[i], 14));
|
||||
efw[i].imag = (int16_t)(
|
||||
WEBRTC_SPL_MUL_16_16_RSFT_WITH_ROUND(dfw[i].imag, hnl[i], 14));
|
||||
efw[i].real = (int16_t)(WEBRTC_SPL_MUL_16_16_RSFT_WITH_ROUND(dfw[i].real,
|
||||
hnl[i], 14));
|
||||
efw[i].imag = (int16_t)(WEBRTC_SPL_MUL_16_16_RSFT_WITH_ROUND(dfw[i].imag,
|
||||
hnl[i], 14));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1424,8 +1424,8 @@ static void ComfortNoise(AecmCore* aecm,
|
|||
"srav %[tmp32], %[tmp32], %[minTrackShift] \n\t"
|
||||
"subu %[tnoise], %[tnoise], %[tmp32] \n\t"
|
||||
: [tmp32] "=&r"(tmp32), [tnoise] "+r"(tnoise)
|
||||
:
|
||||
[outLShift32] "r"(outLShift32), [minTrackShift] "r"(minTrackShift));
|
||||
: [outLShift32] "r"(outLShift32), [minTrackShift] "r"(
|
||||
minTrackShift));
|
||||
}
|
||||
} else {
|
||||
// Reset "too high" counter
|
||||
|
@ -1497,8 +1497,8 @@ static void ComfortNoise(AecmCore* aecm,
|
|||
"srav %[tmp32], %[tmp32], %[minTrackShift] \n\t"
|
||||
"subu %[tnoise1], %[tnoise1], %[tmp32] \n\t"
|
||||
: [tmp32] "=&r"(tmp32), [tnoise1] "+r"(tnoise1)
|
||||
:
|
||||
[outLShift32] "r"(outLShift32), [minTrackShift] "r"(minTrackShift));
|
||||
: [outLShift32] "r"(outLShift32), [minTrackShift] "r"(
|
||||
minTrackShift));
|
||||
}
|
||||
} else {
|
||||
// Reset "too high" counter
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#ifndef MODULES_AUDIO_PROCESSING_AGC_LEGACY_ANALOG_AGC_H_
|
||||
#define MODULES_AUDIO_PROCESSING_AGC_LEGACY_ANALOG_AGC_H_
|
||||
|
||||
|
||||
#include "modules/audio_processing/agc/legacy/digital_agc.h"
|
||||
#include "modules/audio_processing/agc/legacy/gain_control.h"
|
||||
|
||||
|
@ -63,7 +62,7 @@ typedef struct {
|
|||
int32_t upperSecondaryLimit; // = kRxxBufferLen * 2677832; -17 dBfs
|
||||
int32_t lowerSecondaryLimit; // = kRxxBufferLen * 267783; -27 dBfs
|
||||
uint16_t targetIdx; // Table index for corresponding target level
|
||||
int16_t analogTarget; // Digital reference level in ENV scale
|
||||
int16_t analogTarget; // Digital reference level in ENV scale
|
||||
|
||||
// Analog AGC specific variables
|
||||
int32_t filterState[8]; // For downsampling wb to nb
|
||||
|
@ -74,8 +73,8 @@ typedef struct {
|
|||
int32_t Rxx160_LPw32; // Low pass filtered frame energies
|
||||
int32_t Rxx16_LPw32Max; // Keeps track of largest energy subframe
|
||||
int32_t Rxx16_vectorw32[kRxxBufferLen]; // Array with subframe energies
|
||||
int32_t Rxx16w32_array[2][5]; // Energy values of microphone signal
|
||||
int32_t env[2][10]; // Envelope values of subframes
|
||||
int32_t Rxx16w32_array[2][5]; // Energy values of microphone signal
|
||||
int32_t env[2][10]; // Envelope values of subframes
|
||||
|
||||
int16_t Rxx16pos; // Current position in the Rxx16_vectorw32
|
||||
int16_t envSum; // Filtered scaled envelope in subframes
|
||||
|
|
|
@ -8,10 +8,11 @@
|
|||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "modules/audio_processing/agc2/rnn_vad/rnn_fc.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <numeric>
|
||||
|
||||
#include "modules/audio_processing/agc2/rnn_vad/rnn_fc.h"
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/numerics/safe_conversions.h"
|
||||
#include "third_party/rnnoise/src/rnn_activations.h"
|
||||
|
|
|
@ -8,11 +8,10 @@
|
|||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "modules/audio_processing/agc2/rnn_vad/vector_math.h"
|
||||
|
||||
#include <immintrin.h>
|
||||
|
||||
#include "api/array_view.h"
|
||||
#include "modules/audio_processing/agc2/rnn_vad/vector_math.h"
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/numerics/safe_conversions.h"
|
||||
|
||||
|
|
|
@ -255,7 +255,6 @@ int GainControlImpl::ProcessCaptureAudio(AudioBuffer* audio,
|
|||
return AudioProcessing::kNoError;
|
||||
}
|
||||
|
||||
|
||||
// TODO(ajm): ensure this is called under kAdaptiveAnalog.
|
||||
int GainControlImpl::set_stream_analog_level(int level) {
|
||||
data_dumper_->DumpRaw("gain_control_set_stream_analog_level", 1, &level);
|
||||
|
@ -287,7 +286,6 @@ int GainControlImpl::set_mode(Mode mode) {
|
|||
return AudioProcessing::kNoError;
|
||||
}
|
||||
|
||||
|
||||
int GainControlImpl::set_analog_level_limits(int minimum, int maximum) {
|
||||
if (minimum < 0 || maximum > 65535 || maximum < minimum) {
|
||||
return AudioProcessing::kBadParameterError;
|
||||
|
@ -302,7 +300,6 @@ int GainControlImpl::set_analog_level_limits(int minimum, int maximum) {
|
|||
return AudioProcessing::kNoError;
|
||||
}
|
||||
|
||||
|
||||
int GainControlImpl::set_target_level_dbfs(int level) {
|
||||
if (level > 31 || level < 0) {
|
||||
return AudioProcessing::kBadParameterError;
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include <math.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "modules/audio_processing/ns/fast_math.h"
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "modules/audio_processing/ns/prior_signal_model_estimator.h"
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "modules/audio_processing/ns/fast_math.h"
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#define MODULES_AUDIO_PROCESSING_NS_QUANTILE_NOISE_ESTIMATOR_H_
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#include <array>
|
||||
|
||||
#include "api/array_view.h"
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "modules/audio_processing/ns/speech_probability_estimator.h"
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "modules/audio_processing/ns/fast_math.h"
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include <math.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "modules/audio_processing/ns/fast_math.h"
|
||||
|
|
|
@ -9,9 +9,8 @@
|
|||
*/
|
||||
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "absl/flags/flag.h"
|
||||
#include "absl/flags/parse.h"
|
||||
|
|
|
@ -968,9 +968,7 @@ TEST(GoogCcScenario, FallbackToLossBasedBweWithoutPacketFeedback) {
|
|||
EXPECT_GE(client->target_rate().kbps(), 500);
|
||||
|
||||
// Update the network to create high loss ratio
|
||||
net->UpdateConfig([](NetworkSimulationConfig* c) {
|
||||
c->loss_rate = 0.15;
|
||||
});
|
||||
net->UpdateConfig([](NetworkSimulationConfig* c) { c->loss_rate = 0.15; });
|
||||
s.RunFor(TimeDelta::Seconds(20));
|
||||
|
||||
// Bandwidth decreases thanks to loss based bwe v0.
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue