Commit 96a0c742 authored by vaclav's avatar vaclav
Browse files

define hOMasa->direction_vector_m as a fixed 3D array (mallocs are unnecessary...

define hOMasa->direction_vector_m as a fixed 3D array (mallocs are unnecessary when the dimensions are constant)
parent 2ce222d9
Loading
Loading
Loading
Loading
+1 −21
Original line number Diff line number Diff line
@@ -120,17 +120,6 @@ ivas_error ivas_omasa_enc_open(
    }

    /* intensity 3-dim */
    for ( i = 0; i < DIRAC_NUM_DIMS; i++ )
    {
        hOMasa->direction_vector_m[i] = (float **) malloc( MAX_PARAM_SPATIAL_SUBFRAMES * sizeof( float * ) );

        for ( j = 0; j < MAX_PARAM_SPATIAL_SUBFRAMES; j++ )
        {
            hOMasa->direction_vector_m[i][j] = (float *) malloc( MASA_FREQUENCY_BANDS * sizeof( float ) );
            set_zero( hOMasa->direction_vector_m[i][j], MASA_FREQUENCY_BANDS );
        }
    }

    for ( i = 0; i < DIRAC_NUM_DIMS; i++ )
    {
        for ( j = 0; j < DIRAC_NO_COL_AVG_DIFF; j++ )
@@ -144,7 +133,7 @@ ivas_error ivas_omasa_enc_open(

    for ( i = 0; i < MAX_NUM_OBJECTS; i++ )
    {
        set_f( hOMasa->prev_object_dm_gains[i], sqrtf( 0.5f ), MASA_MAX_TRANSPORT_CHANNELS );
        set_f( hOMasa->prev_object_dm_gains[i], sqrtf( 0.5 ), MASA_MAX_TRANSPORT_CHANNELS );
    }
    set_zero( hOMasa->broadband_energy_sm, MAX_NUM_OBJECTS + MASA_MAX_TRANSPORT_CHANNELS );
    set_zero( hOMasa->broadband_energy_prev, MAX_NUM_OBJECTS + MASA_MAX_TRANSPORT_CHANNELS );
@@ -193,20 +182,11 @@ void ivas_omasa_enc_close(

    for ( i = 0; i < DIRAC_NUM_DIMS; i++ )
    {
        for ( j = 0; j < MAX_PARAM_SPATIAL_SUBFRAMES; j++ )
        {
            free( hOMasa->direction_vector_m[i][j] );
            hOMasa->direction_vector_m[i][j] = NULL;
        }

        for ( j = 0; j < DIRAC_NO_COL_AVG_DIFF; j++ )
        {
            free( hOMasa->buffer_intensity_real[i][j] );
            hOMasa->buffer_intensity_real[i][j] = NULL;
        }

        free( hOMasa->direction_vector_m[i] );
        hOMasa->direction_vector_m[i] = NULL;
    }

    free( hOMasa );
+1 −1
Original line number Diff line number Diff line
@@ -872,7 +872,7 @@ typedef struct ivas_omasa_enc_data_structure
    HANDLE_CLDFB_FILTER_BANK cldfbAnaEnc[MAX_NUM_OBJECTS];

    /* DirAC parameter estimation */
    float **direction_vector_m[DIRAC_NUM_DIMS]; /* Average direction vector */
    float direction_vector_m[DIRAC_NUM_DIMS][MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; /* Average direction vector */
    int16_t band_grouping[MASA_FREQUENCY_BANDS + 1];
    int16_t block_grouping[5];