Commit db6c8fd6 authored by Vladimir Malenovsky's avatar Vladimir Malenovsky
Browse files

Merge branch 'main' into...

Merge branch 'main' into basop-2298-port-float-mr-2468-swb-tbe-fix-constant-in-create_random_vector-to-allow-more-reliable
parents 534acaaa f4115b1a
Loading
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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 ################################## */

+8 −0
Original line number Diff line number Diff line
@@ -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 */
+4 −0
Original line number Diff line number Diff line
@@ -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
+5 −0
Original line number Diff line number Diff line
@@ -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 ) )
+14 −3
Original line number Diff line number Diff line
@@ -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