Commit 868071a6 authored by Nishant S Kulgod's avatar Nishant S Kulgod
Browse files

commit 3

parent f13e6e6b
Loading
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -808,6 +808,7 @@ float getTcxBandwidth_flt(
    return tcxBandwidth;
}

#ifndef IVAS_FLOAT_FIXED
/*-------------------------------------------------------------------*
 * getIgfPresent()
 *
@@ -905,7 +906,7 @@ int16_t getIgfPresent(

    return igfPresent;
}

#else
Word16 getIgfPresent_fx(
    const Word16 element_mode, /* i  : IVAS element mode           */
    const Word32 total_brate,  /* i  : total bitrate               */
@@ -1009,6 +1010,8 @@ Word16 getIgfPresent_fx(

    return igfPresent;
}
#endif

/*-------------------------------------------------------------------*
 * getCnaPresent()
 *
+54 −54
Original line number Diff line number Diff line
@@ -70,9 +70,11 @@ void stereo_dmx_evs_enc(
);

/*! r: number of channels to be analysed */
#ifndef IVAS_FLOAT_FIXED
int16_t getNumChanAnalysis(
    Encoder_Struct *st_ivas                                     /* i  : IVAS encoder structure                  */
);
#endif

void copy_encoder_config(
    Encoder_Struct *st_ivas,                                    /* i  : IVAS encoder structure                  */
@@ -964,8 +966,8 @@ void smooth_dft2td_transition(

void smooth_dft2td_transition_fx(
    CPE_DEC_HANDLE hCPE,             /* i/o: CPE decoder structure			 */
  Word32 *output_fx[CPE_CHANNELS], /* i/o: synthesis @external Fs       */
  const Word16 output_frame   /* i  : output frame lenght          */
    Word32 *output_fx[CPE_CHANNELS], /* i/o: synthesis @external Fs       Q11*/
    const Word16 output_frame        /* i  : output frame lenght           Q0*/
);
/*! r: flag indicating a valid bitrate */
int16_t is_IVAS_bitrate(
@@ -2318,7 +2320,7 @@ int16_t stereo_dft_band_config(
    const int16_t NFFT,                                         /* i  : analysis/synthesis window length        */
    const int16_t enc_dec                                       /* i  : flag to indicate enc vs dec             */
);

#ifndef IVAS_FLOAT_FIXED
void stereo_td_itd(
    ITD_DATA *hITD,                                             /* i/o: ITD data structure                      */
    float input_mem_itd[CPE_CHANNELS][STEREO_DFT_OVL_MAX],      /* o  : ITD memory (only used in DFT Stereo)    */
@@ -2328,6 +2330,7 @@ void stereo_td_itd(
    const int16_t input_frame,                                  /* i  : input frame length                      */
    float *input_mem[CPE_CHANNELS]                              /* i/o: input buffer memory                     */
);
#endif

void stereo_dft_dmx_out_reset(
    STEREO_DFT_DMX_DATA_HANDLE hStereoDftDmx                    /* i/o: DFT stereo DMX decoder                  */
@@ -2633,13 +2636,15 @@ int16_t select_stereo_mode(
    const IVAS_FORMAT ivas_format                               /* i  : IVAS format                                     */
);

#ifndef IVAS_FLOAT_FIXED
void stereo_classifier_init(
    STEREO_CLASSIF_HANDLE hStereoClassif                        /* i/o: stereo classifier structure                     */
);

#else
void stereo_classifier_init_fx(
  STEREO_CLASSIF_HANDLE hStereoClassif                        /* i/o: stereo classifier structure                     */
);
#endif

void stereo_classifier_features(
    STEREO_CLASSIF_HANDLE hStereoClassif,                       /* i/o: stereo classifier structure                     */
@@ -2754,7 +2759,7 @@ void stereo_td_init_dec(

void stereo_td_init_dec_fx(
  STEREO_TD_DEC_DATA_HANDLE hStereoTD,                        /* i/o: TD stereo decoder handle                */
  const Word16 last_element_mode                             /* i  : last element mode                       */
  const Word16 last_element_mode                             /* i  : last element mode                       Q0*/
);

void tdm_configure_dec(
@@ -2778,15 +2783,15 @@ void tdm_upmix_plain(
);

void tdm_upmix_plain_fx(
  Word32 Left_fx[],                 /* o  : left channel            */
  Word32 Right_fx[],                /* o  : right channel           */
  const Word32 PCh_2_L_fx[],        /* i  : primary channel         */
  const Word32 SCh_2_R_fx[],        /* i  : secondary channel       */
  const Word32 LR_ratio_fx,         /* i  : mixing ratio            */
  const Word32 inv_den_LR_ratio_fx, /* i  : inverse mixing ration   */
  const Word16 start_index,    /* i  : start index             */
  const Word16 end_index,      /* i  : end index               */
  const Word16 plus_minus_flag /* i  : plus/minus flag         */
    Word32 Left_fx[],                 /* o  : left channel            Qx*/
    Word32 Right_fx[],                /* o  : right channel           Qx*/
    const Word32 PCh_2_L_fx[],        /* i  : primary channel         Qx*/
    const Word32 SCh_2_R_fx[],        /* i  : secondary channel       Qx*/
    const Word32 LR_ratio_fx,         /* i  : mixing ratio            Q31*/
    const Word32 inv_den_LR_ratio_fx, /* i  : inverse mixing ration   Q31*/
    const Word16 start_index,         /* i  : start index             Q0*/
    const Word16 end_index,           /* i  : end index               Q0*/
    const Word16 plus_minus_flag      /* i  : plus/minus flag         Q0*/
);

void stereo_tdm_combine(
@@ -2800,11 +2805,11 @@ void stereo_tdm_combine(

void stereo_tdm_combine_fx(
    CPE_DEC_HANDLE hCPE,       /* i/o: CPE decoder structure                       */
  Word32 *PCh_2_L_fx,         /* i/o: Primary channel -> output as left channel   */
  Word32 *SCh_2_R_fx,         /* i/o: Secondary channel -> output as right channel*/
  const Word16 output_frame, /* i  : Number of samples                           */
  const Word16 flag_HB,      /* i  : flag to distinguish between core (0) and HB (1) synthesis */
  const Word16 tdm_ratio_idx /* i  : TDM ratio index                             */
    Word32 *PCh_2_L_fx,        /* i/o: Primary channel -> output as left channel					Qx*/
    Word32 *SCh_2_R_fx,        /* i/o: Secondary channel -> output as right channel					Qx*/
    const Word16 output_frame, /* i  : Number of samples											Q0*/
    const Word16 flag_HB,      /* i  : flag to distinguish between core (0) and HB (1) synthesis	Q0*/
    const Word16 tdm_ratio_idx /* i  : TDM ratio index												Q0*/
);
#ifdef IVAS_FLOAT_FIXED
Word16 tdm_lp_comparison_fx(
@@ -2888,6 +2893,7 @@ void tdm_bit_alloc(
    const int16_t tdm_inst_ratio_idx                            /* i  : instantaneous correlation ratio index   */
);

#ifndef IVAS_FLOAT_FIXED
void td_stereo_param_updt(
    const float lsp_old_PCh[],                                  /* i  : primary channel old LSPs                */
    const float lsf_old_PCh[],                                  /* i  : primary channel old LSFs                */
@@ -2898,6 +2904,7 @@ void td_stereo_param_updt(
    const int16_t flag_ACELP16k,                                /* i  : ACELP@16kHz flag                        */
    const int16_t tdm_use_IAWB_Ave_lpc                          /* i  : flag to indicate the usage of mean inactive LP coefficients */
);
#endif

void gsc_enc(
    Encoder_State *st,                                          /* i/o: State structure                         */
@@ -2998,19 +3005,7 @@ void tdm_SCh_lsf_reuse_fx(
    const Word16 lsf_wgts_fx[M],                                /* i  : LSF weights                             */
    Word16 *beta_index                                          /* i/o: quantization index                      */
);
#endif


void tdm_SCh_lsf_reuse_ivas_fx(
    const Word16 enc_dec,       /* i  : encoder/decoder flag                */
    const Word32 element_brate, /* i  : element bitrate                     */
    Word16 lsf_new[M],            /* i/o: LSFs at the end of the frame        */
    Word16 lsp_new[M],            /* i/o: LSPs at the end of the frame        */
    const Word16 tdm_lsfQ_PCh[M], /* i  : primary channel LSFs (log2(2.56))   */
    const Word16 lsf_wgts[M],     /* i  : LSF weights Q15?                    */
    Word16 *beta_index          /* i/o: quantization index                  */
);

#else
void tdm_SCh_lsf_reuse(
    const int16_t enc_dec,                                      /* i  : encoder/decoder flag                    */
    const int32_t element_brate,                                /* i  : element bitrate                         */
@@ -3020,6 +3015,7 @@ void tdm_SCh_lsf_reuse(
    const float lsf_wgts[M],                                    /* i  : LSF weights                             */
    int16_t *beta_index                                         /* i/o: quantization index                      */
);
#endif

void first_VQstages(
    const float *const *cb,
@@ -3667,8 +3663,8 @@ void applyDmxMdctStereo(

void applyDmxMdctStereo_fx(
  const CPE_DEC_HANDLE hCPE,                                  /* i  : CPE handle								   */
  Word32 *output_fx[CPE_CHANNELS],                                /* o  : output from core decoder                */
  const Word16 output_frame                                  /* i  : output frame length                     */
  Word32 *output_fx[CPE_CHANNELS],                            /* o  : output from core decoder                q_out*/
  const Word16 output_frame                                   /* i  : output frame length						 Q0*/
);


@@ -4108,7 +4104,7 @@ void stereo_switching_enc(
#endif
void stereo_switching_dec(
    CPE_DEC_HANDLE hCPE,                                        /* i/o: CPE decoder structure                   */
    const int32_t ivas_total_brate                              /* i  : IVAS total bitrate                      */
    const Word32 ivas_total_brate                               /* i  : IVAS total bitrate                    Q0*/
);

void stereo_td2dft_update(
@@ -4122,11 +4118,11 @@ void stereo_td2dft_update(

void stereo_td2dft_update_fx(
    CPE_DEC_HANDLE hCPE,      /* i/o: CPE decoder structure     */
  const Word16 n,           /* i  : channel number          */
  Word32 output_fx[],            /* i/o: synthesis @internal Fs  */
  Word32 synth_fx[],             /* i/o: synthesis @output Fs    */
  Word32 hb_synth_fx[],          /* i/o: hb synthesis            */
  const Word16 output_frame /* i  : frame length            */
    const Word16 n,           /* i  : channel number          Q0*/
    Word32 output_fx[],       /* i/o: synthesis @internal Fs  Q11*/
    Word32 synth_fx[],        /* i/o: synthesis @output Fs    Q11*/
    Word32 hb_synth_fx[],     /* i/o: hb synthesis            Q11*/
    const Word16 output_frame /* i  : frame length            Q0*/
);
void stereo_mdct2dft_update(
    CPE_DEC_HANDLE hCPE,                                        /* i/o: CPE decoder structure                   */
@@ -4136,8 +4132,8 @@ void stereo_mdct2dft_update(

void stereo_mdct2dft_update_fx(
    CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure        */
  Word32 output0_fx[],     /* i/o: synthesis @internal Fs, ch0  */
  Word32 synth0_fx[]       /* i/o: synthesis @output Fs, ch0    */
    Word32 output0_fx[], /* i/o: synthesis @internal Fs, ch0  Q11*/
    Word32 synth0_fx[]   /* i/o: synthesis @output Fs, ch0    Q11*/
);
/*! r: number of bits written */
#ifdef IVAS_FLOAT_FIXED
@@ -5882,12 +5878,12 @@ void ivas_sba_mix_matrix_determiner(

/* AGC */
/*! r: AGC enable flag */
#ifndef IVAS_FLOAT_FIXED
int16_t ivas_agc_enc_get_flag(
    const int16_t nchan_transport                               /* i  : number of transport channels            */
);

#ifdef IVAS_FLOAT_FIXED
Word16 ivas_agc_enc_get_flag_fx(
#else
Word16 ivas_agc_enc_get_flag(
  const Word16 nchan_transport /* i  : number of transport channels            */
);
#endif
@@ -7164,9 +7160,11 @@ void ivas_masa_estimate_energy(
    const int16_t nchan_transport                               /* i  : number of MASA input/transport channels         */
);

#ifndef IVAS_FLOAT_FIXED
ivas_error ivas_masa_enc_config(
    Encoder_Struct* st_ivas                                     /* i/o: IVAS encoder structure                          */
);
#endif

void ivas_masa_set_elements(
    const int32_t ivas_total_brate,                             /* i  : codec total bitrate                             */
@@ -8077,9 +8075,11 @@ void ivas_omasa_enc_close(
    OMASA_ENC_HANDLE *hOMasa                                    /* i/o: encoder OMASA handle                    */
);

#ifndef IVAS_FLOAT_FIXED
ivas_error ivas_omasa_enc_config(
    Encoder_Struct *st_ivas                                     /* i/o: IVAS encoder structure                  */
);
#endif // !IVAS_FLOAT_FIXED

ivas_error ivas_omasa_dec_config(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                  */
@@ -8469,10 +8469,10 @@ void dequantize_sns_fx(
    Decoder_State **sts );

void inverseMS_fx(
    const Word16 L_frame,                                      /* i  : frame length                            */
    Word32 x0[],                                                 /* i/o: mid/left channel coefficients           */
    Word32 x1[],                                                 /* i/o: side/right channel coefficients         */
    const Word32 norm_fac                                        /* i  : normalization factor                    */
    const Word16 L_frame, /* i  : frame length						Q0*/
    Word32 x0[],          /* i/o: mid/left channel coefficients		Qx*/
    Word32 x1[],          /* i/o: side/right channel coefficients	Qx*/
    const Word32 norm_fac /* i  : normalization factor			   Q31*/
);

#endif
+13 −0
Original line number Diff line number Diff line
@@ -3467,4 +3467,17 @@ void ivas_omasa_encode_masa_to_total_fx(
    const Word16 low_bitrate_mode,
    const Word16 nbands,
    const Word16 nblocks );
ivas_error ivas_masa_enc_config_fx(
    Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */
);
ivas_error ivas_omasa_enc_config_fx(
    Encoder_Struct *st_ivas /* i/o: IVAS encoder structure                  */
);

void ivas_omasa_enc_close_fx(
    OMASA_ENC_HANDLE *hOMasa /* i/o: encoder OMASA handle */
);
ivas_error ivas_omasa_enc_open_fx(
    Encoder_Struct *st_ivas /* i/o: IVAS encoder handle          */
);
#endif
+1 −2
Original line number Diff line number Diff line
@@ -274,7 +274,7 @@ void ivas_spar_config_fx(
    }
    ELSE
    {
        *nchan_transport = ivas_get_sba_num_TCs( ivas_total_brate, sba_order );
        *nchan_transport = ivas_get_sba_num_TCs_fx( ivas_total_brate, sba_order );
        move16();
    }

@@ -460,7 +460,6 @@ int16_t ivas_get_sba_num_TCs(

    return nchan_transport;
}

#ifdef IVAS_FLOAT_FIXED
Word16 ivas_get_sba_num_TCs_fx(
    const Word32 ivas_total_brate, /* i  : IVAS total bitrate      */
+8 −7
Original line number Diff line number Diff line
@@ -918,7 +918,7 @@ return;
 *
 * copy certain TD stereo parameters from primary channel to secondary channel
 *-------------------------------------------------------------------*/

#ifndef IVAS_FLOAT_FIXED
void td_stereo_param_updt(
    const float lsp_old_PCh[],         /* i  : primary channel old LSPs            */
    const float lsf_old_PCh[],         /* i  : primary channel old LSFs            */
@@ -966,8 +966,7 @@ void td_stereo_param_updt(

    return;
}

#ifdef IVAS_FLOAT_FIXED
#else
void td_stereo_param_updt_fx(
    const Word16 lsp_old_PCh_fx[],    /* i  : primary channel old LSPs                                     Q15 */
    const Word16 lsf_old_PCh_fx[],    /* i  : primary channel old LSFs                             Qlog2(2.56) */
@@ -1334,7 +1333,7 @@ static void tdm_SCh_LSF_intra_pred_one_bit_dec_fx(

    return;
}
#endif
#else
/*-------------------------------------------------------------------*
 * tdm_SCh_LSF_intra_pred_one_bit_dec()
 *
@@ -1362,6 +1361,7 @@ static void tdm_SCh_LSF_intra_pred_one_bit_dec(

    return;
}
#endif

#ifdef IVAS_FLOAT_FIXED
/*-------------------------------------------------------------------*
@@ -1425,7 +1425,7 @@ static void tdm_SCh_LSF_intra_pred_one_bit_enc_fx(

    return;
}
#endif
#else
/*-------------------------------------------------------------------*
 * tdm_SCh_LSF_intra_pred_one_bit_enc()
 *
@@ -1474,6 +1474,7 @@ static void tdm_SCh_LSF_intra_pred_one_bit_enc(

    return;
}
#endif

#ifdef IVAS_FLOAT_FIXED
/*-------------------------------------------------------------------*
@@ -1526,8 +1527,7 @@ void tdm_SCh_lsf_reuse_fx(

    return;
}
#endif

#else
/*-------------------------------------------------------------------*
 * tdm_SCh_lsf_reuse()
 *
@@ -1578,3 +1578,4 @@ void tdm_SCh_lsf_reuse(

    return;
}
#endif
Loading