Revert "Upconvert various types to int."

This reverts commit 83ad33a8aed1fb00e422b6abd33c3e8942821c24.

BUG=499241
TBR=hlundin

Review URL: https://codereview.webrtc.org/1179953003

Cr-Commit-Position: refs/heads/master@{#9418}
This commit is contained in:
Peter Kasting 2015-06-11 12:42:27 -07:00
parent 66a641a9c6
commit cb180976dd
61 changed files with 314 additions and 313 deletions

View File

@ -16,8 +16,8 @@ void WebRtcSpl_CrossCorrelationC(int32_t* cross_correlation,
const int16_t* seq2, const int16_t* seq2,
int16_t dim_seq, int16_t dim_seq,
int16_t dim_cross_correlation, int16_t dim_cross_correlation,
int right_shifts, int16_t right_shifts,
int step_seq2) { int16_t step_seq2) {
int i = 0, j = 0; int i = 0, j = 0;
for (i = 0; i < dim_cross_correlation; i++) { for (i = 0; i < dim_cross_correlation; i++) {

View File

@ -15,8 +15,8 @@ void WebRtcSpl_CrossCorrelation_mips(int32_t* cross_correlation,
const int16_t* seq2, const int16_t* seq2,
int16_t dim_seq, int16_t dim_seq,
int16_t dim_cross_correlation, int16_t dim_cross_correlation,
int right_shifts, int16_t right_shifts,
int step_seq2) { int16_t step_seq2) {
int32_t t0 = 0, t1 = 0, t2 = 0, t3 = 0, sum = 0; int32_t t0 = 0, t1 = 0, t2 = 0, t3 = 0, sum = 0;
int16_t *pseq2 = NULL; int16_t *pseq2 = NULL;

View File

@ -74,8 +74,8 @@ void WebRtcSpl_CrossCorrelationNeon(int32_t* cross_correlation,
const int16_t* seq2, const int16_t* seq2,
int16_t dim_seq, int16_t dim_seq,
int16_t dim_cross_correlation, int16_t dim_cross_correlation,
int right_shifts, int16_t right_shifts,
int step_seq2) { int16_t step_seq2) {
int i = 0; int i = 0;
for (i = 0; i < dim_cross_correlation; i++) { for (i = 0; i < dim_cross_correlation; i++) {

View File

@ -542,24 +542,24 @@ typedef void (*CrossCorrelation)(int32_t* cross_correlation,
const int16_t* seq2, const int16_t* seq2,
int16_t dim_seq, int16_t dim_seq,
int16_t dim_cross_correlation, int16_t dim_cross_correlation,
int right_shifts, int16_t right_shifts,
int step_seq2); int16_t step_seq2);
extern CrossCorrelation WebRtcSpl_CrossCorrelation; extern CrossCorrelation WebRtcSpl_CrossCorrelation;
void WebRtcSpl_CrossCorrelationC(int32_t* cross_correlation, void WebRtcSpl_CrossCorrelationC(int32_t* cross_correlation,
const int16_t* seq1, const int16_t* seq1,
const int16_t* seq2, const int16_t* seq2,
int16_t dim_seq, int16_t dim_seq,
int16_t dim_cross_correlation, int16_t dim_cross_correlation,
int right_shifts, int16_t right_shifts,
int step_seq2); int16_t step_seq2);
#if (defined WEBRTC_DETECT_NEON) || (defined WEBRTC_HAS_NEON) #if (defined WEBRTC_DETECT_NEON) || (defined WEBRTC_HAS_NEON)
void WebRtcSpl_CrossCorrelationNeon(int32_t* cross_correlation, void WebRtcSpl_CrossCorrelationNeon(int32_t* cross_correlation,
const int16_t* seq1, const int16_t* seq1,
const int16_t* seq2, const int16_t* seq2,
int16_t dim_seq, int16_t dim_seq,
int16_t dim_cross_correlation, int16_t dim_cross_correlation,
int right_shifts, int16_t right_shifts,
int step_seq2); int16_t step_seq2);
#endif #endif
#if defined(MIPS32_LE) #if defined(MIPS32_LE)
void WebRtcSpl_CrossCorrelation_mips(int32_t* cross_correlation, void WebRtcSpl_CrossCorrelation_mips(int32_t* cross_correlation,
@ -567,8 +567,8 @@ void WebRtcSpl_CrossCorrelation_mips(int32_t* cross_correlation,
const int16_t* seq2, const int16_t* seq2,
int16_t dim_seq, int16_t dim_seq,
int16_t dim_cross_correlation, int16_t dim_cross_correlation,
int right_shifts, int16_t right_shifts,
int step_seq2); int16_t step_seq2);
#endif #endif
// Creates (the first half of) a Hanning window. Size must be at least 1 and // Creates (the first half of) a Hanning window. Size must be at least 1 and

View File

@ -68,7 +68,7 @@ int16_t WebRtcCng_CreateDec(CNG_dec_inst** cng_inst);
* -1 - Error * -1 - Error
*/ */
int WebRtcCng_InitEnc(CNG_enc_inst* cng_inst, int fs, int16_t interval, int16_t WebRtcCng_InitEnc(CNG_enc_inst* cng_inst, uint16_t fs, int16_t interval,
int16_t quality); int16_t quality);
int16_t WebRtcCng_InitDec(CNG_dec_inst* cng_inst); int16_t WebRtcCng_InitDec(CNG_dec_inst* cng_inst);
@ -103,7 +103,7 @@ int16_t WebRtcCng_FreeDec(CNG_dec_inst* cng_inst);
* Return value : 0 - Ok * Return value : 0 - Ok
* -1 - Error * -1 - Error
*/ */
int WebRtcCng_Encode(CNG_enc_inst* cng_inst, int16_t* speech, int16_t WebRtcCng_Encode(CNG_enc_inst* cng_inst, int16_t* speech,
int16_t nrOfSamples, uint8_t* SIDdata, int16_t nrOfSamples, uint8_t* SIDdata,
int16_t* bytesOut, int16_t forceSID); int16_t* bytesOut, int16_t forceSID);

View File

@ -36,7 +36,7 @@ typedef struct WebRtcCngDecoder_ {
typedef struct WebRtcCngEncoder_ { typedef struct WebRtcCngEncoder_ {
int16_t enc_nrOfCoefs; int16_t enc_nrOfCoefs;
int enc_sampfreq; uint16_t enc_sampfreq;
int16_t enc_interval; int16_t enc_interval;
int16_t enc_msSinceSID; int16_t enc_msSinceSID;
int32_t enc_Energy; int32_t enc_Energy;
@ -142,7 +142,7 @@ int16_t WebRtcCng_CreateDec(CNG_dec_inst** cng_inst) {
* Return value : 0 - Ok * Return value : 0 - Ok
* -1 - Error * -1 - Error
*/ */
int WebRtcCng_InitEnc(CNG_enc_inst* cng_inst, int fs, int16_t interval, int16_t WebRtcCng_InitEnc(CNG_enc_inst* cng_inst, uint16_t fs, int16_t interval,
int16_t quality) { int16_t quality) {
int i; int i;
WebRtcCngEncoder* inst = (WebRtcCngEncoder*) cng_inst; WebRtcCngEncoder* inst = (WebRtcCngEncoder*) cng_inst;
@ -227,7 +227,7 @@ int16_t WebRtcCng_FreeDec(CNG_dec_inst* cng_inst) {
* Return value : 0 - Ok * Return value : 0 - Ok
* -1 - Error * -1 - Error
*/ */
int WebRtcCng_Encode(CNG_enc_inst* cng_inst, int16_t* speech, int16_t WebRtcCng_Encode(CNG_enc_inst* cng_inst, int16_t* speech,
int16_t nrOfSamples, uint8_t* SIDdata, int16_t nrOfSamples, uint8_t* SIDdata,
int16_t* bytesOut, int16_t forceSID) { int16_t* bytesOut, int16_t forceSID) {
WebRtcCngEncoder* inst = (WebRtcCngEncoder*) cng_inst; WebRtcCngEncoder* inst = (WebRtcCngEncoder*) cng_inst;
@ -388,12 +388,10 @@ int WebRtcCng_Encode(CNG_enc_inst* cng_inst, int16_t* speech,
inst->enc_msSinceSID = 0; inst->enc_msSinceSID = 0;
*bytesOut = inst->enc_nrOfCoefs + 1; *bytesOut = inst->enc_nrOfCoefs + 1;
inst->enc_msSinceSID += inst->enc_msSinceSID += (1000 * nrOfSamples) / inst->enc_sampfreq;
(int16_t)((1000 * nrOfSamples) / inst->enc_sampfreq);
return inst->enc_nrOfCoefs + 1; return inst->enc_nrOfCoefs + 1;
} else { } else {
inst->enc_msSinceSID += inst->enc_msSinceSID += (1000 * nrOfSamples) / inst->enc_sampfreq;
(int16_t)((1000 * nrOfSamples) / inst->enc_sampfreq);
*bytesOut = 0; *bytesOut = 0;
return 0; return 0;
} }

View File

@ -39,7 +39,7 @@ int16_t WebRtcG722_EncoderInit(G722EncInst *G722enc_inst)
} }
} }
int WebRtcG722_FreeEncoder(G722EncInst *G722enc_inst) int16_t WebRtcG722_FreeEncoder(G722EncInst *G722enc_inst)
{ {
// Free encoder memory // Free encoder memory
return WebRtc_g722_encode_release((G722EncoderState*) G722enc_inst); return WebRtc_g722_encode_release((G722EncoderState*) G722enc_inst);
@ -79,7 +79,7 @@ int16_t WebRtcG722_DecoderInit(G722DecInst *G722dec_inst)
} }
} }
int WebRtcG722_FreeDecoder(G722DecInst *G722dec_inst) int16_t WebRtcG722_FreeDecoder(G722DecInst *G722dec_inst)
{ {
// Free encoder memory // Free encoder memory
return WebRtc_g722_decode_release((G722DecoderState*) G722dec_inst); return WebRtc_g722_decode_release((G722DecoderState*) G722dec_inst);

View File

@ -73,7 +73,7 @@ int16_t WebRtcG722_EncoderInit(G722EncInst *G722enc_inst);
* Return value : 0 - Ok * Return value : 0 - Ok
* -1 - Error * -1 - Error
*/ */
int WebRtcG722_FreeEncoder(G722EncInst *G722enc_inst); int16_t WebRtcG722_FreeEncoder(G722EncInst *G722enc_inst);
@ -142,7 +142,7 @@ int16_t WebRtcG722_DecoderInit(G722DecInst *G722dec_inst);
* -1 - Error * -1 - Error
*/ */
int WebRtcG722_FreeDecoder(G722DecInst *G722dec_inst); int16_t WebRtcG722_FreeDecoder(G722DecInst *G722dec_inst);
/**************************************************************************** /****************************************************************************

View File

@ -31,7 +31,7 @@ void WebRtcIlbcfix_AugmentedCbCorr(
int16_t low, /* (i) Lag to start from (typically int16_t low, /* (i) Lag to start from (typically
20) */ 20) */
int16_t high, /* (i) Lag to end at (typically 39) */ int16_t high, /* (i) Lag to end at (typically 39) */
int scale) /* (i) Scale factor to use for int16_t scale) /* (i) Scale factor to use for
the crossDot */ the crossDot */
{ {
int lagcount; int lagcount;

View File

@ -36,6 +36,7 @@ void WebRtcIlbcfix_AugmentedCbCorr(
int16_t low, /* (i) Lag to start from (typically int16_t low, /* (i) Lag to start from (typically
20) */ 20) */
int16_t high, /* (i) Lag to end at (typically 39 */ int16_t high, /* (i) Lag to end at (typically 39 */
int scale); /* (i) Scale factor to use for the crossDot */ int16_t scale); /* (i) Scale factor to use for
the crossDot */
#endif #endif

View File

@ -34,7 +34,7 @@ void WebRtcIlbcfix_CbMemEnergy(
int16_t lTarget, /* (i) Length of the target vector */ int16_t lTarget, /* (i) Length of the target vector */
int16_t *energyW16, /* (o) Energy in the CB vectors */ int16_t *energyW16, /* (o) Energy in the CB vectors */
int16_t *energyShifts, /* (o) Shift value of the energy */ int16_t *energyShifts, /* (o) Shift value of the energy */
int scale, /* (i) The scaling of all energy values */ int16_t scale, /* (i) The scaling of all energy values */
int16_t base_size /* (i) Index to where the energy values should be stored */ int16_t base_size /* (i) Index to where the energy values should be stored */
) { ) {
int16_t *ppi, *ppo, *pp; int16_t *ppi, *ppo, *pp;

View File

@ -27,7 +27,7 @@ void WebRtcIlbcfix_CbMemEnergy(
int16_t lTarget, /* (i) Length of the target vector */ int16_t lTarget, /* (i) Length of the target vector */
int16_t *energyW16, /* (o) Energy in the CB vectors */ int16_t *energyW16, /* (o) Energy in the CB vectors */
int16_t *energyShifts, /* (o) Shift value of the energy */ int16_t *energyShifts, /* (o) Shift value of the energy */
int scale, /* (i) The scaling of all energy values */ int16_t scale, /* (i) The scaling of all energy values */
int16_t base_size /* (i) Index to where the energy values should be stored */ int16_t base_size /* (i) Index to where the energy values should be stored */
); );

View File

@ -22,7 +22,7 @@
void WebRtcIlbcfix_CbMemEnergyAugmentation( void WebRtcIlbcfix_CbMemEnergyAugmentation(
int16_t *interpSamples, /* (i) The interpolated samples */ int16_t *interpSamples, /* (i) The interpolated samples */
int16_t *CBmem, /* (i) The CB memory */ int16_t *CBmem, /* (i) The CB memory */
int scale, /* (i) The scaling of all energy values */ int16_t scale, /* (i) The scaling of all energy values */
int16_t base_size, /* (i) Index to where the energy values should be stored */ int16_t base_size, /* (i) Index to where the energy values should be stored */
int16_t *energyW16, /* (o) Energy in the CB vectors */ int16_t *energyW16, /* (o) Energy in the CB vectors */
int16_t *energyShifts /* (o) Shift value of the energy */ int16_t *energyShifts /* (o) Shift value of the energy */

View File

@ -22,7 +22,7 @@
void WebRtcIlbcfix_CbMemEnergyAugmentation( void WebRtcIlbcfix_CbMemEnergyAugmentation(
int16_t *interpSamples, /* (i) The interpolated samples */ int16_t *interpSamples, /* (i) The interpolated samples */
int16_t *CBmem, /* (i) The CB memory */ int16_t *CBmem, /* (i) The CB memory */
int scale, /* (i) The scaling of all energy values */ int16_t scale, /* (i) The scaling of all energy values */
int16_t base_size, /* (i) Index to where the energy values should be stored */ int16_t base_size, /* (i) Index to where the energy values should be stored */
int16_t *energyW16, /* (o) Energy in the CB vectors */ int16_t *energyW16, /* (o) Energy in the CB vectors */
int16_t *energyShifts /* (o) Shift value of the energy */ int16_t *energyShifts /* (o) Shift value of the energy */

View File

@ -28,7 +28,7 @@ void WebRtcIlbcfix_CbMemEnergyCalc(
int16_t *ppo, /* (i) input pointer 2 */ int16_t *ppo, /* (i) input pointer 2 */
int16_t *energyW16, /* (o) Energy in the CB vectors */ int16_t *energyW16, /* (o) Energy in the CB vectors */
int16_t *energyShifts, /* (o) Shift value of the energy */ int16_t *energyShifts, /* (o) Shift value of the energy */
int scale, /* (i) The scaling of all energy values */ int16_t scale, /* (i) The scaling of all energy values */
int16_t base_size /* (i) Index to where the energy values should be stored */ int16_t base_size /* (i) Index to where the energy values should be stored */
) )
{ {

View File

@ -26,7 +26,7 @@ void WebRtcIlbcfix_CbMemEnergyCalc(
int16_t *ppo, /* (i) input pointer 2 */ int16_t *ppo, /* (i) input pointer 2 */
int16_t *energyW16, /* (o) Energy in the CB vectors */ int16_t *energyW16, /* (o) Energy in the CB vectors */
int16_t *energyShifts, /* (o) Shift value of the energy */ int16_t *energyShifts, /* (o) Shift value of the energy */
int scale, /* (i) The scaling of all energy values */ int16_t scale, /* (i) The scaling of all energy values */
int16_t base_size /* (i) Index to where the energy values should be stored */ int16_t base_size /* (i) Index to where the energy values should be stored */
); );

View File

@ -46,9 +46,7 @@ void WebRtcIlbcfix_CbSearch(
int16_t block /* (i) the subblock number */ int16_t block /* (i) the subblock number */
) { ) {
int16_t i, j, stage, range; int16_t i, j, stage, range;
int16_t *pp; int16_t *pp, scale, tmp;
int16_t tmp;
int scale;
int16_t bits, temp1, temp2; int16_t bits, temp1, temp2;
int16_t base_size; int16_t base_size;
int32_t codedEner, targetEner; int32_t codedEner, targetEner;

View File

@ -120,8 +120,8 @@ int WebRtcIlbcfix_EnhancerInterface( /* (o) Estimated lag in end of in[] */
shifts = WEBRTC_SPL_MAX(0, shifts); shifts = WEBRTC_SPL_MAX(0, shifts);
/* compute cross correlation */ /* compute cross correlation */
WebRtcSpl_CrossCorrelation(corr32, target, regressor, ENH_BLOCKL_HALF, 50, WebRtcSpl_CrossCorrelation(corr32, target, regressor,
shifts, -1); ENH_BLOCKL_HALF, 50, (int16_t)shifts, -1);
/* Find 3 highest correlations that should be compared for the /* Find 3 highest correlations that should be compared for the
highest (corr*corr)/ener */ highest (corr*corr)/ener */
@ -206,8 +206,8 @@ int WebRtcIlbcfix_EnhancerInterface( /* (o) Estimated lag in end of in[] */
shifts=0; shifts=0;
/* compute cross correlation */ /* compute cross correlation */
WebRtcSpl_CrossCorrelation(corr32, target, regressor, plc_blockl, 3, shifts, WebRtcSpl_CrossCorrelation(corr32, target, regressor,
1); plc_blockl, 3, (int16_t)shifts, 1);
/* find lag */ /* find lag */
lag=WebRtcSpl_MaxIndexW32(corr32, 3); lag=WebRtcSpl_MaxIndexW32(corr32, 3);

View File

@ -88,7 +88,7 @@ int16_t WebRtcIlbcfix_EncoderInit(IlbcEncoderInstance* iLBCenc_inst,
} }
} }
int WebRtcIlbcfix_Encode(IlbcEncoderInstance* iLBCenc_inst, int16_t WebRtcIlbcfix_Encode(IlbcEncoderInstance* iLBCenc_inst,
const int16_t* speechIn, const int16_t* speechIn,
int16_t len, int16_t len,
uint8_t* encoded) { uint8_t* encoded) {
@ -141,7 +141,7 @@ int16_t WebRtcIlbcfix_Decoderinit30Ms(IlbcDecoderInstance *iLBCdec_inst) {
} }
int WebRtcIlbcfix_Decode(IlbcDecoderInstance* iLBCdec_inst, int16_t WebRtcIlbcfix_Decode(IlbcDecoderInstance* iLBCdec_inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t len, int16_t len,
int16_t* decoded, int16_t* decoded,
@ -194,7 +194,7 @@ int WebRtcIlbcfix_Decode(IlbcDecoderInstance* iLBCdec_inst,
return(i*((IlbcDecoder*)iLBCdec_inst)->blockl); return(i*((IlbcDecoder*)iLBCdec_inst)->blockl);
} }
int WebRtcIlbcfix_Decode20Ms(IlbcDecoderInstance* iLBCdec_inst, int16_t WebRtcIlbcfix_Decode20Ms(IlbcDecoderInstance* iLBCdec_inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t len, int16_t len,
int16_t* decoded, int16_t* decoded,
@ -222,7 +222,7 @@ int WebRtcIlbcfix_Decode20Ms(IlbcDecoderInstance* iLBCdec_inst,
return(i*((IlbcDecoder*)iLBCdec_inst)->blockl); return(i*((IlbcDecoder*)iLBCdec_inst)->blockl);
} }
int WebRtcIlbcfix_Decode30Ms(IlbcDecoderInstance* iLBCdec_inst, int16_t WebRtcIlbcfix_Decode30Ms(IlbcDecoderInstance* iLBCdec_inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t len, int16_t len,
int16_t* decoded, int16_t* decoded,

View File

@ -23,7 +23,7 @@
* Initiation of decoder instance. * Initiation of decoder instance.
*---------------------------------------------------------------*/ *---------------------------------------------------------------*/
int WebRtcIlbcfix_InitDecode( /* (o) Number of decoded samples */ int16_t WebRtcIlbcfix_InitDecode( /* (o) Number of decoded samples */
IlbcDecoder *iLBCdec_inst, /* (i/o) Decoder instance */ IlbcDecoder *iLBCdec_inst, /* (i/o) Decoder instance */
int16_t mode, /* (i) frame size mode */ int16_t mode, /* (i) frame size mode */
int use_enhancer) { /* (i) 1: use enhancer, 0: no enhancer */ int use_enhancer) { /* (i) 1: use enhancer, 0: no enhancer */

View File

@ -25,7 +25,7 @@
* Initiation of decoder instance. * Initiation of decoder instance.
*---------------------------------------------------------------*/ *---------------------------------------------------------------*/
int WebRtcIlbcfix_InitDecode( /* (o) Number of decoded samples */ int16_t WebRtcIlbcfix_InitDecode( /* (o) Number of decoded samples */
IlbcDecoder *iLBCdec_inst, /* (i/o) Decoder instance */ IlbcDecoder *iLBCdec_inst, /* (i/o) Decoder instance */
int16_t mode, /* (i) frame size mode */ int16_t mode, /* (i) frame size mode */
int use_enhancer /* (i) 1 to use enhancer int use_enhancer /* (i) 1 to use enhancer

View File

@ -23,7 +23,7 @@
* Initiation of encoder instance. * Initiation of encoder instance.
*---------------------------------------------------------------*/ *---------------------------------------------------------------*/
int WebRtcIlbcfix_InitEncode( /* (o) Number of bytes encoded */ int16_t WebRtcIlbcfix_InitEncode( /* (o) Number of bytes encoded */
IlbcEncoder *iLBCenc_inst, /* (i/o) Encoder instance */ IlbcEncoder *iLBCenc_inst, /* (i/o) Encoder instance */
int16_t mode) { /* (i) frame size mode */ int16_t mode) { /* (i) frame size mode */
iLBCenc_inst->mode = mode; iLBCenc_inst->mode = mode;

View File

@ -25,7 +25,7 @@
* Initiation of encoder instance. * Initiation of encoder instance.
*---------------------------------------------------------------*/ *---------------------------------------------------------------*/
int WebRtcIlbcfix_InitEncode( /* (o) Number of bytes encoded */ int16_t WebRtcIlbcfix_InitEncode( /* (o) Number of bytes encoded */
IlbcEncoder *iLBCenc_inst, /* (i/o) Encoder instance */ IlbcEncoder *iLBCenc_inst, /* (i/o) Encoder instance */
int16_t mode /* (i) frame size mode */ int16_t mode /* (i) frame size mode */
); );

View File

@ -135,7 +135,7 @@ extern "C" {
* -1 - Error * -1 - Error
*/ */
int WebRtcIlbcfix_Encode(IlbcEncoderInstance *iLBCenc_inst, int16_t WebRtcIlbcfix_Encode(IlbcEncoderInstance *iLBCenc_inst,
const int16_t *speechIn, const int16_t *speechIn,
int16_t len, int16_t len,
uint8_t* encoded); uint8_t* encoded);
@ -180,17 +180,17 @@ extern "C" {
* -1 - Error * -1 - Error
*/ */
int WebRtcIlbcfix_Decode(IlbcDecoderInstance* iLBCdec_inst, int16_t WebRtcIlbcfix_Decode(IlbcDecoderInstance* iLBCdec_inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t len, int16_t len,
int16_t* decoded, int16_t* decoded,
int16_t* speechType); int16_t* speechType);
int WebRtcIlbcfix_Decode20Ms(IlbcDecoderInstance* iLBCdec_inst, int16_t WebRtcIlbcfix_Decode20Ms(IlbcDecoderInstance* iLBCdec_inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t len, int16_t len,
int16_t* decoded, int16_t* decoded,
int16_t* speechType); int16_t* speechType);
int WebRtcIlbcfix_Decode30Ms(IlbcDecoderInstance* iLBCdec_inst, int16_t WebRtcIlbcfix_Decode30Ms(IlbcDecoderInstance* iLBCdec_inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t len, int16_t len,
int16_t* decoded, int16_t* decoded,

View File

@ -29,8 +29,7 @@ void WebRtcIlbcfix_MyCorr(
const int16_t *seq2, /* (i) second sequence */ const int16_t *seq2, /* (i) second sequence */
int16_t dim2 /* (i) dimension seq2 */ int16_t dim2 /* (i) dimension seq2 */
){ ){
int16_t max, loops; int16_t max, scale, loops;
int scale;
/* Calculate correlation between the two sequences. Scale the /* Calculate correlation between the two sequences. Scale the
result of the multiplcication to maximum 26 bits in order result of the multiplcication to maximum 26 bits in order
@ -38,7 +37,7 @@ void WebRtcIlbcfix_MyCorr(
max=WebRtcSpl_MaxAbsValueW16(seq1, dim1); max=WebRtcSpl_MaxAbsValueW16(seq1, dim1);
scale=WebRtcSpl_GetSizeInBits(max); scale=WebRtcSpl_GetSizeInBits(max);
scale = 2 * scale - 26; scale = (int16_t)(2 * scale - 26);
if (scale<0) { if (scale<0) {
scale=0; scale=0;
} }

View File

@ -41,8 +41,7 @@ int main(int argc, char* argv[])
{ {
FILE *ifileid,*efileid,*ofileid, *chfileid; FILE *ifileid,*efileid,*ofileid, *chfileid;
short encoded_data[55], data[240], speechType; short encoded_data[55], data[240], speechType;
int len; short len, mode, pli;
short mode, pli;
int blockcount = 0; int blockcount = 0;
IlbcEncoderInstance *Enc_Inst; IlbcEncoderInstance *Enc_Inst;
@ -178,7 +177,7 @@ int main(int argc, char* argv[])
/* decoding */ /* decoding */
fprintf(stderr, "--- Decoding block %i --- ",blockcount); fprintf(stderr, "--- Decoding block %i --- ",blockcount);
if (pli==1) { if (pli==1) {
len=WebRtcIlbcfix_Decode(Dec_Inst, encoded_data, (int16_t)len, data, len=WebRtcIlbcfix_Decode(Dec_Inst, encoded_data, len, data,
&speechType); &speechType);
if (len < 0) { if (len < 0) {
fprintf(stderr, "Error decoding\n"); fprintf(stderr, "Error decoding\n");

View File

@ -184,7 +184,7 @@ int AudioEncoderDecoderIsacT<T>::DecodeInternal(const uint8_t* encoded,
decoder_sample_rate_hz_ = sample_rate_hz; decoder_sample_rate_hz_ = sample_rate_hz;
} }
int16_t temp_type = 1; // Default is speech. int16_t temp_type = 1; // Default is speech.
int ret = int16_t ret =
T::DecodeInternal(isac_state_, encoded, static_cast<int16_t>(encoded_len), T::DecodeInternal(isac_state_, encoded, static_cast<int16_t>(encoded_len),
decoded, &temp_type); decoded, &temp_type);
*speech_type = ConvertSpeechType(temp_type); *speech_type = ConvertSpeechType(temp_type);

View File

@ -25,12 +25,12 @@ struct IsacFix {
static const uint16_t kFixSampleRate = 16000; static const uint16_t kFixSampleRate = 16000;
static inline int16_t Control(instance_type* inst, static inline int16_t Control(instance_type* inst,
int32_t rate, int32_t rate,
int framesize) { int16_t framesize) {
return WebRtcIsacfix_Control(inst, rate, framesize); return WebRtcIsacfix_Control(inst, rate, framesize);
} }
static inline int16_t ControlBwe(instance_type* inst, static inline int16_t ControlBwe(instance_type* inst,
int32_t rate_bps, int32_t rate_bps,
int frame_size_ms, int16_t frame_size_ms,
int16_t enforce_frame_size) { int16_t enforce_frame_size) {
return WebRtcIsacfix_ControlBwe(inst, rate_bps, frame_size_ms, return WebRtcIsacfix_ControlBwe(inst, rate_bps, frame_size_ms,
enforce_frame_size); enforce_frame_size);
@ -38,7 +38,7 @@ struct IsacFix {
static inline int16_t Create(instance_type** inst) { static inline int16_t Create(instance_type** inst) {
return WebRtcIsacfix_Create(inst); return WebRtcIsacfix_Create(inst);
} }
static inline int DecodeInternal(instance_type* inst, static inline int16_t DecodeInternal(instance_type* inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t len, int16_t len,
int16_t* decoded, int16_t* decoded,
@ -53,7 +53,7 @@ struct IsacFix {
static inline int16_t DecoderInit(instance_type* inst) { static inline int16_t DecoderInit(instance_type* inst) {
return WebRtcIsacfix_DecoderInit(inst); return WebRtcIsacfix_DecoderInit(inst);
} }
static inline int Encode(instance_type* inst, static inline int16_t Encode(instance_type* inst,
const int16_t* speech_in, const int16_t* speech_in,
uint8_t* encoded) { uint8_t* encoded) {
return WebRtcIsacfix_Encode(inst, speech_in, encoded); return WebRtcIsacfix_Encode(inst, speech_in, encoded);

View File

@ -128,7 +128,7 @@ extern "C" {
* -1 - Error * -1 - Error
*/ */
int WebRtcIsacfix_Encode(ISACFIX_MainStruct *ISAC_main_inst, int16_t WebRtcIsacfix_Encode(ISACFIX_MainStruct *ISAC_main_inst,
const int16_t *speechIn, const int16_t *speechIn,
uint8_t* encoded); uint8_t* encoded);
@ -251,7 +251,7 @@ extern "C" {
* -1 - Error * -1 - Error
*/ */
int WebRtcIsacfix_Decode(ISACFIX_MainStruct *ISAC_main_inst, int16_t WebRtcIsacfix_Decode(ISACFIX_MainStruct *ISAC_main_inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t len, int16_t len,
int16_t *decoded, int16_t *decoded,
@ -280,7 +280,7 @@ extern "C" {
*/ */
#ifdef WEBRTC_ISAC_FIX_NB_CALLS_ENABLED #ifdef WEBRTC_ISAC_FIX_NB_CALLS_ENABLED
int WebRtcIsacfix_DecodeNb(ISACFIX_MainStruct *ISAC_main_inst, int16_t WebRtcIsacfix_DecodeNb(ISACFIX_MainStruct *ISAC_main_inst,
const uint16_t *encoded, const uint16_t *encoded,
int16_t len, int16_t len,
int16_t *decoded, int16_t *decoded,
@ -379,7 +379,7 @@ extern "C" {
int16_t WebRtcIsacfix_Control(ISACFIX_MainStruct *ISAC_main_inst, int16_t WebRtcIsacfix_Control(ISACFIX_MainStruct *ISAC_main_inst,
int16_t rate, int16_t rate,
int framesize); int16_t framesize);
@ -407,7 +407,7 @@ extern "C" {
int16_t WebRtcIsacfix_ControlBwe(ISACFIX_MainStruct *ISAC_main_inst, int16_t WebRtcIsacfix_ControlBwe(ISACFIX_MainStruct *ISAC_main_inst,
int16_t rateBPS, int16_t rateBPS,
int frameSizeMs, int16_t frameSizeMs,
int16_t enforceFrameSize); int16_t enforceFrameSize);

View File

@ -226,7 +226,7 @@ int WebRtcIsacfix_EncLogisticMulti2(Bitstr_enc *streamData,
* Return value : number of bytes in the stream so far * Return value : number of bytes in the stream so far
* -1 if error detected * -1 if error detected
*/ */
int WebRtcIsacfix_DecLogisticMulti2(int16_t *dataQ7, int16_t WebRtcIsacfix_DecLogisticMulti2(int16_t *dataQ7,
Bitstr_dec *streamData, Bitstr_dec *streamData,
const int32_t *envQ8, const int32_t *envQ8,
const int16_t lenData) const int16_t lenData)

View File

@ -74,7 +74,7 @@ int16_t WebRtcIsacfix_EncTerminate(Bitstr_enc *streamData);
* Return value : number of bytes in the stream so far * Return value : number of bytes in the stream so far
* <0 if error detected * <0 if error detected
*/ */
int WebRtcIsacfix_DecLogisticMulti2( int16_t WebRtcIsacfix_DecLogisticMulti2(
int16_t *data, int16_t *data,
Bitstr_dec *streamData, Bitstr_dec *streamData,
const int32_t *env, const int32_t *env,

View File

@ -32,7 +32,7 @@ int WebRtcIsacfix_EstimateBandwidth(BwEstimatorstr* bwest_str,
uint32_t send_ts, uint32_t send_ts,
uint32_t arr_ts); uint32_t arr_ts);
int WebRtcIsacfix_DecodeImpl(int16_t* signal_out16, int16_t WebRtcIsacfix_DecodeImpl(int16_t* signal_out16,
IsacFixDecoderInstance* ISACdec_obj, IsacFixDecoderInstance* ISACdec_obj,
int16_t* current_framesamples); int16_t* current_framesamples);

View File

@ -27,14 +27,14 @@
int WebRtcIsacfix_DecodeImpl(int16_t *signal_out16, int16_t WebRtcIsacfix_DecodeImpl(int16_t *signal_out16,
IsacFixDecoderInstance *ISACdec_obj, IsacFixDecoderInstance *ISACdec_obj,
int16_t *current_framesamples) int16_t *current_framesamples)
{ {
int k; int k;
int err; int err;
int16_t BWno; int16_t BWno;
int len = 0; int16_t len = 0;
int16_t model; int16_t model;

View File

@ -450,7 +450,7 @@ static void GenerateDitherQ7(int16_t *bufQ7,
* function to decode the complex spectrum from the bitstream * function to decode the complex spectrum from the bitstream
* returns the total number of bytes in the stream * returns the total number of bytes in the stream
*/ */
int WebRtcIsacfix_DecodeSpec(Bitstr_dec *streamdata, int16_t WebRtcIsacfix_DecodeSpec(Bitstr_dec *streamdata,
int16_t *frQ7, int16_t *frQ7,
int16_t *fiQ7, int16_t *fiQ7,
int16_t AvgPitchGain_Q12) int16_t AvgPitchGain_Q12)
@ -461,7 +461,7 @@ int WebRtcIsacfix_DecodeSpec(Bitstr_dec *streamdata,
int16_t RCQ15[AR_ORDER]; int16_t RCQ15[AR_ORDER];
int16_t gainQ10; int16_t gainQ10;
int32_t gain2_Q10; int32_t gain2_Q10;
int len; int16_t len;
int k; int k;
/* create dither signal */ /* create dither signal */

View File

@ -22,7 +22,7 @@
#include "structs.h" #include "structs.h"
/* decode complex spectrum (return number of bytes in stream) */ /* decode complex spectrum (return number of bytes in stream) */
int WebRtcIsacfix_DecodeSpec(Bitstr_dec *streamdata, int16_t WebRtcIsacfix_DecodeSpec(Bitstr_dec *streamdata,
int16_t *frQ7, int16_t *frQ7,
int16_t *fiQ7, int16_t *fiQ7,
int16_t AvgPitchGain_Q12); int16_t AvgPitchGain_Q12);

View File

@ -399,12 +399,12 @@ static void write_be16(const uint16_t* src, size_t nbytes, uint8_t* dest) {
* : -1 - Error * : -1 - Error
*/ */
int WebRtcIsacfix_Encode(ISACFIX_MainStruct *ISAC_main_inst, int16_t WebRtcIsacfix_Encode(ISACFIX_MainStruct *ISAC_main_inst,
const int16_t *speechIn, const int16_t *speechIn,
uint8_t* encoded) uint8_t* encoded)
{ {
ISACFIX_SubStruct *ISAC_inst; ISACFIX_SubStruct *ISAC_inst;
int stream_len; int16_t stream_len;
/* typecast pointer to rela structure */ /* typecast pointer to rela structure */
ISAC_inst = (ISACFIX_SubStruct *)ISAC_main_inst; ISAC_inst = (ISACFIX_SubStruct *)ISAC_main_inst;
@ -421,7 +421,7 @@ int WebRtcIsacfix_Encode(ISACFIX_MainStruct *ISAC_main_inst,
&ISAC_inst->bwestimator_obj, &ISAC_inst->bwestimator_obj,
ISAC_inst->CodingMode); ISAC_inst->CodingMode);
if (stream_len<0) { if (stream_len<0) {
ISAC_inst->errorcode = -(int16_t)stream_len; ISAC_inst->errorcode = - stream_len;
return -1; return -1;
} }
@ -766,7 +766,7 @@ int16_t WebRtcIsacfix_UpdateBwEstimate(ISACFIX_MainStruct *ISAC_main_inst,
*/ */
int WebRtcIsacfix_Decode(ISACFIX_MainStruct *ISAC_main_inst, int16_t WebRtcIsacfix_Decode(ISACFIX_MainStruct *ISAC_main_inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t len, int16_t len,
int16_t *decoded, int16_t *decoded,
@ -776,7 +776,7 @@ int WebRtcIsacfix_Decode(ISACFIX_MainStruct *ISAC_main_inst,
/* number of samples (480 or 960), output from decoder */ /* number of samples (480 or 960), output from decoder */
/* that were actually used in the encoder/decoder (determined on the fly) */ /* that were actually used in the encoder/decoder (determined on the fly) */
int16_t number_of_samples; int16_t number_of_samples;
int declen = 0; int16_t declen = 0;
/* typecast pointer to real structure */ /* typecast pointer to real structure */
ISAC_inst = (ISACFIX_SubStruct *)ISAC_main_inst; ISAC_inst = (ISACFIX_SubStruct *)ISAC_main_inst;
@ -809,7 +809,7 @@ int WebRtcIsacfix_Decode(ISACFIX_MainStruct *ISAC_main_inst,
if (declen < 0) { if (declen < 0) {
/* Some error inside the decoder */ /* Some error inside the decoder */
ISAC_inst->errorcode = -(int16_t)declen; ISAC_inst->errorcode = -declen;
memset(decoded, 0, sizeof(int16_t) * MAX_FRAMESAMPLES); memset(decoded, 0, sizeof(int16_t) * MAX_FRAMESAMPLES);
return -1; return -1;
} }
@ -859,7 +859,7 @@ int WebRtcIsacfix_Decode(ISACFIX_MainStruct *ISAC_main_inst,
*/ */
#ifdef WEBRTC_ISAC_FIX_NB_CALLS_ENABLED #ifdef WEBRTC_ISAC_FIX_NB_CALLS_ENABLED
int WebRtcIsacfix_DecodeNb(ISACFIX_MainStruct *ISAC_main_inst, int16_t WebRtcIsacfix_DecodeNb(ISACFIX_MainStruct *ISAC_main_inst,
const uint16_t *encoded, const uint16_t *encoded,
int16_t len, int16_t len,
int16_t *decoded, int16_t *decoded,
@ -869,7 +869,7 @@ int WebRtcIsacfix_DecodeNb(ISACFIX_MainStruct *ISAC_main_inst,
/* twice the number of samples (480 or 960), output from decoder */ /* twice the number of samples (480 or 960), output from decoder */
/* that were actually used in the encoder/decoder (determined on the fly) */ /* that were actually used in the encoder/decoder (determined on the fly) */
int16_t number_of_samples; int16_t number_of_samples;
int declen = 0; int16_t declen = 0;
int16_t dummy[FRAMESAMPLES/2]; int16_t dummy[FRAMESAMPLES/2];
@ -903,7 +903,7 @@ int WebRtcIsacfix_DecodeNb(ISACFIX_MainStruct *ISAC_main_inst,
if (declen < 0) { if (declen < 0) {
/* Some error inside the decoder */ /* Some error inside the decoder */
ISAC_inst->errorcode = -(int16_t)declen; ISAC_inst->errorcode = -declen;
memset(decoded, 0, sizeof(int16_t) * FRAMESAMPLES); memset(decoded, 0, sizeof(int16_t) * FRAMESAMPLES);
return -1; return -1;
} }
@ -1077,7 +1077,7 @@ int16_t WebRtcIsacfix_DecodePlc(ISACFIX_MainStruct *ISAC_main_inst,
int16_t WebRtcIsacfix_Control(ISACFIX_MainStruct *ISAC_main_inst, int16_t WebRtcIsacfix_Control(ISACFIX_MainStruct *ISAC_main_inst,
int16_t rate, int16_t rate,
int framesize) int16_t framesize)
{ {
ISACFIX_SubStruct *ISAC_inst; ISACFIX_SubStruct *ISAC_inst;
/* typecast pointer to real structure */ /* typecast pointer to real structure */
@ -1101,7 +1101,7 @@ int16_t WebRtcIsacfix_Control(ISACFIX_MainStruct *ISAC_main_inst,
if (framesize == 30 || framesize == 60) if (framesize == 30 || framesize == 60)
ISAC_inst->ISACenc_obj.new_framelength = (int16_t)((FS/1000) * framesize); ISAC_inst->ISACenc_obj.new_framelength = (FS/1000) * framesize;
else { else {
ISAC_inst->errorcode = ISAC_DISALLOWED_FRAME_LENGTH; ISAC_inst->errorcode = ISAC_DISALLOWED_FRAME_LENGTH;
return -1; return -1;
@ -1136,7 +1136,7 @@ int16_t WebRtcIsacfix_Control(ISACFIX_MainStruct *ISAC_main_inst,
int16_t WebRtcIsacfix_ControlBwe(ISACFIX_MainStruct *ISAC_main_inst, int16_t WebRtcIsacfix_ControlBwe(ISACFIX_MainStruct *ISAC_main_inst,
int16_t rateBPS, int16_t rateBPS,
int frameSizeMs, int16_t frameSizeMs,
int16_t enforceFrameSize) int16_t enforceFrameSize)
{ {
ISACFIX_SubStruct *ISAC_inst; ISACFIX_SubStruct *ISAC_inst;
@ -1170,7 +1170,7 @@ int16_t WebRtcIsacfix_ControlBwe(ISACFIX_MainStruct *ISAC_main_inst,
/* Set initial framesize. If enforceFrameSize is set the frame size will not change */ /* Set initial framesize. If enforceFrameSize is set the frame size will not change */
if ((frameSizeMs == 30) || (frameSizeMs == 60)) { if ((frameSizeMs == 30) || (frameSizeMs == 60)) {
ISAC_inst->ISACenc_obj.new_framelength = (int16_t)((FS/1000) * frameSizeMs); ISAC_inst->ISACenc_obj.new_framelength = (FS/1000) * frameSizeMs;
} else { } else {
ISAC_inst->errorcode = ISAC_DISALLOWED_FRAME_LENGTH; ISAC_inst->errorcode = ISAC_DISALLOWED_FRAME_LENGTH;
return -1; return -1;

View File

@ -101,15 +101,14 @@ int main(int argc, char* argv[])
int i, errtype, h = 0, k, packetLossPercent = 0; int i, errtype, h = 0, k, packetLossPercent = 0;
int16_t CodingMode; int16_t CodingMode;
int16_t bottleneck; int16_t bottleneck;
int framesize = 30; /* ms */ int16_t framesize = 30; /* ms */
int cur_framesmpls, err = 0, lostPackets = 0; int cur_framesmpls, err = 0, lostPackets = 0;
/* Runtime statistics */ /* Runtime statistics */
double starttime, runtime, length_file; double starttime, runtime, length_file;
int16_t stream_len = 0; int16_t stream_len = 0;
int16_t framecnt; int16_t framecnt, declen = 0;
int declen = 0;
int16_t shortdata[FRAMESAMPLES_10ms]; int16_t shortdata[FRAMESAMPLES_10ms];
int16_t decoded[MAX_FRAMESAMPLES]; int16_t decoded[MAX_FRAMESAMPLES];
uint16_t streamdata[500]; uint16_t streamdata[500];
@ -767,7 +766,7 @@ int main(int argc, char* argv[])
#else #else
declen = -1; declen = -1;
#endif #endif
prevFrameSize = static_cast<int16_t>(declen / 240); prevFrameSize = declen/240;
} }
} }

View File

@ -88,8 +88,8 @@ int main(int argc, char* argv[]) {
int16_t CodingMode; int16_t CodingMode;
int16_t bottleneck; int16_t bottleneck;
int framesize = 30; /* ms */ int16_t framesize = 30; /* ms */
// int framesize = 60; /* To invoke cisco complexity case at frame 2252 */ // int16_t framesize = 60; /* To invoke cisco complexity case at frame 2252 */
int cur_framesmpls, err; int cur_framesmpls, err;
@ -99,7 +99,7 @@ int main(int argc, char* argv[]) {
double length_file; double length_file;
int16_t stream_len = 0; int16_t stream_len = 0;
int declen; int16_t declen;
int16_t shortdata[FRAMESAMPLES_10ms]; int16_t shortdata[FRAMESAMPLES_10ms];
int16_t decoded[MAX_FRAMESAMPLES]; int16_t decoded[MAX_FRAMESAMPLES];

View File

@ -24,12 +24,12 @@ struct IsacFloat {
static const bool has_swb = true; static const bool has_swb = true;
static inline int16_t Control(instance_type* inst, static inline int16_t Control(instance_type* inst,
int32_t rate, int32_t rate,
int framesize) { int16_t framesize) {
return WebRtcIsac_Control(inst, rate, framesize); return WebRtcIsac_Control(inst, rate, framesize);
} }
static inline int16_t ControlBwe(instance_type* inst, static inline int16_t ControlBwe(instance_type* inst,
int32_t rate_bps, int32_t rate_bps,
int frame_size_ms, int16_t frame_size_ms,
int16_t enforce_frame_size) { int16_t enforce_frame_size) {
return WebRtcIsac_ControlBwe(inst, rate_bps, frame_size_ms, return WebRtcIsac_ControlBwe(inst, rate_bps, frame_size_ms,
enforce_frame_size); enforce_frame_size);
@ -37,7 +37,7 @@ struct IsacFloat {
static inline int16_t Create(instance_type** inst) { static inline int16_t Create(instance_type** inst) {
return WebRtcIsac_Create(inst); return WebRtcIsac_Create(inst);
} }
static inline int DecodeInternal(instance_type* inst, static inline int16_t DecodeInternal(instance_type* inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t len, int16_t len,
int16_t* decoded, int16_t* decoded,
@ -53,7 +53,7 @@ struct IsacFloat {
static inline int16_t DecoderInit(instance_type* inst) { static inline int16_t DecoderInit(instance_type* inst) {
return WebRtcIsac_DecoderInit(inst); return WebRtcIsac_DecoderInit(inst);
} }
static inline int Encode(instance_type* inst, static inline int16_t Encode(instance_type* inst,
const int16_t* speech_in, const int16_t* speech_in,
uint8_t* encoded) { uint8_t* encoded) {
return WebRtcIsac_Encode(inst, speech_in, encoded); return WebRtcIsac_Encode(inst, speech_in, encoded);

View File

@ -144,7 +144,7 @@ extern "C" {
* : -1 - Error * : -1 - Error
*/ */
int WebRtcIsac_Encode( int16_t WebRtcIsac_Encode(
ISACStruct* ISAC_main_inst, ISACStruct* ISAC_main_inst,
const int16_t* speechIn, const int16_t* speechIn,
uint8_t* encoded); uint8_t* encoded);
@ -214,7 +214,7 @@ extern "C" {
* -1 - Error. * -1 - Error.
*/ */
int WebRtcIsac_Decode( int16_t WebRtcIsac_Decode(
ISACStruct* ISAC_main_inst, ISACStruct* ISAC_main_inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t len, int16_t len,
@ -269,7 +269,7 @@ extern "C" {
int16_t WebRtcIsac_Control( int16_t WebRtcIsac_Control(
ISACStruct* ISAC_main_inst, ISACStruct* ISAC_main_inst,
int32_t rate, int32_t rate,
int framesize); int16_t framesize);
/****************************************************************************** /******************************************************************************
@ -300,7 +300,7 @@ extern "C" {
int16_t WebRtcIsac_ControlBwe( int16_t WebRtcIsac_ControlBwe(
ISACStruct* ISAC_main_inst, ISACStruct* ISAC_main_inst,
int32_t rateBPS, int32_t rateBPS,
int frameSizeMs, int16_t frameSizeMs,
int16_t enforceFrameSize); int16_t enforceFrameSize);
@ -701,7 +701,7 @@ extern "C" {
* Return value : >0 - number of samples in decoded vector * Return value : >0 - number of samples in decoded vector
* -1 - Error * -1 - Error
*/ */
int WebRtcIsac_DecodeRcu( int16_t WebRtcIsac_DecodeRcu(
ISACStruct* ISAC_main_inst, ISACStruct* ISAC_main_inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t len, int16_t len,

View File

@ -80,8 +80,8 @@ static const uint32_t kCrcTable[256] = {
* -1 - Error * -1 - Error
*/ */
int WebRtcIsac_GetCrc(const int16_t* bitstream, int16_t WebRtcIsac_GetCrc(const int16_t* bitstream,
int len_bitstream_in_bytes, int16_t len_bitstream_in_bytes,
uint32_t* crc) uint32_t* crc)
{ {
uint8_t* bitstream_ptr_uw8; uint8_t* bitstream_ptr_uw8;

View File

@ -36,9 +36,9 @@
* -1 - Error * -1 - Error
*/ */
int WebRtcIsac_GetCrc( int16_t WebRtcIsac_GetCrc(
const int16_t* encoded, const int16_t* encoded,
int no_of_word8s, int16_t no_of_word8s,
uint32_t* crc); uint32_t* crc);

View File

@ -494,15 +494,15 @@ int16_t WebRtcIsac_EncoderInit(ISACStruct* ISAC_main_inst,
* samples. * samples.
* : -1 - Error * : -1 - Error
*/ */
int WebRtcIsac_Encode(ISACStruct* ISAC_main_inst, int16_t WebRtcIsac_Encode(ISACStruct* ISAC_main_inst,
const int16_t* speechIn, const int16_t* speechIn,
uint8_t* encoded) { uint8_t* encoded) {
float inFrame[FRAMESAMPLES_10ms]; float inFrame[FRAMESAMPLES_10ms];
int16_t speechInLB[FRAMESAMPLES_10ms]; int16_t speechInLB[FRAMESAMPLES_10ms];
int16_t speechInUB[FRAMESAMPLES_10ms]; int16_t speechInUB[FRAMESAMPLES_10ms];
int streamLenLB = 0; int16_t streamLenLB = 0;
int streamLenUB = 0; int16_t streamLenUB = 0;
int streamLen = 0; int16_t streamLen = 0;
int16_t k = 0; int16_t k = 0;
int garbageLen = 0; int garbageLen = 0;
int32_t bottleneck = 0; int32_t bottleneck = 0;
@ -601,8 +601,8 @@ int WebRtcIsac_Encode(ISACStruct* ISAC_main_inst,
/* Tell to upper-band the number of bytes used so far. /* Tell to upper-band the number of bytes used so far.
* This is for payload limitation. */ * This is for payload limitation. */
instUB->ISACencUB_obj.numBytesUsed = instUB->ISACencUB_obj.numBytesUsed = streamLenLB + 1 +
(int16_t)(streamLenLB + 1 + LEN_CHECK_SUM_WORD8); LEN_CHECK_SUM_WORD8;
/* Encode upper-band. */ /* Encode upper-band. */
switch (instISAC->bandwidthKHz) { switch (instISAC->bandwidthKHz) {
case isac12kHz: { case isac12kHz: {
@ -1045,7 +1045,7 @@ int16_t WebRtcIsac_UpdateBwEstimate(ISACStruct* ISAC_main_inst,
return 0; return 0;
} }
static int Decode(ISACStruct* ISAC_main_inst, static int16_t Decode(ISACStruct* ISAC_main_inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t lenEncodedBytes, int16_t lenEncodedBytes,
int16_t* decoded, int16_t* decoded,
@ -1060,8 +1060,8 @@ static int Decode(ISACStruct* ISAC_main_inst,
float outFrame[MAX_FRAMESAMPLES]; float outFrame[MAX_FRAMESAMPLES];
int16_t outFrameLB[MAX_FRAMESAMPLES]; int16_t outFrameLB[MAX_FRAMESAMPLES];
int16_t outFrameUB[MAX_FRAMESAMPLES]; int16_t outFrameUB[MAX_FRAMESAMPLES];
int numDecodedBytesLB; int16_t numDecodedBytesLB;
int numDecodedBytesUB; int16_t numDecodedBytesUB;
int16_t lenEncodedLBBytes; int16_t lenEncodedLBBytes;
int16_t validChecksum = 1; int16_t validChecksum = 1;
int16_t k; int16_t k;
@ -1350,7 +1350,7 @@ static int Decode(ISACStruct* ISAC_main_inst,
* -1 - Error * -1 - Error
*/ */
int WebRtcIsac_Decode(ISACStruct* ISAC_main_inst, int16_t WebRtcIsac_Decode(ISACStruct* ISAC_main_inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t lenEncodedBytes, int16_t lenEncodedBytes,
int16_t* decoded, int16_t* decoded,
@ -1382,7 +1382,7 @@ int WebRtcIsac_Decode(ISACStruct* ISAC_main_inst,
int WebRtcIsac_DecodeRcu(ISACStruct* ISAC_main_inst, int16_t WebRtcIsac_DecodeRcu(ISACStruct* ISAC_main_inst,
const uint8_t* encoded, const uint8_t* encoded,
int16_t lenEncodedBytes, int16_t lenEncodedBytes,
int16_t* decoded, int16_t* decoded,
@ -1485,7 +1485,7 @@ static int16_t ControlUb(ISACUBStruct* instISAC, double rate) {
int16_t WebRtcIsac_Control(ISACStruct* ISAC_main_inst, int16_t WebRtcIsac_Control(ISACStruct* ISAC_main_inst,
int32_t bottleneckBPS, int32_t bottleneckBPS,
int frameSize) { int16_t frameSize) {
ISACMainStruct* instISAC = (ISACMainStruct*)ISAC_main_inst; ISACMainStruct* instISAC = (ISACMainStruct*)ISAC_main_inst;
int16_t status; int16_t status;
double rateLB; double rateLB;
@ -1526,7 +1526,7 @@ int16_t WebRtcIsac_Control(ISACStruct* ISAC_main_inst,
return -1; return -1;
} }
status = ControlLb(&instISAC->instLB, rateLB, (int16_t)frameSize); status = ControlLb(&instISAC->instLB, rateLB, frameSize);
if (status < 0) { if (status < 0) {
instISAC->errorCode = -status; instISAC->errorCode = -status;
return -1; return -1;
@ -1594,7 +1594,7 @@ int16_t WebRtcIsac_Control(ISACStruct* ISAC_main_inst,
*/ */
int16_t WebRtcIsac_ControlBwe(ISACStruct* ISAC_main_inst, int16_t WebRtcIsac_ControlBwe(ISACStruct* ISAC_main_inst,
int32_t bottleneckBPS, int32_t bottleneckBPS,
int frameSizeMs, int16_t frameSizeMs,
int16_t enforceFrameSize) { int16_t enforceFrameSize) {
ISACMainStruct* instISAC = (ISACMainStruct*)ISAC_main_inst; ISACMainStruct* instISAC = (ISACMainStruct*)ISAC_main_inst;
enum ISACBandwidth bandwidth; enum ISACBandwidth bandwidth;
@ -1641,8 +1641,8 @@ int16_t WebRtcIsac_ControlBwe(ISACStruct* ISAC_main_inst,
* will not change */ * will not change */
if (frameSizeMs != 0) { if (frameSizeMs != 0) {
if ((frameSizeMs == 30) || (frameSizeMs == 60)) { if ((frameSizeMs == 30) || (frameSizeMs == 60)) {
instISAC->instLB.ISACencLB_obj.new_framelength = instISAC->instLB.ISACencLB_obj.new_framelength = (FS / 1000) *
(int16_t)((FS / 1000) * frameSizeMs); frameSizeMs;
} else { } else {
instISAC->errorCode = ISAC_DISALLOWED_FRAME_LENGTH; instISAC->errorCode = ISAC_DISALLOWED_FRAME_LENGTH;
return -1; return -1;

View File

@ -80,7 +80,7 @@ TEST_F(IsacTest, DISABLED_ON_IOS(IsacUpdateBWE)) {
WebRtcIsac_EncoderInit(isac_codec_, 0); WebRtcIsac_EncoderInit(isac_codec_, 0);
WebRtcIsac_DecoderInit(isac_codec_); WebRtcIsac_DecoderInit(isac_codec_);
int encoded_bytes; int16_t encoded_bytes;
// Test with call with a small packet (sync packet). // Test with call with a small packet (sync packet).
EXPECT_EQ(-1, WebRtcIsac_UpdateBwEstimate(isac_codec_, bitstream_small_, 7, 1, EXPECT_EQ(-1, WebRtcIsac_UpdateBwEstimate(isac_codec_, bitstream_small_, 7, 1,

View File

@ -45,15 +45,14 @@ int main(int argc, char* argv[]) {
int i, errtype, VADusage = 0, packetLossPercent = 0; int i, errtype, VADusage = 0, packetLossPercent = 0;
int16_t CodingMode; int16_t CodingMode;
int32_t bottleneck = 0; int32_t bottleneck = 0;
int framesize = 30; /* ms */ int16_t framesize = 30; /* ms */
int cur_framesmpls, err; int cur_framesmpls, err;
/* Runtime statistics */ /* Runtime statistics */
double starttime, runtime, length_file; double starttime, runtime, length_file;
int16_t stream_len = 0; int16_t stream_len = 0;
int declen = 0, declenTC = 0; int16_t declen = 0, lostFrame = 0, declenTC = 0;
int16_t lostFrame = 0;
int16_t shortdata[SWBFRAMESAMPLES_10ms]; int16_t shortdata[SWBFRAMESAMPLES_10ms];
int16_t vaddata[SWBFRAMESAMPLES_10ms * 3]; int16_t vaddata[SWBFRAMESAMPLES_10ms * 3];

View File

@ -191,7 +191,7 @@ int main(int argc, char* argv[])
short streamLen; short streamLen;
short numSamplesRead; short numSamplesRead;
int lenDecodedAudio; short lenDecodedAudio;
short senderIdx; short senderIdx;
short receiverIdx; short receiverIdx;

View File

@ -62,7 +62,7 @@ int main(int argc, char* argv[]) {
unsigned long totalsmpls = 0; unsigned long totalsmpls = 0;
int32_t bottleneck = 39; int32_t bottleneck = 39;
int frameSize = 30; /* ms */ int16_t frameSize = 30; /* ms */
int16_t codingMode = 1; int16_t codingMode = 1;
int16_t shortdata[FRAMESAMPLES_SWB_10ms]; int16_t shortdata[FRAMESAMPLES_SWB_10ms];
int16_t decoded[MAX_FRAMESAMPLES_SWB]; int16_t decoded[MAX_FRAMESAMPLES_SWB];
@ -73,9 +73,9 @@ int main(int argc, char* argv[]) {
ISACStruct* ISAC_main_inst; ISACStruct* ISAC_main_inst;
int16_t stream_len = 0; int16_t stream_len = 0;
int declen = 0; int16_t declen = 0;
int16_t err; int16_t err;
int cur_framesmpls; int16_t cur_framesmpls;
int endfile; int endfile;
#ifdef WIN32 #ifdef WIN32
double length_file; double length_file;

View File

@ -198,7 +198,7 @@ AudioEncoder::EncodedInfo AudioEncoderOpus::EncodeInternal(
CHECK_EQ(input_buffer_.size(), CHECK_EQ(input_buffer_.size(),
static_cast<size_t>(num_10ms_frames_per_packet_) * static_cast<size_t>(num_10ms_frames_per_packet_) *
samples_per_10ms_frame_); samples_per_10ms_frame_);
int status = WebRtcOpus_Encode( int16_t status = WebRtcOpus_Encode(
inst_, &input_buffer_[0], inst_, &input_buffer_[0],
rtc::CheckedDivExact(CastInt16(input_buffer_.size()), rtc::CheckedDivExact(CastInt16(input_buffer_.size()),
static_cast<int16_t>(num_channels_)), static_cast<int16_t>(num_channels_)),

View File

@ -64,7 +64,7 @@ int16_t WebRtcOpus_EncoderFree(OpusEncInst* inst);
* Return value : >=0 - Length (in bytes) of coded data * Return value : >=0 - Length (in bytes) of coded data
* -1 - Error * -1 - Error
*/ */
int WebRtcOpus_Encode(OpusEncInst* inst, int16_t WebRtcOpus_Encode(OpusEncInst* inst,
const int16_t* audio_in, const int16_t* audio_in,
int16_t samples, int16_t samples,
int16_t length_encoded_buffer, int16_t length_encoded_buffer,
@ -236,7 +236,7 @@ int16_t WebRtcOpus_DecoderInit(OpusDecInst* inst);
* Return value : >0 - Samples per channel in decoded vector * Return value : >0 - Samples per channel in decoded vector
* -1 - Error * -1 - Error
*/ */
int WebRtcOpus_Decode(OpusDecInst* inst, const uint8_t* encoded, int16_t WebRtcOpus_Decode(OpusDecInst* inst, const uint8_t* encoded,
int16_t encoded_bytes, int16_t* decoded, int16_t encoded_bytes, int16_t* decoded,
int16_t* audio_type); int16_t* audio_type);
@ -254,8 +254,8 @@ int WebRtcOpus_Decode(OpusDecInst* inst, const uint8_t* encoded,
* Return value : >0 - number of samples in decoded PLC vector * Return value : >0 - number of samples in decoded PLC vector
* -1 - Error * -1 - Error
*/ */
int WebRtcOpus_DecodePlc(OpusDecInst* inst, int16_t* decoded, int16_t WebRtcOpus_DecodePlc(OpusDecInst* inst, int16_t* decoded,
int number_of_lost_frames); int16_t number_of_lost_frames);
/**************************************************************************** /****************************************************************************
* WebRtcOpus_DecodeFec(...) * WebRtcOpus_DecodeFec(...)
@ -275,7 +275,7 @@ int WebRtcOpus_DecodePlc(OpusDecInst* inst, int16_t* decoded,
* 0 - No FEC data in the packet * 0 - No FEC data in the packet
* -1 - Error * -1 - Error
*/ */
int WebRtcOpus_DecodeFec(OpusDecInst* inst, const uint8_t* encoded, int16_t WebRtcOpus_DecodeFec(OpusDecInst* inst, const uint8_t* encoded,
int16_t encoded_bytes, int16_t* decoded, int16_t encoded_bytes, int16_t* decoded,
int16_t* audio_type); int16_t* audio_type);

View File

@ -131,7 +131,7 @@ OpusFecTest::OpusFecTest()
} }
void OpusFecTest::EncodeABlock() { void OpusFecTest::EncodeABlock() {
int value = WebRtcOpus_Encode(opus_encoder_, int16_t value = WebRtcOpus_Encode(opus_encoder_,
&in_data_[data_pointer_], &in_data_[data_pointer_],
block_length_sample_, block_length_sample_,
max_bytes_, &bit_stream_[0]); max_bytes_, &bit_stream_[0]);
@ -142,7 +142,7 @@ void OpusFecTest::EncodeABlock() {
void OpusFecTest::DecodeABlock(bool lost_previous, bool lost_current) { void OpusFecTest::DecodeABlock(bool lost_previous, bool lost_current) {
int16_t audio_type; int16_t audio_type;
int value_1 = 0, value_2 = 0; int16_t value_1 = 0, value_2 = 0;
if (lost_previous) { if (lost_previous) {
// Decode previous frame. // Decode previous frame.

View File

@ -78,7 +78,7 @@ int16_t WebRtcOpus_EncoderFree(OpusEncInst* inst) {
} }
} }
int WebRtcOpus_Encode(OpusEncInst* inst, int16_t WebRtcOpus_Encode(OpusEncInst* inst,
const int16_t* audio_in, const int16_t* audio_in,
int16_t samples, int16_t samples,
int16_t length_encoded_buffer, int16_t length_encoded_buffer,
@ -291,7 +291,7 @@ static int DecodeNative(OpusDecInst* inst, const uint8_t* encoded,
return res; return res;
} }
int WebRtcOpus_Decode(OpusDecInst* inst, const uint8_t* encoded, int16_t WebRtcOpus_Decode(OpusDecInst* inst, const uint8_t* encoded,
int16_t encoded_bytes, int16_t* decoded, int16_t encoded_bytes, int16_t* decoded,
int16_t* audio_type) { int16_t* audio_type) {
int decoded_samples; int decoded_samples;
@ -318,8 +318,8 @@ int WebRtcOpus_Decode(OpusDecInst* inst, const uint8_t* encoded,
return decoded_samples; return decoded_samples;
} }
int WebRtcOpus_DecodePlc(OpusDecInst* inst, int16_t* decoded, int16_t WebRtcOpus_DecodePlc(OpusDecInst* inst, int16_t* decoded,
int number_of_lost_frames) { int16_t number_of_lost_frames) {
int16_t audio_type = 0; int16_t audio_type = 0;
int decoded_samples; int decoded_samples;
int plc_samples; int plc_samples;
@ -339,7 +339,7 @@ int WebRtcOpus_DecodePlc(OpusDecInst* inst, int16_t* decoded,
return decoded_samples; return decoded_samples;
} }
int WebRtcOpus_DecodeFec(OpusDecInst* inst, const uint8_t* encoded, int16_t WebRtcOpus_DecodeFec(OpusDecInst* inst, const uint8_t* encoded,
int16_t encoded_bytes, int16_t* decoded, int16_t encoded_bytes, int16_t* decoded,
int16_t* audio_type) { int16_t* audio_type) {
int decoded_samples; int decoded_samples;

View File

@ -273,11 +273,17 @@ void OpusTest::Run(TestPackStereo* channel, int channels, int bitrate,
int16_t bitstream_len_byte; int16_t bitstream_len_byte;
uint8_t bitstream[kMaxBytes]; uint8_t bitstream[kMaxBytes];
for (int i = 0; i < loop_encode; i++) { for (int i = 0; i < loop_encode; i++) {
int bitstream_len_byte_int = WebRtcOpus_Encode( if (channels == 1) {
(channels == 1) ? opus_mono_encoder_ : opus_stereo_encoder_, bitstream_len_byte = WebRtcOpus_Encode(
&audio[read_samples], frame_length, kMaxBytes, bitstream); opus_mono_encoder_, &audio[read_samples],
ASSERT_GT(bitstream_len_byte_int, -1); frame_length, kMaxBytes, bitstream);
bitstream_len_byte = static_cast<int16_t>(bitstream_len_byte_int); ASSERT_GT(bitstream_len_byte, -1);
} else {
bitstream_len_byte = WebRtcOpus_Encode(
opus_stereo_encoder_, &audio[read_samples],
frame_length, kMaxBytes, bitstream);
ASSERT_GT(bitstream_len_byte, -1);
}
// Simulate packet loss by setting |packet_loss_| to "true" in // Simulate packet loss by setting |packet_loss_| to "true" in
// |percent_loss| percent of the loops. // |percent_loss| percent of the loops.

View File

@ -163,7 +163,7 @@ int AudioDecoderIlbc::DecodeInternal(const uint8_t* encoded,
SpeechType* speech_type) { SpeechType* speech_type) {
DCHECK_EQ(sample_rate_hz, 8000); DCHECK_EQ(sample_rate_hz, 8000);
int16_t temp_type = 1; // Default is speech. int16_t temp_type = 1; // Default is speech.
int ret = WebRtcIlbcfix_Decode(dec_state_, encoded, int16_t ret = WebRtcIlbcfix_Decode(dec_state_, encoded,
static_cast<int16_t>(encoded_len), decoded, static_cast<int16_t>(encoded_len), decoded,
&temp_type); &temp_type);
*speech_type = ConvertSpeechType(temp_type); *speech_type = ConvertSpeechType(temp_type);
@ -330,11 +330,11 @@ int AudioDecoderOpus::DecodeInternal(const uint8_t* encoded,
SpeechType* speech_type) { SpeechType* speech_type) {
DCHECK_EQ(sample_rate_hz, 48000); DCHECK_EQ(sample_rate_hz, 48000);
int16_t temp_type = 1; // Default is speech. int16_t temp_type = 1; // Default is speech.
int ret = WebRtcOpus_Decode(dec_state_, encoded, int16_t ret = WebRtcOpus_Decode(dec_state_, encoded,
static_cast<int16_t>(encoded_len), decoded, static_cast<int16_t>(encoded_len), decoded,
&temp_type); &temp_type);
if (ret > 0) if (ret > 0)
ret *= static_cast<int>(channels_); // Return total number of samples. ret *= static_cast<int16_t>(channels_); // Return total number of samples.
*speech_type = ConvertSpeechType(temp_type); *speech_type = ConvertSpeechType(temp_type);
return ret; return ret;
} }
@ -352,11 +352,11 @@ int AudioDecoderOpus::DecodeRedundantInternal(const uint8_t* encoded,
DCHECK_EQ(sample_rate_hz, 48000); DCHECK_EQ(sample_rate_hz, 48000);
int16_t temp_type = 1; // Default is speech. int16_t temp_type = 1; // Default is speech.
int ret = WebRtcOpus_DecodeFec(dec_state_, encoded, int16_t ret = WebRtcOpus_DecodeFec(dec_state_, encoded,
static_cast<int16_t>(encoded_len), decoded, static_cast<int16_t>(encoded_len), decoded,
&temp_type); &temp_type);
if (ret > 0) if (ret > 0)
ret *= static_cast<int>(channels_); // Return total number of samples. ret *= static_cast<int16_t>(channels_); // Return total number of samples.
*speech_type = ConvertSpeechType(temp_type); *speech_type = ConvertSpeechType(temp_type);
return ret; return ret;
} }

View File

@ -272,7 +272,7 @@ void DspHelper::CrossFade(const int16_t* input1, const int16_t* input2,
} }
void DspHelper::UnmuteSignal(const int16_t* input, size_t length, void DspHelper::UnmuteSignal(const int16_t* input, size_t length,
int16_t* factor, int increment, int16_t* factor, int16_t increment,
int16_t* output) { int16_t* output) {
uint16_t factor_16b = *factor; uint16_t factor_16b = *factor;
int32_t factor_32b = (static_cast<int32_t>(factor_16b) << 6) + 32; int32_t factor_32b = (static_cast<int32_t>(factor_16b) << 6) + 32;
@ -284,7 +284,7 @@ void DspHelper::UnmuteSignal(const int16_t* input, size_t length,
*factor = factor_16b; *factor = factor_16b;
} }
void DspHelper::MuteSignal(int16_t* signal, int mute_slope, size_t length) { void DspHelper::MuteSignal(int16_t* signal, int16_t mute_slope, size_t length) {
int32_t factor = (16384 << 6) + 32; int32_t factor = (16384 << 6) + 32;
for (size_t i = 0; i < length; i++) { for (size_t i = 0; i < length; i++) {
signal[i] = ((factor >> 6) * signal[i] + 8192) >> 14; signal[i] = ((factor >> 6) * signal[i] + 8192) >> 14;

View File

@ -110,11 +110,11 @@ class DspHelper {
// sample and increases the gain by |increment| (Q20) for each sample. The // sample and increases the gain by |increment| (Q20) for each sample. The
// result is written to |output|. |length| samples are processed. // result is written to |output|. |length| samples are processed.
static void UnmuteSignal(const int16_t* input, size_t length, int16_t* factor, static void UnmuteSignal(const int16_t* input, size_t length, int16_t* factor,
int increment, int16_t* output); int16_t increment, int16_t* output);
// Starts at unity gain and gradually fades out |signal|. For each sample, // Starts at unity gain and gradually fades out |signal|. For each sample,
// the gain is reduced by |mute_slope| (Q14). |length| samples are processed. // the gain is reduced by |mute_slope| (Q14). |length| samples are processed.
static void MuteSignal(int16_t* signal, int mute_slope, size_t length); static void MuteSignal(int16_t* signal, int16_t mute_slope, size_t length);
// Downsamples |input| from |sample_rate_hz| to 4 kHz sample rate. The input // Downsamples |input| from |sample_rate_hz| to 4 kHz sample rate. The input
// has |input_length| samples, and the method will write |output_length| // has |input_length| samples, and the method will write |output_length|

View File

@ -239,12 +239,14 @@ int Expand::Process(AudioMultiVector* output) {
if (consecutive_expands_ == 3) { if (consecutive_expands_ == 3) {
// Let the mute factor decrease from 1.0 to 0.95 in 6.25 ms. // Let the mute factor decrease from 1.0 to 0.95 in 6.25 ms.
// mute_slope = 0.0010 / fs_mult in Q20. // mute_slope = 0.0010 / fs_mult in Q20.
parameters.mute_slope = std::max(parameters.mute_slope, 1049 / fs_mult); parameters.mute_slope = std::max(parameters.mute_slope,
static_cast<int16_t>(1049 / fs_mult));
} }
if (consecutive_expands_ == 7) { if (consecutive_expands_ == 7) {
// Let the mute factor decrease from 1.0 to 0.90 in 6.25 ms. // Let the mute factor decrease from 1.0 to 0.90 in 6.25 ms.
// mute_slope = 0.0020 / fs_mult in Q20. // mute_slope = 0.0020 / fs_mult in Q20.
parameters.mute_slope = std::max(parameters.mute_slope, 2097 / fs_mult); parameters.mute_slope = std::max(parameters.mute_slope,
static_cast<int16_t>(2097 / fs_mult));
} }
// Mute segment according to slope value. // Mute segment according to slope value.
@ -366,7 +368,7 @@ void Expand::AnalyzeSignal(int16_t* random_vector) {
InitializeForAnExpandPeriod(); InitializeForAnExpandPeriod();
// Calculate correlation in downsampled domain (4 kHz sample rate). // Calculate correlation in downsampled domain (4 kHz sample rate).
int correlation_scale; int16_t correlation_scale;
int correlation_length = 51; // TODO(hlundin): Legacy bit-exactness. int correlation_length = 51; // TODO(hlundin): Legacy bit-exactness.
// If it is decided to break bit-exactness |correlation_length| should be // If it is decided to break bit-exactness |correlation_length| should be
// initialized to the return value of Correlation(). // initialized to the return value of Correlation().
@ -444,7 +446,7 @@ void Expand::AnalyzeSignal(int16_t* random_vector) {
correlation_length + start_index + correlation_lags - 1); correlation_length + start_index + correlation_lags - 1);
correlation_scale = ((31 - WebRtcSpl_NormW32(signal_max * signal_max)) correlation_scale = ((31 - WebRtcSpl_NormW32(signal_max * signal_max))
+ (31 - WebRtcSpl_NormW32(correlation_length))) - 31; + (31 - WebRtcSpl_NormW32(correlation_length))) - 31;
correlation_scale = std::max(0, correlation_scale); correlation_scale = std::max(static_cast<int16_t>(0), correlation_scale);
// Calculate the correlation, store in |correlation_vector2|. // Calculate the correlation, store in |correlation_vector2|.
WebRtcSpl_CrossCorrelation( WebRtcSpl_CrossCorrelation(
@ -471,7 +473,7 @@ void Expand::AnalyzeSignal(int16_t* random_vector) {
// Calculate the correlation coefficient between the two portions of the // Calculate the correlation coefficient between the two portions of the
// signal. // signal.
int32_t corr_coefficient; int16_t corr_coefficient;
if ((energy1 > 0) && (energy2 > 0)) { if ((energy1 > 0) && (energy2 > 0)) {
int energy1_scale = std::max(16 - WebRtcSpl_NormW32(energy1), 0); int energy1_scale = std::max(16 - WebRtcSpl_NormW32(energy1), 0);
int energy2_scale = std::max(16 - WebRtcSpl_NormW32(energy2), 0); int energy2_scale = std::max(16 - WebRtcSpl_NormW32(energy2), 0);
@ -480,17 +482,17 @@ void Expand::AnalyzeSignal(int16_t* random_vector) {
// If sum is odd, add 1 to make it even. // If sum is odd, add 1 to make it even.
energy1_scale += 1; energy1_scale += 1;
} }
int32_t scaled_energy1 = energy1 >> energy1_scale; int16_t scaled_energy1 = energy1 >> energy1_scale;
int32_t scaled_energy2 = energy2 >> energy2_scale; int16_t scaled_energy2 = energy2 >> energy2_scale;
int16_t sqrt_energy_product = static_cast<int16_t>( int16_t sqrt_energy_product = WebRtcSpl_SqrtFloor(
WebRtcSpl_SqrtFloor(scaled_energy1 * scaled_energy2)); scaled_energy1 * scaled_energy2);
// Calculate max_correlation / sqrt(energy1 * energy2) in Q14. // Calculate max_correlation / sqrt(energy1 * energy2) in Q14.
int cc_shift = 14 - (energy1_scale + energy2_scale) / 2; int cc_shift = 14 - (energy1_scale + energy2_scale) / 2;
max_correlation = WEBRTC_SPL_SHIFT_W32(max_correlation, cc_shift); max_correlation = WEBRTC_SPL_SHIFT_W32(max_correlation, cc_shift);
corr_coefficient = WebRtcSpl_DivW32W16(max_correlation, corr_coefficient = WebRtcSpl_DivW32W16(max_correlation,
sqrt_energy_product); sqrt_energy_product);
// Cap at 1.0 in Q14. corr_coefficient = std::min(static_cast<int16_t>(16384),
corr_coefficient = std::min(16384, corr_coefficient); corr_coefficient); // Cap at 1.0 in Q14.
} else { } else {
corr_coefficient = 0; corr_coefficient = 0;
} }
@ -511,8 +513,8 @@ void Expand::AnalyzeSignal(int16_t* random_vector) {
if ((energy1 / 4 < energy2) && (energy1 > energy2 / 4)) { if ((energy1 / 4 < energy2) && (energy1 > energy2 / 4)) {
// Energy constraint fulfilled. Use both vectors and scale them // Energy constraint fulfilled. Use both vectors and scale them
// accordingly. // accordingly.
int32_t scaled_energy2 = std::max(16 - WebRtcSpl_NormW32(energy2), 0); int16_t scaled_energy2 = std::max(16 - WebRtcSpl_NormW32(energy2), 0);
int32_t scaled_energy1 = scaled_energy2 - 13; int16_t scaled_energy1 = scaled_energy2 - 13;
// Calculate scaled_energy1 / scaled_energy2 in Q13. // Calculate scaled_energy1 / scaled_energy2 in Q13.
int32_t energy_ratio = WebRtcSpl_DivW32W16( int32_t energy_ratio = WebRtcSpl_DivW32W16(
WEBRTC_SPL_SHIFT_W32(energy1, -scaled_energy1), WEBRTC_SPL_SHIFT_W32(energy1, -scaled_energy1),
@ -680,8 +682,7 @@ void Expand::AnalyzeSignal(int16_t* random_vector) {
// voice_mix_factor = 0; // voice_mix_factor = 0;
if (corr_coefficient > 7875) { if (corr_coefficient > 7875) {
int16_t x1, x2, x3; int16_t x1, x2, x3;
// |corr_coefficient| is in Q14. x1 = corr_coefficient; // |corr_coefficient| is in Q14.
x1 = static_cast<int16_t>(corr_coefficient);
x2 = (x1 * x1) >> 14; // Shift 14 to keep result in Q14. x2 = (x1 * x1) >> 14; // Shift 14 to keep result in Q14.
x3 = (x1 * x2) >> 14; x3 = (x1 * x2) >> 14;
static const int kCoefficients[4] = { -5179, 19931, -16422, 5776 }; static const int kCoefficients[4] = { -5179, 19931, -16422, 5776 };
@ -708,7 +709,7 @@ void Expand::AnalyzeSignal(int16_t* random_vector) {
// the division. // the division.
// Shift the denominator from Q13 to Q5 before the division. The result of // Shift the denominator from Q13 to Q5 before the division. The result of
// the division will then be in Q20. // the division will then be in Q20.
int temp_ratio = WebRtcSpl_DivW32W16((slope - 8192) << 12, int16_t temp_ratio = WebRtcSpl_DivW32W16((slope - 8192) << 12,
(distortion_lag * slope) >> 8); (distortion_lag * slope) >> 8);
if (slope > 14746) { if (slope > 14746) {
// slope > 1.8. // slope > 1.8.
@ -728,7 +729,8 @@ void Expand::AnalyzeSignal(int16_t* random_vector) {
// Make sure the mute factor decreases from 1.0 to 0.9 in no more than // Make sure the mute factor decreases from 1.0 to 0.9 in no more than
// 6.25 ms. // 6.25 ms.
// mute_slope >= 0.005 / fs_mult in Q20. // mute_slope >= 0.005 / fs_mult in Q20.
parameters.mute_slope = std::max(5243 / fs_mult, parameters.mute_slope); parameters.mute_slope = std::max(static_cast<int16_t>(5243 / fs_mult),
parameters.mute_slope);
} else if (slope > 8028) { } else if (slope > 8028) {
parameters.mute_slope = 0; parameters.mute_slope = 0;
} }
@ -750,7 +752,7 @@ Expand::ChannelParameters::ChannelParameters()
} }
int16_t Expand::Correlation(const int16_t* input, size_t input_length, int16_t Expand::Correlation(const int16_t* input, size_t input_length,
int16_t* output, int* output_scale) const { int16_t* output, int16_t* output_scale) const {
// Set parameters depending on sample rate. // Set parameters depending on sample rate.
const int16_t* filter_coefficients; const int16_t* filter_coefficients;
int16_t num_coefficients; int16_t num_coefficients;
@ -839,7 +841,7 @@ Expand* ExpandFactory::Create(BackgroundNoise* background_noise,
// TODO(turajs): This can be moved to BackgroundNoise class. // TODO(turajs): This can be moved to BackgroundNoise class.
void Expand::GenerateBackgroundNoise(int16_t* random_vector, void Expand::GenerateBackgroundNoise(int16_t* random_vector,
size_t channel, size_t channel,
int mute_slope, int16_t mute_slope,
bool too_many_expands, bool too_many_expands,
size_t num_noise_samples, size_t num_noise_samples,
int16_t* buffer) { int16_t* buffer) {
@ -882,7 +884,7 @@ void Expand::GenerateBackgroundNoise(int16_t* random_vector,
bgn_mute_factor > 0) { bgn_mute_factor > 0) {
// Fade BGN to zero. // Fade BGN to zero.
// Calculate muting slope, approximately -2^18 / fs_hz. // Calculate muting slope, approximately -2^18 / fs_hz.
int mute_slope; int16_t mute_slope;
if (fs_hz_ == 8000) { if (fs_hz_ == 8000) {
mute_slope = -32; mute_slope = -32;
} else if (fs_hz_ == 16000) { } else if (fs_hz_ == 16000) {

View File

@ -72,7 +72,7 @@ class Expand {
void GenerateBackgroundNoise(int16_t* random_vector, void GenerateBackgroundNoise(int16_t* random_vector,
size_t channel, size_t channel,
int mute_slope, int16_t mute_slope,
bool too_many_expands, bool too_many_expands,
size_t num_noise_samples, size_t num_noise_samples,
int16_t* buffer); int16_t* buffer);
@ -113,7 +113,7 @@ class Expand {
AudioVector expand_vector0; AudioVector expand_vector0;
AudioVector expand_vector1; AudioVector expand_vector1;
bool onset; bool onset;
int mute_slope; /* Q20 */ int16_t mute_slope; /* Q20 */
}; };
// Calculate the auto-correlation of |input|, with length |input_length| // Calculate the auto-correlation of |input|, with length |input_length|
@ -121,7 +121,7 @@ class Expand {
// |input|, and is written to |output|. The scale factor is written to // |input|, and is written to |output|. The scale factor is written to
// |output_scale|. Returns the length of the correlation vector. // |output_scale|. Returns the length of the correlation vector.
int16_t Correlation(const int16_t* input, size_t input_length, int16_t Correlation(const int16_t* input, size_t input_length,
int16_t* output, int* output_scale) const; int16_t* output, int16_t* output_scale) const;
void UpdateLagIndex(); void UpdateLagIndex();

View File

@ -311,7 +311,7 @@ int16_t Merge::CorrelateAndPeakSearch(int16_t expanded_max, int16_t input_max,
const int max_corr_length = kMaxCorrelationLength; const int max_corr_length = kMaxCorrelationLength;
int stop_position_downsamp = std::min( int stop_position_downsamp = std::min(
max_corr_length, expand_->max_lag() / (fs_mult_ * 2) + 1); max_corr_length, expand_->max_lag() / (fs_mult_ * 2) + 1);
int correlation_shift = 0; int16_t correlation_shift = 0;
if (expanded_max * input_max > 26843546) { if (expanded_max * input_max > 26843546) {
correlation_shift = 3; correlation_shift = 3;
} }
@ -330,7 +330,7 @@ int16_t Merge::CorrelateAndPeakSearch(int16_t expanded_max, int16_t input_max,
int16_t* correlation_ptr = &correlation16[pad_length]; int16_t* correlation_ptr = &correlation16[pad_length];
int32_t max_correlation = WebRtcSpl_MaxAbsValueW32(correlation, int32_t max_correlation = WebRtcSpl_MaxAbsValueW32(correlation,
stop_position_downsamp); stop_position_downsamp);
int norm_shift = std::max(0, 17 - WebRtcSpl_NormW32(max_correlation)); int16_t norm_shift = std::max(0, 17 - WebRtcSpl_NormW32(max_correlation));
WebRtcSpl_VectorBitShiftW32ToW16(correlation_ptr, stop_position_downsamp, WebRtcSpl_VectorBitShiftW32ToW16(correlation_ptr, stop_position_downsamp,
correlation, norm_shift); correlation, norm_shift);

View File

@ -1271,7 +1271,7 @@ int NetEqImpl::DecodeLoop(PacketList* packet_list, Operations* operation,
*operation == kPreemptiveExpand); *operation == kPreemptiveExpand);
packet_list->pop_front(); packet_list->pop_front();
size_t payload_length = packet->payload_length; size_t payload_length = packet->payload_length;
int decode_length; int16_t decode_length;
if (packet->sync_packet) { if (packet->sync_packet) {
// Decode to silence with the same frame size as the last decode. // Decode to silence with the same frame size as the last decode.
LOG(LS_VERBOSE) << "Decoding sync-packet: " << LOG(LS_VERBOSE) << "Decoding sync-packet: " <<

View File

@ -110,7 +110,7 @@ int Normal::Process(const int16_t* input,
} }
// If muted increase by 0.64 for every 20 ms (NB/WB 0.0040/0.0020 in Q14). // If muted increase by 0.64 for every 20 ms (NB/WB 0.0040/0.0020 in Q14).
int increment = static_cast<int>(64 / fs_mult); int16_t increment = 64 / fs_mult;
for (size_t i = 0; i < length_per_channel; i++) { for (size_t i = 0; i < length_per_channel; i++) {
// Scale with mute factor. // Scale with mute factor.
assert(channel_ix < output->Channels()); assert(channel_ix < output->Channels());
@ -176,7 +176,7 @@ int Normal::Process(const int16_t* input,
// Previous was neither of Expand, FadeToBGN or RFC3389_CNG, but we are // Previous was neither of Expand, FadeToBGN or RFC3389_CNG, but we are
// still ramping up from previous muting. // still ramping up from previous muting.
// If muted increase by 0.64 for every 20 ms (NB/WB 0.0040/0.0020 in Q14). // If muted increase by 0.64 for every 20 ms (NB/WB 0.0040/0.0020 in Q14).
int increment = static_cast<int>(64 / fs_mult); int16_t increment = 64 / fs_mult;
size_t length_per_channel = length / output->Channels(); size_t length_per_channel = length / output->Channels();
for (size_t i = 0; i < length_per_channel; i++) { for (size_t i = 0; i < length_per_channel; i++) {
for (size_t channel_ix = 0; channel_ix < output->Channels(); for (size_t channel_ix = 0; channel_ix < output->Channels();

View File

@ -1561,7 +1561,7 @@ int NetEQTest_encode(int coder,
int useVAD, int useVAD,
int bitrate, int bitrate,
int numChannels) { int numChannels) {
int cdlen = 0; short cdlen = 0;
int16_t* tempdata; int16_t* tempdata;
static int first_cng = 1; static int first_cng = 1;
int16_t tempLen; int16_t tempLen;