diff --git a/lib_com/options.h b/lib_com/options.h index 60447f9d398df1635c473a5b705d575f617adca5..037851564508e88142cd4fc991570b9f365521d7 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -103,6 +103,8 @@ #define FIX_1904_HARM_GSC_ENC /* VA: #1904 Harmonization of EVS and IVAS GSC code */ #define FIX_2271_OOB_INDEXING_IN_PIT_OL2 /* VA: Fix for issue 2271, to silence clang18 */ +#define FIX_CLANG_18_ENC /* VA: Fix some encoder clang-18 warnings */ + /* #################### End BE switches ################################## */ /* #################### Start NON-BE switches ############################ */ diff --git a/lib_enc/avq_cod_fx.c b/lib_enc/avq_cod_fx.c index 253c05956aa1c9f71deecfa9fc5c376d238924b7..3d88315c9ba5e7d9f38a51b8529564dba2bc743d 100644 --- a/lib_enc/avq_cod_fx.c +++ b/lib_enc/avq_cod_fx.c @@ -609,7 +609,11 @@ void AVQ_cod_lpc_fx( Word16 i, l, pos; Word32 I; Word32 x1[8]; +#ifdef FIX_CLANG_18_ENC + UWord16 I16 = 0; +#else UWord16 I16; +#endif /* quantize all subvector using estimated gain */ diff --git a/lib_enc/ext_sig_ana_fx.c b/lib_enc/ext_sig_ana_fx.c index c3958e543691816892627449daaefde7c8b388bf..4a47f7aeca8c404f802dcf8893d00e104d5bd2fb 100644 --- a/lib_enc/ext_sig_ana_fx.c +++ b/lib_enc/ext_sig_ana_fx.c @@ -1132,7 +1132,11 @@ void core_signal_analysis_high_bitrate_ivas_fx( IF( EQ_16( transform_type[frameno], TCX_20 ) && NE_16( st->hTcxCfg->tcx_last_overlap_mode, TRANSITION_OVERLAP ) ) { Word16 Q; +#ifdef FIX_CLANG_18_ENC + Copy_Scale_sig_16_32_no_sat( mdstWin, L_tmpbuf, L_subframe, 16 ); +#else Copy_Scale_sig_16_32_no_sat( mdstWin, L_tmpbuf, N_MAX + L_MDCT_OVLP_MAX, 16 ); +#endif Q = add( q_mdstWin, 16 ); move16(); diff --git a/lib_enc/ivas_core_enc_fx.c b/lib_enc/ivas_core_enc_fx.c index 2ee800325cef8975c0e7de509bf72419d0120ab9..812cf31da81e4549e003f506456d1f0c0c5d053e 100644 --- a/lib_enc/ivas_core_enc_fx.c +++ b/lib_enc/ivas_core_enc_fx.c @@ -116,6 +116,9 @@ ivas_error ivas_core_enc_fx( { set_zero_fx( bwe_exc_extended_fx[i], L_FRAME32k + NL_BUFF_OFFSET ); set16_fx( old_syn_12k8_16k_fx[i], 0, L_FRAME16k ); +#ifdef FIX_CLANG_18_ENC + set16_fx( voice_factors_fx[i], 0, NB_SUBFR16k ); +#endif } push_wmops( "ivas_core_enc" ); diff --git a/lib_enc/ivas_cpe_enc_fx.c b/lib_enc/ivas_cpe_enc_fx.c index a610d0dfce90d3badb8540dbb3b50a3e8cf3efd9..caa2a0c51f002b6d8168199bc99341b1eefac22b 100644 --- a/lib_enc/ivas_cpe_enc_fx.c +++ b/lib_enc/ivas_cpe_enc_fx.c @@ -336,6 +336,14 @@ ivas_error ivas_cpe_enc_fx( Word16 q_band_energies_LR; Word16 q_fr_bands[2], q_lf_E[2]; +#ifdef FIX_CLANG_18_ENC + q_band_energies_LR = 0; + q_lf_E[0] = 0; + q_lf_E[1] = 0; + move16(); + move16(); + move16(); +#endif IF( NE_32( ( error = front_vad_fx( hCPE, NULL, hEncoderConfig, &hCPE->hFrontVad[0], st_ivas->hMCT != NULL, input_frame, vad_flag_dtx, fr_bands_fx, q_fr_bands, Etot_LR_fx, lf_E_fx, q_lf_E, localVAD_HE_SAD, vad_hover_flag, band_energies_LR_fx, &q_band_energies_LR, NULL, NULL, NULL, Q_inp, Q_buffer, Q_add, &front_create_flag ) ),