Commit 6f454403 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Few functions in ivas_mct_dec_mct converted to fixed point.

Added changes for the following functions:
[x] indexToChannelPair()
[x] ivas_mct_dec_mct()
[x] applyGlobalILD()
[x] apply_MCT_dec()
[x] stereo_decoder_tcx()
parent 7ddadf2c
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -302,6 +302,7 @@
    <ClCompile Include="..\lib_dec\ivas_mct_core_dec.c" />
    <ClCompile Include="..\lib_dec\ivas_mct_dec.c" />
    <ClCompile Include="..\lib_dec\ivas_mct_dec_mct.c" />
    <ClCompile Include="..\lib_dec\ivas_mct_dec_mct_fx.c" />
    <ClCompile Include="..\lib_dec\ivas_mc_paramupmix_dec.c" />
    <ClCompile Include="..\lib_dec\ivas_mc_param_dec.c" />
    <ClCompile Include="..\lib_dec\ivas_mc_param_dec_fx.c" />
+2 −0
Original line number Diff line number Diff line
@@ -817,6 +817,8 @@
    <ClCompile Include="..\lib_dec\ivas_sns_dec_fx.c" />
    <ClCompile Include="..\lib_dec\lib_dec_fx.c">
      <Filter>decoder_all_c</Filter>
    <ClCompile Include="..\lib_dec\ivas_mct_dec_mct_fx.c">
      <Filter>decoder_ivas_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_dec\ivas_sce_dec_fx.c">
      <Filter>decoder_ivas_c</Filter>
+2 −0
Original line number Diff line number Diff line
@@ -2628,6 +2628,7 @@ int16_t write_stereo_to_bitstream
    BSTR_ENC_HANDLE hBstr                                       /* i/o: bitstream handle                        */
);

#ifndef IVAS_FLOAT_FIXED
void parse_stereo_from_bitstream(
    STEREO_MDCT_DEC_DATA_HANDLE hStereoMdct,                    /* i/o: MDCT stereo decoder structure           */
    Decoder_State **sts,                                        /* i/o: decoder state structure                 */
@@ -2636,6 +2637,7 @@ void parse_stereo_from_bitstream(
    Decoder_State *st0,                                         /* i/o: decoder state structure for Bstr        */
    int16_t ms_mask[NB_DIV][MAX_SFB]                            /* o  : bandwise MS mask                        */
);
#endif

void FindSplitRatio(
    CPE_ENC_HANDLE hCPE,                                        /* i/o: CPE encoder structure                   */
+49 −0
Original line number Diff line number Diff line
@@ -721,4 +721,53 @@ ivas_error ivas_ls_custom_output_init_fx(
ivas_error ivas_ls_custom_open_fx(
    LSSETUP_CUSTOM_HANDLE *hLsSetupCustom /* o  : Custom loudspeaker setup handle    */
);

// ivas_mct_dec_mct_fx.c
void ivas_mct_dec_mct_fx(
    MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure                   */
    Decoder_State **sts, /* i/o: decoder state structure                 */
    const Word16 nchan   /* i  : number of channels                      */
);

void apply_MCT_dec_fx(
    MCT_DEC_HANDLE hMCT,                 /* i/o: MCT decoder structure                   */
    Decoder_State **sts,                 /* i/o: decoder state structure                 */
    Word32 *x[MCT_MAX_CHANNELS][NB_DIV], /* i/o: decoded and dequan. spect. input to MCT */
    Word16 q_x[MCT_MAX_CHANNELS] );

void mctStereoIGF_dec_fx(
    MCT_DEC_HANDLE hMCT,                 /* i/o: MCT decoder structure           */
    Decoder_State **stm,                 /* i/o: decoder state structure         */
    Word32 *x[MCT_MAX_CHANNELS][NB_DIV], /* i/o: decoded and dequantized spectrum*/
    const Word16 bfi                     /* i  : bad frame flag                  */
);

// ivas_stereo_mdct_stereo_dec.c
void parse_stereo_from_bitstream(
    STEREO_MDCT_DEC_DATA_HANDLE hStereoMdct, /* i/o: MDCT stereo decoder structure   */
    Decoder_State **sts,                     /* i/o: decoder state structure         */
    const Word16 mct_on,                     /* i  : flag mct block (1) or stereo (0)*/
    const Word16 isSBAStereoMode,            /* i  : flag core coding for SBA        */
    Decoder_State *st0,                      /* i/o: decoder state structure for Bstr*/
    Word16 ms_mask[NB_DIV][MAX_SFB]          /* o  : bandwise MS mask                */
);

void stereo_decoder_tcx_fx(
    STEREO_MDCT_DEC_DATA *hStereoMdct, /* i/o: MDCT stereo decoder structure           */
    Word16 ms_mask[NB_DIV][MAX_SFB],   /* i  : bandwise MS mask                        */
    Word32 *spec_r_0[NB_DIV],          /* i/o: spectrum right channel                  */
    Word32 *spec_l[],                  /* i/o: spectrum left channel  [NB_DIV][N]      */
    Word32 *spec_r[],                  /* i/o: spectrum right channel [NB_DIV][N]      */
    const Word16 mdct_stereo_mode[],   /* i  : stereo mode (FB/band wise MS, dual mono */
    const Word16 core_l,               /* i  : core for left channel (TCX20/TCX10)     */
    const Word16 core_r,               /* i  : core for right channel (TCX20/TCX10)    */
    const Word16 igf,                  /* i  : flag for IGF activity                   */
    const Word16 L_frameTCX_l,         /* i  : TCX frame length of left channel        */
    const Word16 L_frameTCX_r,         /* i  : TCX frame length of right channel       */
    const Word16 mct_on,               /* i  : flag mct block (1) or stereo (0)        */
    const Word16 last_core_l,          /* i  : last core for left channel              */
    const Word16 last_core_r,          /* i  : last core for right channel             */
    const Word16 tmp_plc_upmix,        /* i  : indicates temp upmix for PLC decision   */
    Word16 *q_x_ch2,
    Word16 *q_x_ch1 );
#endif
+3 −0
Original line number Diff line number Diff line
@@ -287,6 +287,9 @@ ivas_error ivas_corecoder_dec_reconfig(
            st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->use_itd = 0;
            st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->reverse_dmx = 0;
            st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->smooth_ratio = 1.f;
#ifdef IVAS_FLOAT_FIXED
            st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->smooth_ratio_fx = ONE_IN_Q26;
#endif
            set_s( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->prev_ms_mask[0], 0, MAX_SFB );
            set_s( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->prev_ms_mask[1], 0, MAX_SFB );
            st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->lastCoh = 1.f;
Loading