Commit d49a54e0 authored by vaclav's avatar vaclav
Browse files

fix IVAS decoding

parent c45a368e
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1206,7 +1206,7 @@ ivas_error core_switching_post_dec_fx(
                          hBWE_TD->syn_overlap_fx, hBWE_TD->state_syn_shbexc_fx, &( hBWE_TD->tbe_demph_fx ), &( hBWE_TD->tbe_premph_fx ), hBWE_TD->mem_stp_swb_fx, &( hBWE_TD->gain_prec_swb_fx ) );

        set16_fx( st_fx->GainShape_Delay, 0, NUM_SHB_SUBFR / 2 );
        swb_tbe_reset_synth_fx( hBWE_TD->genSHBsynth_Hilbert_Mem_fx, hBWE_TD->genSHBsynth_state_lsyn_filt_shb_local_fx, NULL );
        swb_tbe_reset_synth_fx( hBWE_TD->genSHBsynth_Hilbert_Mem_fx, hBWE_TD->genSHBsynth_state_lsyn_filt_shb_local_fx, hBWE_TD->genSHBsynth_state_lsyn_filt_shb_local_fx_32 );

        IF( EQ_16( output_frame, L_FRAME16k ) )
        {
+1 −1
Original line number Diff line number Diff line
@@ -907,7 +907,7 @@ ivas_error evs_dec_fx(
                            move16();
                            fb_tbe_reset_synth_fx( hBWE_TD->fbbwe_hpf_mem_fx, hBWE_TD->fbbwe_hpf_mem_fx_Q, &hBWE_TD->prev_fbbwe_ratio_fx );
                        }
                        swb_tbe_reset_synth_fx( hBWE_TD->genSHBsynth_Hilbert_Mem_fx, hBWE_TD->genSHBsynth_state_lsyn_filt_shb_local_fx, NULL );
                        swb_tbe_reset_synth_fx( hBWE_TD->genSHBsynth_Hilbert_Mem_fx, hBWE_TD->genSHBsynth_state_lsyn_filt_shb_local_fx, hBWE_TD->genSHBsynth_state_lsyn_filt_shb_local_fx_32 );
                    }
                }
            }
+5 −1
Original line number Diff line number Diff line
@@ -5154,13 +5154,17 @@ void TBEreset_dec_fx(
                          hBWE_TD->syn_overlap_fx, hBWE_TD->state_syn_shbexc_fx, &( hBWE_TD->tbe_demph_fx ),
                          &( hBWE_TD->tbe_premph_fx ), hBWE_TD->mem_stp_swb_fx, &( hBWE_TD->gain_prec_swb_fx ) );

        swb_tbe_reset_synth_fx( hBWE_TD->genSHBsynth_Hilbert_Mem_fx, hBWE_TD->genSHBsynth_state_lsyn_filt_shb_local_fx, NULL );
        swb_tbe_reset_synth_fx( hBWE_TD->genSHBsynth_Hilbert_Mem_fx, hBWE_TD->genSHBsynth_state_lsyn_filt_shb_local_fx, hBWE_TD->genSHBsynth_state_lsyn_filt_shb_local_fx_32 );

        set16_fx( st_fx->GainShape_Delay, 0, NUM_SHB_SUBFR / 2 );
        set16_fx( hBWE_TD->int_3_over_2_tbemem_dec_fx, 0, INTERP_3_2_MEM_LEN );
        set32_fx( hBWE_TD->int_3_over_2_tbemem_dec_fx_32, 0, INTERP_3_2_MEM_LEN );
        set16_fx( hBWE_TD->mem_resamp_HB_32k_fx, 0, 2 * ALLPASSSECTIONS_STEEP + 1 );
        set32_fx( hBWE_TD->mem_resamp_HB_32k_fx_32, 0, 2 * ALLPASSSECTIONS_STEEP + 1 );
        hBWE_TD->prev_pow_exc16kWhtnd_fx32 = 1; /* Q0 1.f */
        move32();
        hBWE_TD->prev_mix_factor_fx = 32767; /* Q15 1.f */
        move16();

        IF( EQ_16( st_fx->bwidth, FB ) )
        {
+1 −1
Original line number Diff line number Diff line
@@ -254,7 +254,7 @@ void updt_IO_switch_dec_fx(
                move32();
                hBWE_TD->prev_mix_factor_fx = 32767; /*Q15 1.f*/
                move16();
                swb_tbe_reset_synth_fx( hBWE_TD->genSHBsynth_Hilbert_Mem_fx, hBWE_TD->genSHBsynth_state_lsyn_filt_shb_local_fx, NULL );
                swb_tbe_reset_synth_fx( hBWE_TD->genSHBsynth_Hilbert_Mem_fx, hBWE_TD->genSHBsynth_state_lsyn_filt_shb_local_fx, hBWE_TD->genSHBsynth_state_lsyn_filt_shb_local_fx_32 );
            }

            IF( EQ_16( output_frame, L_FRAME48k ) )