Loading lib_com/gs_gains_fx.c +41 −31 Original line number Diff line number Diff line Loading @@ -1193,7 +1193,10 @@ Word16 gsc_gaindec_ivas_fx( /* o : average frequenc *--------------------------------------------------------------------------------------*/ idx_g_fx = (Word16) get_next_indice_fx( st_fx, 5 ); VDQ_vec_fx( y_gainQ_fx, YGain_mean_LR_fx, YGain_dic1_LR_fx, idx_g_fx, 3 ); #ifdef FIX_2312_CONDITION_MISSING_GSC_DEC_LR IF( !( coder_type == INACTIVE && st_fx->tdm_LRTD_flag == 0 && EQ_16( st_fx->idchan, 1 ) ) || GT_32( st_fx->core_brate, GSC_LRES_GAINQ_LIMIT ) ) { #endif idx_g_fx = (Word16) get_next_indice_fx( st_fx, 5 ); VDQ_vec_fx( y_gainQ_fx + 3, YGain_mean_LR_fx + 3, YGain_dic2_LR_fx, idx_g_fx, 4 ); Loading Loading @@ -1232,6 +1235,13 @@ Word16 gsc_gaindec_ivas_fx( /* o : average frequenc move16(); y_gainQ_fx[14] = y_gain_tmp3_fx[3]; /*Q12*/ move16(); #ifdef FIX_2312_CONDITION_MISSING_GSC_DEC_LR } ELSE { set16_fx( y_gainQ_fx + 3, 0, MBANDS_GN16k - 3 ); } #endif } ELSE { Loading lib_com/int_lsp_fx.c +11 −3 Original line number Diff line number Diff line Loading @@ -132,6 +132,12 @@ void int_lsp4_fx( { pt_int_coeffs = interpol_frac_mid_relaxprev_pred_12k8_fx; /*Q15*/ } #ifdef HARM_LSF_ENC ELSE IF( EQ_16( relax_prev_lsf_interp, -2 ) ) { pt_int_coeffs = interpol_frac2_mid_fx; /*Q15*/ } #endif ELSE { pt_int_coeffs = interpol_frac_mid_fx; /*Q15*/ Loading Loading @@ -177,6 +183,7 @@ void int_lsp4_fx( return; } #ifndef HARM_LSF_ENC void int_lsp4_ivas_fx( const Word16 L_frame, /* i : length of the frame */ Loading Loading @@ -257,3 +264,4 @@ void int_lsp4_ivas_fx( return; } #endif lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ #define CLEANUP_VBR_CAM_ENC /* VA: basop issue 2299: Remove unused core-encoder VBR and CAM code */ #define FIX_1494_SET_SPLITBFI_UNUSED /* Dolby: Fix issue 1494, remove unused function setting BFI flag in ISAR renderer */ #define FIX_1479_MSAN_SPAR_UNINITIALIZED_VALUE /* Dolby: Fix for issue 1479, MSAN error due to uninitialized value in SPAR */ #define HARM_LSF_ENC /* VA: basop issue 2301: Remove duplicated code in LSF quantizer */ /* #################### End BE switches ################################## */ Loading @@ -138,6 +139,7 @@ #define FIX_2257_INCR_GUARD_BITS /* FhG: take correct rendering frame-size into account for guard-bits calculation */ #define FIX_2297_SBA_SCALING_32KHZ /* VA: basop issue 2297: Fix scaling factor before the SBA decoder for output_Fs = 32 or 16 */ #define FIX_2315_AGC_MEMORY_RESET /* VA: basop issue 2315: fix reset of the AGC memory */ #define FIX_2312_CONDITION_MISSING_GSC_DEC_LR /* VA: basop issue 2297: addition of condition missing in the GSC gain decoder at low-rate */ /* ##################### End NON-BE switches ########################### */ Loading lib_com/prot_fx.h +2 −1 Original line number Diff line number Diff line Loading @@ -1670,6 +1670,7 @@ void int_lsp4_fx( Word16 relax_prev_lsf_interp /* i : relax prev frame lsf interp after erasure */ ); #ifndef HARM_LSF_ENC void int_lsp4_ivas_fx( const Word16 L_frame, /* i : length of the frame */ const Word16 lsp_old[], /* i : LSPs from past frame Q15*/ Loading @@ -1679,7 +1680,7 @@ void int_lsp4_ivas_fx( const Word16 m, /* i : order of LP filter */ Word16 relax_prev_lsf_interp /* i : relax prev frame lsf interp after erasure */ ); #endif void de_interleave_spectrum_fx( Word32 *coefs, /* i/o: i and output coefficients Q? */ const Word16 length /* i : length of spectrum Q0 */ Loading lib_com/stat_noise_uv_mod_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -614,7 +614,11 @@ void stat_noise_uv_mod_ivas_fx( mult( sub( 32767, beta ), lspnew_s[i] ) ); } #ifdef HARM_LSF_ENC int_lsp4_fx( L_FRAME, oldlsp_mix, midlsp_mix, newlsp_mix, Aq, M, 0 ); #else int_lsp4_ivas_fx( L_FRAME, oldlsp_mix, midlsp_mix, newlsp_mix, Aq, M, 0 ); #endif Copy( lspnew_s, lspold_s, M ); } ELSE /* (unvoiced_vad != 0) */ Loading Loading
lib_com/gs_gains_fx.c +41 −31 Original line number Diff line number Diff line Loading @@ -1193,7 +1193,10 @@ Word16 gsc_gaindec_ivas_fx( /* o : average frequenc *--------------------------------------------------------------------------------------*/ idx_g_fx = (Word16) get_next_indice_fx( st_fx, 5 ); VDQ_vec_fx( y_gainQ_fx, YGain_mean_LR_fx, YGain_dic1_LR_fx, idx_g_fx, 3 ); #ifdef FIX_2312_CONDITION_MISSING_GSC_DEC_LR IF( !( coder_type == INACTIVE && st_fx->tdm_LRTD_flag == 0 && EQ_16( st_fx->idchan, 1 ) ) || GT_32( st_fx->core_brate, GSC_LRES_GAINQ_LIMIT ) ) { #endif idx_g_fx = (Word16) get_next_indice_fx( st_fx, 5 ); VDQ_vec_fx( y_gainQ_fx + 3, YGain_mean_LR_fx + 3, YGain_dic2_LR_fx, idx_g_fx, 4 ); Loading Loading @@ -1232,6 +1235,13 @@ Word16 gsc_gaindec_ivas_fx( /* o : average frequenc move16(); y_gainQ_fx[14] = y_gain_tmp3_fx[3]; /*Q12*/ move16(); #ifdef FIX_2312_CONDITION_MISSING_GSC_DEC_LR } ELSE { set16_fx( y_gainQ_fx + 3, 0, MBANDS_GN16k - 3 ); } #endif } ELSE { Loading
lib_com/int_lsp_fx.c +11 −3 Original line number Diff line number Diff line Loading @@ -132,6 +132,12 @@ void int_lsp4_fx( { pt_int_coeffs = interpol_frac_mid_relaxprev_pred_12k8_fx; /*Q15*/ } #ifdef HARM_LSF_ENC ELSE IF( EQ_16( relax_prev_lsf_interp, -2 ) ) { pt_int_coeffs = interpol_frac2_mid_fx; /*Q15*/ } #endif ELSE { pt_int_coeffs = interpol_frac_mid_fx; /*Q15*/ Loading Loading @@ -177,6 +183,7 @@ void int_lsp4_fx( return; } #ifndef HARM_LSF_ENC void int_lsp4_ivas_fx( const Word16 L_frame, /* i : length of the frame */ Loading Loading @@ -257,3 +264,4 @@ void int_lsp4_ivas_fx( return; } #endif
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -119,6 +119,7 @@ #define CLEANUP_VBR_CAM_ENC /* VA: basop issue 2299: Remove unused core-encoder VBR and CAM code */ #define FIX_1494_SET_SPLITBFI_UNUSED /* Dolby: Fix issue 1494, remove unused function setting BFI flag in ISAR renderer */ #define FIX_1479_MSAN_SPAR_UNINITIALIZED_VALUE /* Dolby: Fix for issue 1479, MSAN error due to uninitialized value in SPAR */ #define HARM_LSF_ENC /* VA: basop issue 2301: Remove duplicated code in LSF quantizer */ /* #################### End BE switches ################################## */ Loading @@ -138,6 +139,7 @@ #define FIX_2257_INCR_GUARD_BITS /* FhG: take correct rendering frame-size into account for guard-bits calculation */ #define FIX_2297_SBA_SCALING_32KHZ /* VA: basop issue 2297: Fix scaling factor before the SBA decoder for output_Fs = 32 or 16 */ #define FIX_2315_AGC_MEMORY_RESET /* VA: basop issue 2315: fix reset of the AGC memory */ #define FIX_2312_CONDITION_MISSING_GSC_DEC_LR /* VA: basop issue 2297: addition of condition missing in the GSC gain decoder at low-rate */ /* ##################### End NON-BE switches ########################### */ Loading
lib_com/prot_fx.h +2 −1 Original line number Diff line number Diff line Loading @@ -1670,6 +1670,7 @@ void int_lsp4_fx( Word16 relax_prev_lsf_interp /* i : relax prev frame lsf interp after erasure */ ); #ifndef HARM_LSF_ENC void int_lsp4_ivas_fx( const Word16 L_frame, /* i : length of the frame */ const Word16 lsp_old[], /* i : LSPs from past frame Q15*/ Loading @@ -1679,7 +1680,7 @@ void int_lsp4_ivas_fx( const Word16 m, /* i : order of LP filter */ Word16 relax_prev_lsf_interp /* i : relax prev frame lsf interp after erasure */ ); #endif void de_interleave_spectrum_fx( Word32 *coefs, /* i/o: i and output coefficients Q? */ const Word16 length /* i : length of spectrum Q0 */ Loading
lib_com/stat_noise_uv_mod_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -614,7 +614,11 @@ void stat_noise_uv_mod_ivas_fx( mult( sub( 32767, beta ), lspnew_s[i] ) ); } #ifdef HARM_LSF_ENC int_lsp4_fx( L_FRAME, oldlsp_mix, midlsp_mix, newlsp_mix, Aq, M, 0 ); #else int_lsp4_ivas_fx( L_FRAME, oldlsp_mix, midlsp_mix, newlsp_mix, Aq, M, 0 ); #endif Copy( lspnew_s, lspold_s, M ); } ELSE /* (unvoiced_vad != 0) */ Loading