Commit 5fa4449a authored by Sandesh Venkatesh's avatar Sandesh Venkatesh Committed by Fabian Bauer
Browse files

Fixes for high MLD cases in encoder, Q-documentation for lib_enc

parent fa19f0a5
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -239,12 +239,6 @@
    <ClCompile Include="..\lib_enc\ivas_stereo_dft_enc_itd.c" />
    <ClCompile Include="..\lib_enc\ivas_stereo_dft_td_itd.c" />
    <ClCompile Include="..\lib_enc\ivas_stereo_dmx_evs.c" />
    <ClCompile Include="..\lib_enc\ACcontextMapping_enc.c" />
    <ClCompile Include="..\lib_enc\acelp_core_enc.c" />
    <ClCompile Include="..\lib_enc\acelp_core_switch_enc.c" />
    <ClCompile Include="..\lib_enc\acelp_enc_util.c" />
    <ClCompile Include="..\lib_enc\amr_wb_enc.c" />
    <ClCompile Include="..\lib_enc\analy_lp.c" />
    <ClCompile Include="..\lib_enc\analy_sp.c" />
    <ClCompile Include="..\lib_enc\arith_coder_enc.c" />
    <ClCompile Include="..\lib_enc\ari_enc.c" />
@@ -281,18 +275,13 @@
    <ClCompile Include="..\lib_enc\enc_gen_voic.c" />
    <ClCompile Include="..\lib_enc\enc_gen_voic_rf.c" />
    <ClCompile Include="..\lib_enc\enc_higher_acelp.c" />
    <ClCompile Include="..\lib_enc\enc_nelp.c" />
    <ClCompile Include="..\lib_enc\enc_pit_exc.c" />
    <ClCompile Include="..\lib_enc\enc_ppp.c" />
    <ClCompile Include="..\lib_enc\enc_prm.c" />
    <ClCompile Include="..\lib_enc\enc_tran.c" />
    <ClCompile Include="..\lib_enc\enc_uv.c" />
    <ClCompile Include="..\lib_enc\energy.c" />
    <ClCompile Include="..\lib_enc\eval_pit_contr.c" />
    <ClCompile Include="..\lib_enc\evs_enc.c" />
    <ClCompile Include="..\lib_enc\ext_sig_ana.c" />
    <ClCompile Include="..\lib_enc\fd_cng_enc.c" />
    <ClCompile Include="..\lib_enc\FEC_enc.c" />
    <ClCompile Include="..\lib_enc\find_tar.c" />
    <ClCompile Include="..\lib_enc\find_tilt.c" />
    <ClCompile Include="..\lib_enc\find_uv.c" />
@@ -424,7 +413,6 @@
    <ClCompile Include="..\lib_enc\setmodeindex.c" />
    <ClCompile Include="..\lib_enc\set_impulse.c" />
    <ClCompile Include="..\lib_enc\sig_clas.c" />
    <ClCompile Include="..\lib_enc\SNR_calc.c" />
    <ClCompile Include="..\lib_enc\ivas_sns_enc.c" />
    <ClCompile Include="..\lib_enc\spec_center.c" />
    <ClCompile Include="..\lib_enc\spec_flatness.c" />
+0 −39
Original line number Diff line number Diff line
@@ -19,12 +19,6 @@
    <ClCompile Include="..\lib_enc\ivas_sce_enc.c">
      <Filter>enc_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\acelp_core_switch_enc.c">
      <Filter>enc_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\amr_wb_enc.c">
      <Filter>enc_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\cod_ace.c">
      <Filter>enc_evs_c</Filter>
    </ClCompile>
@@ -61,12 +55,6 @@
    <ClCompile Include="..\lib_enc\enc_gen_voic_rf.c">
      <Filter>enc_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\enc_ppp.c">
      <Filter>enc_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\enc_nelp.c">
      <Filter>enc_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\enc_prm.c">
      <Filter>enc_evs_c</Filter>
    </ClCompile>
@@ -115,18 +103,6 @@
    <ClCompile Include="..\lib_enc\vad_proc.c">
      <Filter>enc_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\ACcontextMapping_enc.c">
      <Filter>enc_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\acelp_core_enc.c">
      <Filter>enc_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\acelp_enc_util.c">
      <Filter>enc_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\analy_lp.c">
      <Filter>enc_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\analy_sp.c">
      <Filter>enc_all_c</Filter>
    </ClCompile>
@@ -196,12 +172,6 @@
    <ClCompile Include="..\lib_enc\enc_higher_acelp.c">
      <Filter>enc_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\enc_pit_exc.c">
      <Filter>enc_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\enc_tran.c">
      <Filter>enc_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\enc_uv.c">
      <Filter>enc_all_c</Filter>
    </ClCompile>
@@ -217,9 +187,6 @@
    <ClCompile Include="..\lib_enc\fd_cng_enc.c">
      <Filter>enc_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\FEC_enc.c">
      <Filter>enc_all_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\find_tar.c">
      <Filter>enc_all_c</Filter>
    </ClCompile>
@@ -433,9 +400,6 @@
    <ClCompile Include="..\lib_enc\comvad_decision.c">
      <Filter>enc_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\SNR_calc.c">
      <Filter>enc_evs_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\ivas_mcmasa_enc.c">
      <Filter>enc_ivas_c</Filter>
    </ClCompile>
@@ -451,9 +415,6 @@
    <ClCompile Include="..\lib_enc\ivas_mct_enc_mct.c">
      <Filter>enc_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\ivas_rom_enc.c">
      <Filter>enc_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_enc\ivas_mdct_core_enc.c">
      <Filter>enc_ivas_c</Filter>
    </ClCompile>
+1 −1
Original line number Diff line number Diff line
@@ -235,7 +235,7 @@ ivas_error pre_proc_front_ivas_fx(
    const Word16 currFlatness_fx,                                  /* i  : flatness parameter                    Q7  */
    const Word16 tdm_ratio_idx,                                /* i  : Current Ratio_L index                   */
    Word32 fr_bands_LR_fx[][2 * NB_BANDS],                         /* i  : energy in frequency bands (fr_bands_LR_fx_q) */
    Word16 fr_bands_LR_fx_q,
    Word16 fr_bands_LR_fx_q[CPE_CHANNELS],
    const Word16 Etot_LR_fx[],                                     /* i  : total energy Left & Right channel       Q8*/
    Word32 lf_E_LR_fx[][2 * VOIC_BINS],                            /* i  : per bin spectrum energy in lf, LR channels (lf_E_LR_fx_q) */
    Word16 lf_E_LR_fx_q,
+34 −33
Original line number Diff line number Diff line
@@ -2004,24 +2004,24 @@ void MDCT_selector(
    const float enerBuffer[] /* i  : energy buffer                           */
);

ivas_error acelp_core_enc(
ivas_error acelp_core_enc_ivas_fx(
    Encoder_State *st,                  /* i/o: encoder state structure                 */
    const Word16 inp[],                 /* i  : input signal of the current frame       */
    Word16 A[NB_SUBFR16k * ( M + 1 )],  /* i  : A(z) unquantized for the 4 subframes    */
    Word16 Aw[NB_SUBFR16k * ( M + 1 )], /* i  : weighted A(z) unquant. for subframes    */
    const Word32 epsP[M + 1],           /* i  : LP prediction errors                    */
    Word16 lsp_new[M],                  /* i  : LSPs at the end of the frame            */
    Word16 lsp_mid[M],                  /* i  : LSPs in the middle of the frame         */
    const Word16 vad_hover_flag,        /* i  : VAD hangover flag                       */
    const Word16 attack_flag,           /* i  : attack flag (GSC or TC)                 */
    Word32 bwe_exc_extended_fx[],       /* i/o: bandwidth extended excitation   2*Q_new */
    const Word16 inp[],                 /* i  : input signal of the current frame		Q_new*/
    Word16 A[NB_SUBFR16k * ( M + 1 )],  /* i  : A(z) unquantized for the 4 subframes	Q12*/
    Word16 Aw[NB_SUBFR16k * ( M + 1 )], /* i  : weighted A(z) unquant. for subframes	Q12*/
    const Word32 epsP[M + 1],           /* i  : LP prediction errors					Qx*/
    Word16 lsp_new[M],                  /* i  : LSPs at the end of the frame			Q15*/
    Word16 lsp_mid[M],                  /* i  : LSPs in the middle of the frame			Q15*/
    const Word16 vad_hover_flag,        /* i  : VAD hangover flag						Q0*/
    const Word16 attack_flag,           /* i  : attack flag (GSC or TC)					Q0*/
    Word32 bwe_exc_extended_fx[],       /* i/o: bandwidth extended excitation       st->prev_Q_bwe_exc*/
    Word16 *voice_factors_fx,           /* o  : voicing factors							Q15*/
    Word16 old_syn_12k8_16k[],          /* o  : ACELP core synthesis at 12.8kHz or 16kHz to be used by SWB BWE */
    Word16 old_syn_12k8_16k[],          /* o  : intermediate ACELP synthesis at 12.8kHz or 16kHz to be used by SWB BWE		q_old_syn_12k8_16*/
    Word16 *q_old_syn_12k8_16,
    Word16 pitch_buf[NB_SUBFR16k],       /* o  : floating pitch for each subframe        */
    Word16 *unbits,                      /* o  : number of unused bits                   */
    Word16 pitch_buf[NB_SUBFR16k],       /* o  : floating pitch for each subframe		Q6*/
    Word16 *unbits,                      /* o  : number of unused bits					Q0*/
    STEREO_TD_ENC_DATA_HANDLE hStereoTD, /* i/o: TD stereo encoder handle            */
    Word16 tdm_lsfQ_PCh[M],              /* i  : Q LSFs for primary channel              */
    Word16 tdm_lsfQ_PCh[M],              /* i  : Q LSFs for primary channel				X2.56*/
    Word16 Q_new );

ivas_error acelp_core_switch_dec_bfi(
@@ -6135,17 +6135,18 @@ int16_t RCcontextMapping_encode2_estimate_no_mem_s17_LCS(
    CONTEXT_HM_CONFIG *hm_cfg /* context-based harmonic model configuration */
);

int16_t RCcontextMapping_encode2_estimate_bandWise_start(
    int16_t *x,
    const int16_t nt,
    const int16_t target,
Word16 RCcontextMapping_encode2_estimate_bandWise_start_fx(
    Word16 *x,           /* Q0 */
    const Word16 nt,     /* Q0 */
    const Word16 target, /* Q0 */
    HANDLE_RC_CONTEXT_MEM hContextMem );

int16_t RCcontextMapping_encode2_estimate_bandWise(
    int16_t *x,
    const int16_t start_line,
    const int16_t end_line,
    HANDLE_RC_CONTEXT_MEM hContextMem );
Word16 RCcontextMapping_encode2_estimate_bandWise_fx(
    Word16 *x,                        /* Q0 */
    const Word16 start_line,          /* Q0 */
    const Word16 end_line,            /* Q0 */
    HANDLE_RC_CONTEXT_MEM hContextMem /* Q0 */
);

void tcx_get_windows_flt(
    TCX_CONFIG_HANDLE hTcxCfg, /* i  : TCX configuration                   */
@@ -6599,16 +6600,16 @@ void decoder_acelp(
    float *bwe_exc                  /* o  : excitation for SWB TBE      */
);

void writeTCXMode(
void writeTCXMode_fx(
    Encoder_State *st,     /* i/o: encoder state structure					*/
    BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle						*/
    const int16_t MCT_flag, /* i  : hMCT handle allocated (1) or not (0)*/
    int16_t *nbits_start    /* o  : nbits start                         */
    const Word16 MCT_flag, /* i  : hMCT handle allocated (1) or not (0)		Q0*/
    Word16 *nbits_start    /* o  : nbits start								Q0*/
);

void writeTCXWindowing(
void writeTCXWindowing_fx(
    BSTR_ENC_HANDLE hBstr,    /* i/o: bitstream handle				*/
    const int16_t overlap_mode /* i  : overlap mode                */
    const Word16 overlap_mode /* i  : overlap mode					Q0*/
);

void writeLPCparam(
+24 −24
Original line number Diff line number Diff line
@@ -9926,14 +9926,14 @@ void tcx_scalar_quantization_ivas_fx(
    Word8 const *memQuantZeros_fx, /* i: coefficients to be set to 0   */
    const Word16 alfe_flag );
Word16 RCcontextMapping_encode2_estimate_no_mem_s17_LCS(
    Word16 *x,       /* Spectral coefficients */
    const Word16 nt, /* L - size of spectrum (no. of spectral coefficients) */
    Word16 *lastnz_out,
    Word16 *nEncoded,    /* No. of spectral coefficients that can be coded without an overflow occuring */
    const Word16 target, /* Target bits */
    Word16 *stop,
    Word16 mode,
Word16 RCcontextMapping_encode2_estimate_no_mem_s17_LCS_fx(
    Word16 *x,                /* Spectral coefficients Q0*/
    const Word16 nt,          /* L - size of spectrum (no. of spectral coefficients)		Q0*/
    Word16 *lastnz_out,       /* Q0 */
    Word16 *nEncoded,         /* No. of spectral coefficients that can be coded without an overflow occuring Q0*/
    const Word16 target,      /* Target bits		Q0*/
    Word16 *stop,             /* Q0 */
    Word16 mode,              /* Q0 */
    CONTEXT_HM_CONFIG *hm_cfg /* context-based harmonic model configuration */
);
@@ -10957,11 +10957,11 @@ Word16 get_next_coeff_mapped_ivas_fx(
void RCcontextMapping_encode2_no_mem_s17_LCS_fx(
    BSTR_ENC_HANDLE hBstr,    /* i/o: bitstream handle            */
    Word16 *x,
    const Word16 nt,
    Word16 lastnz,
    const Word16 nbbits,
    const Word16 resQMaxBits,
    Word16 *x,                /* Q0 */
    const Word16 nt,          /* Q0 */
    Word16 lastnz,            /* Q0 */
    const Word16 nbbits,      /* Q0 */
    const Word16 resQMaxBits, /* Q0 */
    CONTEXT_HM_CONFIG *hm_cfg );
void writeTCXparam_fx(
@@ -11083,14 +11083,14 @@ Word16 msvq_stage1_dct_recalc_candidates_fdcng_wb_fx(
void FEC_encode_ivas_fx(
    BSTR_ENC_HANDLE hBstr,        /* i/o: encoder bitstream handle									*/
    const ACELP_config acelp_cfg, /* i/o: configuration of the ACELP								*/
    const Word16 *synth,          /* i  : pointer to synthesized speech for E computation */
    const Word16 coder_type,      /* i  : type of coder                                   */
    Word16 clas,                  /* i  : signal clas for current frame                   */
    const Word16 *synth,          /* i  : pointer to synthesized speech for E computation	 Q_Synth*/
    const Word16 coder_type,      /* i  : type of coder											  Q0*/
    Word16 clas,                  /* i  : signal clas for current frame							  Q0*/
    const Word16 *fpit,           /* i  : close loop fractional pitch buffer					  Q6*/
    const Word16 *res,            /* i  : LP residual signal frame                        */
    Word16 *last_pulse_pos,       /* i/o: Position of the last pulse                      */
    const Word16 L_frame,         /* i  : Frame length                                    */
    const Word32 total_brate,     /* i  : total codec bitrate                             */
    const Word16 *res,            /* i  : LP residual signal frame								  Qx*/
    Word16 *last_pulse_pos,       /* i/o: Position of the last pulse							  Q0*/
    const Word16 L_frame,         /* i  : Frame length											  Q0*/
    const Word32 total_brate,     /* i  : total codec bitrate									  Q0*/
    const Word16 Q_synth          /* i  : input scaling                                   */
);
Loading