From 0c32ae8ca0a26ebec4359d754d340f0322004112 Mon Sep 17 00:00:00 2001 From: Steve Underwood Date: Tue, 22 Jul 2014 12:06:50 +0800 Subject: [PATCH] Coverity cleanups for iLBC --- libs/ilbc/src/filter.c | 7 +- libs/ilbc/src/iLBC_decode.c | 138 +++++++++++++++++------------------- libs/ilbc/src/iLBC_encode.c | 115 +++++++++++++++--------------- 3 files changed, 129 insertions(+), 131 deletions(-) diff --git a/libs/ilbc/src/filter.c b/libs/ilbc/src/filter.c index bc971d2992..85f300db97 100644 --- a/libs/ilbc/src/filter.c +++ b/libs/ilbc/src/filter.c @@ -134,7 +134,7 @@ void DownSample(const float *In, /* (i) input samples */ o = 0.0f; - stop = (i < FILTERORDER_DS) ? i + 1 : FILTERORDER_DS; + stop = (i < FILTERORDER_DS) ? (i + 1) : FILTERORDER_DS; for (j = 0; j < stop; j++) o += *Coef_ptr++ * (*In_ptr--); @@ -151,14 +151,13 @@ void DownSample(const float *In, /* (i) input samples */ if (imode = mode; - - if (mode == 30) - { - iLBCdec_inst->blockl = ILBC_BLOCK_LEN_30MS; - iLBCdec_inst->nsub = NSUB_30MS; - iLBCdec_inst->nasub = NASUB_30MS; - iLBCdec_inst->lpc_n = LPC_N_30MS; - iLBCdec_inst->no_of_bytes = ILBC_NO_OF_BYTES_30MS; - iLBCdec_inst->state_short_len = STATE_SHORT_LEN_30MS; - /* ULP init */ - iLBCdec_inst->ULP_inst = &ULP_30msTbl; - } - else if (mode == 20) - { - iLBCdec_inst->blockl = ILBC_BLOCK_LEN_20MS; - iLBCdec_inst->nsub = NSUB_20MS; - iLBCdec_inst->nasub = NASUB_20MS; - iLBCdec_inst->lpc_n = LPC_N_20MS; - iLBCdec_inst->no_of_bytes = ILBC_NO_OF_BYTES_20MS; - iLBCdec_inst->state_short_len = STATE_SHORT_LEN_20MS; - /* ULP init */ - iLBCdec_inst->ULP_inst = &ULP_20msTbl; - } - else - { - return NULL; - } - - memset(iLBCdec_inst->syntMem, 0, ILBC_LPC_FILTERORDER*sizeof(float)); - memcpy((*iLBCdec_inst).lsfdeqold, lsfmeanTbl, ILBC_LPC_FILTERORDER*sizeof(float)); - - memset(iLBCdec_inst->old_syntdenum, - 0, - ((ILBC_LPC_FILTERORDER + 1)*ILBC_NUM_SUB_MAX)*sizeof(float)); - for (i = 0; i < ILBC_NUM_SUB_MAX; i++) - iLBCdec_inst->old_syntdenum[i*(ILBC_LPC_FILTERORDER + 1)] = 1.0f; - - iLBCdec_inst->last_lag = 20; - - iLBCdec_inst->prevLag = 120; - iLBCdec_inst->per = 0.0; - iLBCdec_inst->consPLICount = 0; - iLBCdec_inst->prevPLI = 0; - iLBCdec_inst->prevLpc[0] = 1.0f; - memset(iLBCdec_inst->prevLpc + 1, 0, ILBC_LPC_FILTERORDER*sizeof(float)); - memset(iLBCdec_inst->prevResidual, 0, ILBC_BLOCK_LEN_MAX*sizeof(float)); - iLBCdec_inst->seed = 777; - memset(iLBCdec_inst->hpomem, 0, 4*sizeof(float)); - - iLBCdec_inst->use_enhancer = use_enhancer; - memset(iLBCdec_inst->enh_buf, 0, ENH_BUFL*sizeof(float)); - for (i = 0; i < ENH_NBLOCKS_TOT; i++) - iLBCdec_inst->enh_period[i] = 40.0f; - - iLBCdec_inst->prev_enh_pl = 0; - - return iLBCdec_inst; -} - /*----------------------------------------------------------------* * frame residual decoder function (subrutine to iLBC_decode) *---------------------------------------------------------------*/ @@ -648,3 +577,70 @@ int ilbc_fillin(ilbc_decode_state_t *s, /* (i/o) the decoder state structure } return i; } + +ilbc_decode_state_t *ilbc_decode_init(ilbc_decode_state_t *iLBCdec_inst, /* (i/o) Decoder instance */ + int mode, /* (i) frame size mode */ + int use_enhancer) /* (i) 1 to use enhancer + 0 to run without enhancer */ +{ + int i; + + iLBCdec_inst->mode = mode; + + if (mode == 30) + { + iLBCdec_inst->blockl = ILBC_BLOCK_LEN_30MS; + iLBCdec_inst->nsub = NSUB_30MS; + iLBCdec_inst->nasub = NASUB_30MS; + iLBCdec_inst->lpc_n = LPC_N_30MS; + iLBCdec_inst->no_of_bytes = ILBC_NO_OF_BYTES_30MS; + iLBCdec_inst->state_short_len = STATE_SHORT_LEN_30MS; + /* ULP init */ + iLBCdec_inst->ULP_inst = &ULP_30msTbl; + } + else if (mode == 20) + { + iLBCdec_inst->blockl = ILBC_BLOCK_LEN_20MS; + iLBCdec_inst->nsub = NSUB_20MS; + iLBCdec_inst->nasub = NASUB_20MS; + iLBCdec_inst->lpc_n = LPC_N_20MS; + iLBCdec_inst->no_of_bytes = ILBC_NO_OF_BYTES_20MS; + iLBCdec_inst->state_short_len = STATE_SHORT_LEN_20MS; + /* ULP init */ + iLBCdec_inst->ULP_inst = &ULP_20msTbl; + } + else + { + return NULL; + } + + memset(iLBCdec_inst->syntMem, 0, ILBC_LPC_FILTERORDER*sizeof(float)); + memcpy((*iLBCdec_inst).lsfdeqold, lsfmeanTbl, ILBC_LPC_FILTERORDER*sizeof(float)); + + memset(iLBCdec_inst->old_syntdenum, + 0, + ((ILBC_LPC_FILTERORDER + 1)*ILBC_NUM_SUB_MAX)*sizeof(float)); + for (i = 0; i < ILBC_NUM_SUB_MAX; i++) + iLBCdec_inst->old_syntdenum[i*(ILBC_LPC_FILTERORDER + 1)] = 1.0f; + + iLBCdec_inst->last_lag = 20; + + iLBCdec_inst->prevLag = 120; + iLBCdec_inst->per = 0.0; + iLBCdec_inst->consPLICount = 0; + iLBCdec_inst->prevPLI = 0; + iLBCdec_inst->prevLpc[0] = 1.0f; + memset(iLBCdec_inst->prevLpc + 1, 0, ILBC_LPC_FILTERORDER*sizeof(float)); + memset(iLBCdec_inst->prevResidual, 0, ILBC_BLOCK_LEN_MAX*sizeof(float)); + iLBCdec_inst->seed = 777; + memset(iLBCdec_inst->hpomem, 0, 4*sizeof(float)); + + iLBCdec_inst->use_enhancer = use_enhancer; + memset(iLBCdec_inst->enh_buf, 0, ENH_BUFL*sizeof(float)); + for (i = 0; i < ENH_NBLOCKS_TOT; i++) + iLBCdec_inst->enh_period[i] = 40.0f; + + iLBCdec_inst->prev_enh_pl = 0; + + return iLBCdec_inst; +} diff --git a/libs/ilbc/src/iLBC_encode.c b/libs/ilbc/src/iLBC_encode.c index 44c8166f00..1a36575d50 100644 --- a/libs/ilbc/src/iLBC_encode.c +++ b/libs/ilbc/src/iLBC_encode.c @@ -46,46 +46,6 @@ * Initiation of encoder instance. *---------------------------------------------------------------*/ -ilbc_encode_state_t *ilbc_encode_init(ilbc_encode_state_t *iLBCenc_inst, /* (i/o) Encoder instance */ - int mode) /* (i) frame size mode */ -{ - iLBCenc_inst->mode = mode; - if (mode == 30) - { - iLBCenc_inst->blockl = ILBC_BLOCK_LEN_30MS; - iLBCenc_inst->nsub = NSUB_30MS; - iLBCenc_inst->nasub = NASUB_30MS; - iLBCenc_inst->lpc_n = LPC_N_30MS; - iLBCenc_inst->no_of_bytes = ILBC_NO_OF_BYTES_30MS; - iLBCenc_inst->state_short_len = STATE_SHORT_LEN_30MS; - /* ULP init */ - iLBCenc_inst->ULP_inst = &ULP_30msTbl; - } - else if (mode == 20) - { - iLBCenc_inst->blockl = ILBC_BLOCK_LEN_20MS; - iLBCenc_inst->nsub = NSUB_20MS; - iLBCenc_inst->nasub = NASUB_20MS; - iLBCenc_inst->lpc_n = LPC_N_20MS; - iLBCenc_inst->no_of_bytes = ILBC_NO_OF_BYTES_20MS; - iLBCenc_inst->state_short_len = STATE_SHORT_LEN_20MS; - /* ULP init */ - iLBCenc_inst->ULP_inst = &ULP_20msTbl; - } - else - { - return NULL; - } - - memset((*iLBCenc_inst).anaMem, 0, ILBC_LPC_FILTERORDER*sizeof(float)); - memcpy((*iLBCenc_inst).lsfold, lsfmeanTbl, ILBC_LPC_FILTERORDER*sizeof(float)); - memcpy((*iLBCenc_inst).lsfdeqold, lsfmeanTbl, ILBC_LPC_FILTERORDER*sizeof(float)); - memset((*iLBCenc_inst).lpc_buffer, 0, (LPC_LOOKBACK + ILBC_BLOCK_LEN_MAX)*sizeof(float)); - memset((*iLBCenc_inst).hpimem, 0, 4*sizeof(float)); - - return iLBCenc_inst; -} - /*----------------------------------------------------------------* * main encoder function *---------------------------------------------------------------*/ @@ -215,7 +175,7 @@ static int ilbc_encode_frame(ilbc_encode_state_t *iLBCenc_inst, /* (i/o) the iCBConstruct(&decresidual[start_pos + iLBCenc_inst->state_short_len], extra_cb_index, extra_gain_index, - mem + CB_MEML - stMemLTbl, + &mem[CB_MEML - stMemLTbl], stMemLTbl, diff, CB_NSTAGES); @@ -252,7 +212,7 @@ static int ilbc_encode_frame(ilbc_encode_state_t *iLBCenc_inst, /* (i/o) the iCBConstruct(reverseDecresidual, extra_cb_index, extra_gain_index, - mem + CB_MEML - stMemLTbl, + &mem[CB_MEML - stMemLTbl], stMemLTbl, diff, CB_NSTAGES); @@ -271,7 +231,7 @@ static int ilbc_encode_frame(ilbc_encode_state_t *iLBCenc_inst, /* (i/o) the if (Nfor > 0) { /* Setup memory */ - memset(mem, 0, (CB_MEML-STATE_LEN)*sizeof(float)); + memset(mem, 0, (CB_MEML - STATE_LEN)*sizeof(float)); memcpy(&mem[CB_MEML - STATE_LEN], decresidual + (start - 1)*SUBL, STATE_LEN*sizeof(float)); memset(weightState, 0, ILBC_LPC_FILTERORDER*sizeof(float)); @@ -280,10 +240,10 @@ static int ilbc_encode_frame(ilbc_encode_state_t *iLBCenc_inst, /* (i/o) the { /* Encode sub-frame */ iCBSearch(iLBCenc_inst, - cb_index + subcount*CB_NSTAGES, - gain_index + subcount*CB_NSTAGES, + &cb_index[subcount*CB_NSTAGES], + &gain_index[subcount*CB_NSTAGES], &residual[(start + 1 + subframe)*SUBL], - mem + CB_MEML-memLfTbl[subcount], + &mem[CB_MEML - memLfTbl[subcount]], memLfTbl[subcount], SUBL, CB_NSTAGES, @@ -293,9 +253,9 @@ static int ilbc_encode_frame(ilbc_encode_state_t *iLBCenc_inst, /* (i/o) the /* Construct decoded vector */ iCBConstruct(&decresidual[(start + 1 + subframe)*SUBL], - cb_index + subcount*CB_NSTAGES, - gain_index + subcount*CB_NSTAGES, - mem + CB_MEML - memLfTbl[subcount], + &cb_index[subcount*CB_NSTAGES], + &gain_index[subcount*CB_NSTAGES], + &mem[CB_MEML - memLfTbl[subcount]], memLfTbl[subcount], SUBL, CB_NSTAGES); @@ -338,20 +298,23 @@ static int ilbc_encode_frame(ilbc_encode_state_t *iLBCenc_inst, /* (i/o) the for (subframe = 0; subframe < Nback; subframe++) { /* Encode sub-frame */ - iCBSearch(iLBCenc_inst, cb_index+subcount*CB_NSTAGES, - gain_index + subcount*CB_NSTAGES, + iCBSearch(iLBCenc_inst, + &cb_index[subcount*CB_NSTAGES], + &gain_index[subcount*CB_NSTAGES], &reverseResidual[subframe*SUBL], - mem + CB_MEML - memLfTbl[subcount], - memLfTbl[subcount], SUBL, CB_NSTAGES, + &mem[CB_MEML - memLfTbl[subcount]], + memLfTbl[subcount], + SUBL, + CB_NSTAGES, &weightdenum[(start - 2 - subframe)*(ILBC_LPC_FILTERORDER + 1)], weightState, subcount + 1); /* Construct decoded vector */ iCBConstruct(&reverseDecresidual[subframe*SUBL], - cb_index + subcount*CB_NSTAGES, - gain_index + subcount*CB_NSTAGES, - mem + CB_MEML - memLfTbl[subcount], + &cb_index[subcount*CB_NSTAGES], + &gain_index[subcount*CB_NSTAGES], + &mem[CB_MEML - memLfTbl[subcount]], memLfTbl[subcount], SUBL, CB_NSTAGES); @@ -515,3 +478,43 @@ int ilbc_encode(ilbc_encode_state_t *s, /* (i/o) the general encoder state * } return j; } + +ilbc_encode_state_t *ilbc_encode_init(ilbc_encode_state_t *iLBCenc_inst, /* (i/o) Encoder instance */ + int mode) /* (i) frame size mode */ +{ + iLBCenc_inst->mode = mode; + if (mode == 30) + { + iLBCenc_inst->blockl = ILBC_BLOCK_LEN_30MS; + iLBCenc_inst->nsub = NSUB_30MS; + iLBCenc_inst->nasub = NASUB_30MS; + iLBCenc_inst->lpc_n = LPC_N_30MS; + iLBCenc_inst->no_of_bytes = ILBC_NO_OF_BYTES_30MS; + iLBCenc_inst->state_short_len = STATE_SHORT_LEN_30MS; + /* ULP init */ + iLBCenc_inst->ULP_inst = &ULP_30msTbl; + } + else if (mode == 20) + { + iLBCenc_inst->blockl = ILBC_BLOCK_LEN_20MS; + iLBCenc_inst->nsub = NSUB_20MS; + iLBCenc_inst->nasub = NASUB_20MS; + iLBCenc_inst->lpc_n = LPC_N_20MS; + iLBCenc_inst->no_of_bytes = ILBC_NO_OF_BYTES_20MS; + iLBCenc_inst->state_short_len = STATE_SHORT_LEN_20MS; + /* ULP init */ + iLBCenc_inst->ULP_inst = &ULP_20msTbl; + } + else + { + return NULL; + } + + memset((*iLBCenc_inst).anaMem, 0, ILBC_LPC_FILTERORDER*sizeof(float)); + memcpy((*iLBCenc_inst).lsfold, lsfmeanTbl, ILBC_LPC_FILTERORDER*sizeof(float)); + memcpy((*iLBCenc_inst).lsfdeqold, lsfmeanTbl, ILBC_LPC_FILTERORDER*sizeof(float)); + memset((*iLBCenc_inst).lpc_buffer, 0, (LPC_LOOKBACK + ILBC_BLOCK_LEN_MAX)*sizeof(float)); + memset((*iLBCenc_inst).hpimem, 0, 4*sizeof(float)); + + return iLBCenc_inst; +}