Commit fe38daf8 authored by vaclav's avatar vaclav
Browse files

HARM_CORE_SW, decoder step 5 (core_switching_post_dec)

parent 30d03cfe
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -7830,6 +7830,7 @@ ivas_error core_switching_pre_dec_fx(
);
ivas_error core_switching_post_dec_fx(
#ifndef HARM_CORE_SW
    Decoder_State *st_fx,             /* i/o: decoder state structure     */
    Word16 *synth,                    /* i/o: output synthesis Qsynth     Qsynth*/
    const Word16 output_frame,        /* i  : frame length                Q0*/
@@ -7839,6 +7840,7 @@ ivas_error core_switching_post_dec_fx(
);
ivas_error core_switching_post_dec_ivas_fx(
#endif
    Decoder_State *st_fx,               /* i/o: decoder state structure                                                           */
    Word16 *synth,                      /* i/o: output synthesis                                                            Qsynth*/
    Word32 *output_fx,                  /* i/o: LB synth/upsampled LB synth                                                     Q4*/
+6 −1
Original line number Diff line number Diff line
@@ -911,7 +911,7 @@ ivas_error core_switching_pre_dec_fx(

    return error;
}
#endif


/*---------------------------------------------------------------------*
 * core_switching_post_dec()
@@ -1300,8 +1300,13 @@ ivas_error core_switching_post_dec_fx(

    return error;
}
#endif

#ifdef HARM_CORE_SW
ivas_error core_switching_post_dec_fx(
#else
ivas_error core_switching_post_dec_ivas_fx(
#endif
    Decoder_State *st_fx,               /* i/o: decoder state structure                                                           */
    Word16 *synth,                      /* i/o: output synthesis                                                            Qsynth*/
    Word32 *output_fx,                  /* i/o: LB synth/upsampled LB synth                                                     Q4*/
+1 −1
Original line number Diff line number Diff line
@@ -351,7 +351,7 @@ ivas_error evs_dec_fx(
         *---------------------------------------------------------------------*/

#ifdef HARM_CORE_SW
        if ( ( error = core_switching_post_dec_ivas_fx( st_fx, synth_fx, NULL, NULL, 0, output_frame, core_switching_flag, 0, 1, EVS_MONO, &Qpostd ) ) != IVAS_ERR_OK )
        if ( ( error = core_switching_post_dec_fx( st_fx, synth_fx, NULL, NULL, 0, output_frame, core_switching_flag, 0, 1, EVS_MONO, &Qpostd ) ) != IVAS_ERR_OK )
#else
        if ( ( error = core_switching_post_dec_fx( st_fx, synth_fx, output_frame, core_switching_flag, EVS_MONO, &Qpostd ) ) != IVAS_ERR_OK )
#endif
+4 −0
Original line number Diff line number Diff line
@@ -930,7 +930,11 @@ ivas_error ivas_core_dec_fx(
            Copy_Scale_sig_16_32_no_sat( synth_16_fx[n], hSCE->save_synth_fx, output_frame, sub( hSCE->q_save_synth_fx, Q_synth ) ); // q_save_synth_fx
        }

#ifdef HARM_CORE_SW
        IF( NE_32( ( error = core_switching_post_dec_fx( st, synth_16_fx[n], output_32_fx[n], p_output_mem_16, use_cldfb_for_dft, output_frame, 0 /*core_switching_flag*/, sba_dirac_stereo_flag, nchan_out, last_element_mode, &Q_synth ) ), IVAS_ERR_OK ) )
#else
        IF( NE_32( ( error = core_switching_post_dec_ivas_fx( st, synth_16_fx[n], output_32_fx[n], p_output_mem_16, use_cldfb_for_dft, output_frame, 0 /*core_switching_flag*/, sba_dirac_stereo_flag, nchan_out, last_element_mode, &Q_synth ) ), IVAS_ERR_OK ) )
#endif
        {
            return error;
        }
+5 −0
Original line number Diff line number Diff line
@@ -363,7 +363,12 @@ ivas_error ivas_mct_dec_fx(
            {
                dirac_stereo_flag = 0;
            }

#ifdef HARM_CORE_SW
            IF( NE_32( ( error = core_switching_post_dec_fx( sts[n], synth_fx[n], output_fx[( cpe_id * CPE_CHANNELS ) + n], output_mem_fx, 0, output_frame, 0 /*core_switching_flag*/, dirac_stereo_flag, -1, hCPE->last_element_mode, &Q_synth ) ), IVAS_ERR_OK ) )
#else
            IF( NE_32( ( error = core_switching_post_dec_ivas_fx( sts[n], synth_fx[n], output_fx[( cpe_id * CPE_CHANNELS ) + n], output_mem_fx, 0, output_frame, 0 /*core_switching_flag*/, dirac_stereo_flag, -1, hCPE->last_element_mode, &Q_synth ) ), IVAS_ERR_OK ) )
#endif
            {
                return error;
            }