Loading lib_com/options.h +7 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,13 @@ #define FIX_2334_HARM_CODER_MODIF /* VA: basop issue 2334 : harmonizing coder_modif_function */ #define FIX_FLOAT_1501_UNIT_VALUE_IN_OMASA /* Nokia: Fix float issue 1501, uninitialized value in ivas_masa_combine_directions for OMASA */ #define FIX_BASOP_2323_DIRAC_ENC_WRONG_INIT /* Nokia/FhG: basop issue 2323: Use correct init size */ #define FIX_BASOP_2324_MISSING_SET_TO_ZERO /* Nokia: basop issue 2324: Fix issue by setting the exponent to zero where it should be */ #define FIX_BASOP_2326_WRONG_SIG_LENGTH /* Nokia: basop issue 2326: Fix issue by using correct signal length in multiple places */ #define FIX_BASOP_2327_WRONG_LOOP_END /* Nokia: basop inssue 2327: Correct loop end to solve MSAN error */ #define FIX_BASOP_2328_MSAN_WRONG_ASSIGNMENT /* Nokia: basop issue 2328: Fix MSAN error by correcting the variable assignment */ #define FIX_BASOP_2329_UNINIT_VALUE /* Nokia: basop issue 2329: Fix issue by checking for structure instead of length */ #define FIX_BASOP_2332_ASAN_OVERFLOW_IN_EXT_DIRAC_REND /* Nokia: basop issue 2332: Uses predefined memory sizes instead computing wrong */ #define FIX_BASOP_2333_MCMASA_ANA_MEMORY_LEAK /* Nokia: basop issue 2333: Add missing free for direction_vector_e to ivas_mcmasa_ana_fx.c */ /* #################### End BE switches ################################## */ Loading lib_enc/ivas_mcmasa_enc_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -1021,6 +1021,14 @@ void ivas_mcmasa_param_est_enc_fx( move32(); hMcMasa->direction_vector_m_fx[2][block_m_idx][band_m_idx] = 0; move32(); #ifdef FIX_BASOP_2324_MISSING_SET_TO_ZERO hMcMasa->direction_vector_e[0][block_m_idx][band_m_idx] = 0; move16(); hMcMasa->direction_vector_e[1][block_m_idx][band_m_idx] = 0; move16(); hMcMasa->direction_vector_e[2][block_m_idx][band_m_idx] = 0; move16(); #endif } /* Reset variable */ Loading lib_rend/ivas_dirac_output_synthesis_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -211,7 +211,11 @@ ivas_error ivas_dirac_dec_output_synthesis_open_fx( { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC synthesis\n" ) ); } #ifdef FIX_BASOP_2328_MSAN_WRONG_ASSIGNMENT dirac_output_synthesis_state->cy_auto_diff_smooth_prev_len = imult1616( dirac_output_synthesis_params->max_band_decorr, hDirACRend->num_outputs_diff ); #else dirac_output_synthesis_state->cy_auto_dir_smooth_prev_len = imult1616( dirac_output_synthesis_params->max_band_decorr, hDirACRend->num_outputs_diff ); #endif move16(); } ELSE Loading lib_rend/ivas_dirac_rend_fx.c +5 −0 Original line number Diff line number Diff line Loading @@ -856,6 +856,11 @@ ivas_error ivas_dirac_alloc_mem_fx( /* Prototypes */ hDirAC_mem->proto_direct_buffer_f_fx = NULL; hDirAC_mem->proto_diffuse_buffer_f_fx = NULL; #ifdef FIX_BASOP_2329_UNINIT_VALUE hDirACRend->h_output_synthesis_psd_state.proto_direct_buffer_f_len = 0; hDirACRend->h_output_synthesis_psd_state.proto_diffuse_buffer_f_len = 0; hDirAC_mem->proto_diffuse_buffer_f_len = 0; #endif test(); test(); IF( NE_32( renderer_type, RENDERER_BINAURAL_PARAMETRIC ) && NE_32( renderer_type, RENDERER_BINAURAL_PARAMETRIC_ROOM ) && NE_32( renderer_type, RENDERER_STEREO_PARAMETRIC ) ) Loading lib_rend/ivas_mcmasa_ana_fx.c +14 −3 Original line number Diff line number Diff line Loading @@ -423,14 +423,25 @@ void ivas_mcmasa_ana_close( ( *hMcMasa )->direction_vector_m_fx[i][j] = NULL; } free( ( *hMcMasa )->direction_vector_m_fx[i] ); ( *hMcMasa )->direction_vector_m_fx[i] = NULL; #ifdef FIX_BASOP_2333_MCMASA_ANA_MEMORY_LEAK FOR( j = 0; j < MAX_PARAM_SPATIAL_SUBFRAMES; j++ ) { free( ( *hMcMasa )->direction_vector_e[i][j] ); ( *hMcMasa )->direction_vector_e[i][j] = NULL; } free( ( *hMcMasa )->direction_vector_e[i] ); ( *hMcMasa )->direction_vector_e[i] = NULL; #endif FOR( j = 0; j < DIRAC_NO_COL_AVG_DIFF; j++ ) { free( ( *hMcMasa )->buffer_intensity_real_fx[i][j] ); ( *hMcMasa )->buffer_intensity_real_fx[i][j] = NULL; } free( ( *hMcMasa )->direction_vector_m_fx[i] ); ( *hMcMasa )->direction_vector_m_fx[i] = NULL; } FOR( j = 0; j < DIRAC_NO_COL_AVG_DIFF; j++ ) Loading Loading
lib_com/options.h +7 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,13 @@ #define FIX_2334_HARM_CODER_MODIF /* VA: basop issue 2334 : harmonizing coder_modif_function */ #define FIX_FLOAT_1501_UNIT_VALUE_IN_OMASA /* Nokia: Fix float issue 1501, uninitialized value in ivas_masa_combine_directions for OMASA */ #define FIX_BASOP_2323_DIRAC_ENC_WRONG_INIT /* Nokia/FhG: basop issue 2323: Use correct init size */ #define FIX_BASOP_2324_MISSING_SET_TO_ZERO /* Nokia: basop issue 2324: Fix issue by setting the exponent to zero where it should be */ #define FIX_BASOP_2326_WRONG_SIG_LENGTH /* Nokia: basop issue 2326: Fix issue by using correct signal length in multiple places */ #define FIX_BASOP_2327_WRONG_LOOP_END /* Nokia: basop inssue 2327: Correct loop end to solve MSAN error */ #define FIX_BASOP_2328_MSAN_WRONG_ASSIGNMENT /* Nokia: basop issue 2328: Fix MSAN error by correcting the variable assignment */ #define FIX_BASOP_2329_UNINIT_VALUE /* Nokia: basop issue 2329: Fix issue by checking for structure instead of length */ #define FIX_BASOP_2332_ASAN_OVERFLOW_IN_EXT_DIRAC_REND /* Nokia: basop issue 2332: Uses predefined memory sizes instead computing wrong */ #define FIX_BASOP_2333_MCMASA_ANA_MEMORY_LEAK /* Nokia: basop issue 2333: Add missing free for direction_vector_e to ivas_mcmasa_ana_fx.c */ /* #################### End BE switches ################################## */ Loading
lib_enc/ivas_mcmasa_enc_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -1021,6 +1021,14 @@ void ivas_mcmasa_param_est_enc_fx( move32(); hMcMasa->direction_vector_m_fx[2][block_m_idx][band_m_idx] = 0; move32(); #ifdef FIX_BASOP_2324_MISSING_SET_TO_ZERO hMcMasa->direction_vector_e[0][block_m_idx][band_m_idx] = 0; move16(); hMcMasa->direction_vector_e[1][block_m_idx][band_m_idx] = 0; move16(); hMcMasa->direction_vector_e[2][block_m_idx][band_m_idx] = 0; move16(); #endif } /* Reset variable */ Loading
lib_rend/ivas_dirac_output_synthesis_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -211,7 +211,11 @@ ivas_error ivas_dirac_dec_output_synthesis_open_fx( { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC synthesis\n" ) ); } #ifdef FIX_BASOP_2328_MSAN_WRONG_ASSIGNMENT dirac_output_synthesis_state->cy_auto_diff_smooth_prev_len = imult1616( dirac_output_synthesis_params->max_band_decorr, hDirACRend->num_outputs_diff ); #else dirac_output_synthesis_state->cy_auto_dir_smooth_prev_len = imult1616( dirac_output_synthesis_params->max_band_decorr, hDirACRend->num_outputs_diff ); #endif move16(); } ELSE Loading
lib_rend/ivas_dirac_rend_fx.c +5 −0 Original line number Diff line number Diff line Loading @@ -856,6 +856,11 @@ ivas_error ivas_dirac_alloc_mem_fx( /* Prototypes */ hDirAC_mem->proto_direct_buffer_f_fx = NULL; hDirAC_mem->proto_diffuse_buffer_f_fx = NULL; #ifdef FIX_BASOP_2329_UNINIT_VALUE hDirACRend->h_output_synthesis_psd_state.proto_direct_buffer_f_len = 0; hDirACRend->h_output_synthesis_psd_state.proto_diffuse_buffer_f_len = 0; hDirAC_mem->proto_diffuse_buffer_f_len = 0; #endif test(); test(); IF( NE_32( renderer_type, RENDERER_BINAURAL_PARAMETRIC ) && NE_32( renderer_type, RENDERER_BINAURAL_PARAMETRIC_ROOM ) && NE_32( renderer_type, RENDERER_STEREO_PARAMETRIC ) ) Loading
lib_rend/ivas_mcmasa_ana_fx.c +14 −3 Original line number Diff line number Diff line Loading @@ -423,14 +423,25 @@ void ivas_mcmasa_ana_close( ( *hMcMasa )->direction_vector_m_fx[i][j] = NULL; } free( ( *hMcMasa )->direction_vector_m_fx[i] ); ( *hMcMasa )->direction_vector_m_fx[i] = NULL; #ifdef FIX_BASOP_2333_MCMASA_ANA_MEMORY_LEAK FOR( j = 0; j < MAX_PARAM_SPATIAL_SUBFRAMES; j++ ) { free( ( *hMcMasa )->direction_vector_e[i][j] ); ( *hMcMasa )->direction_vector_e[i][j] = NULL; } free( ( *hMcMasa )->direction_vector_e[i] ); ( *hMcMasa )->direction_vector_e[i] = NULL; #endif FOR( j = 0; j < DIRAC_NO_COL_AVG_DIFF; j++ ) { free( ( *hMcMasa )->buffer_intensity_real_fx[i][j] ); ( *hMcMasa )->buffer_intensity_real_fx[i][j] = NULL; } free( ( *hMcMasa )->direction_vector_m_fx[i] ); ( *hMcMasa )->direction_vector_m_fx[i] = NULL; } FOR( j = 0; j < DIRAC_NO_COL_AVG_DIFF; j++ ) Loading