Commit a4d9bca5 authored by multrus's avatar multrus
Browse files

[cleanup] accept FIX_1161_REDUCE_OMASA_HEAP

parent 6e4f86da
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -168,11 +168,7 @@ void ivas_omasa_combine_separate_ism_with_masa_fx(
    const Word16 output_frame                                   /* i  : output frame length per channel        */
);

#ifdef FIX_1161_REDUCE_OMASA_HEAP
ivas_error ivas_omasa_objects_delay_open_fx(
#else
ivas_error ivas_omasa_render_objects_from_mix_open_fx(
#endif
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                 */
);

+0 −1
Original line number Diff line number Diff line
@@ -86,7 +86,6 @@

/* #################### Start BASOP porting switches ############################ */

#define FIX_1161_REDUCE_OMASA_HEAP                      /* VA: reduction of OMASA heap memory */
#define USE_NEW_HRTF_BINARY_FILE_FORMAT                 /* Orange: to activate when decided to change the hrtf binary file format */
#define FIX_WARNING_RENDER_CONFIG                       /* Orange: fix warning on windows build */
#define FIX_1052_EXT_OUTPUT                             /* VA: issue 1052: define EXT decoder output configuration for stereo and MC formats */
+0 −20
Original line number Diff line number Diff line
@@ -2842,19 +2842,11 @@ ivas_error ivas_init_decoder_fx(
                }
            }

#ifdef FIX_1161_REDUCE_OMASA_HEAP
            /* Allocate memory for delay buffer within 'hMasaIsmData' */
            IF( NE_32( ( error = ivas_omasa_objects_delay_open_fx( st_ivas ) ), IVAS_ERR_OK ) )
            {
                return error;
            }
#else
            /* Allocate 'hIsmRendererData' handle and memory for delay buffer within 'hMasaIsmData' */
            IF( NE_32( ( error = ivas_omasa_separate_object_renderer_open( st_ivas ) ), IVAS_ERR_OK ) )
            {
                return error;
            }
#endif
        }

        test();
@@ -2863,12 +2855,10 @@ ivas_error ivas_init_decoder_fx(
        IF( EQ_32( st_ivas->renderer_type, RENDERER_DIRAC ) && ( EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_MASA_ONE_OBJ ) || EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) || EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) ) )
        {
            /* Allocate 'hIsmRendererData' handle and memory for delay buffer within 'hMasaIsmData' */
#ifdef FIX_1161_REDUCE_OMASA_HEAP
            IF( NE_32( ( error = ivas_omasa_objects_delay_open_fx( st_ivas ) ), IVAS_ERR_OK ) )
            {
                return error;
            }
#endif

            IF( NE_32( ( error = ivas_omasa_separate_object_renderer_open( st_ivas ) ), IVAS_ERR_OK ) )
            {
@@ -2879,20 +2869,10 @@ ivas_error ivas_init_decoder_fx(
        IF( EQ_32( st_ivas->renderer_type, RENDERER_OMASA_OBJECT_EXT ) )
        {
            /* Allocate 'hIsmRendererData' handle and memory for delay buffer within 'hMasaIsmData' */
#ifdef FIX_1161_REDUCE_OMASA_HEAP
            IF( NE_32( ( error = ivas_omasa_objects_delay_open_fx( st_ivas ) ), IVAS_ERR_OK ) )
            {
                return error;
            }
#else
            error = ivas_omasa_render_objects_from_mix_open_fx( st_ivas );
            move32();

            IF( NE_32( error, IVAS_ERR_OK ) )
            {
                return error;
            }
#endif

            IF( ( ( error = ivas_spat_hSpatParamRendCom_config_fx( &st_ivas->hSpatParamRendCom, DIRAC_OPEN, 0, st_ivas->ivas_format, st_ivas->mc_mode, output_Fs, 0, 0 ) ), IVAS_ERR_OK ) )
            {
+0 −30
Original line number Diff line number Diff line
@@ -453,36 +453,6 @@ ivas_error ivas_omasa_separate_object_renderer_open(
    st_ivas->hIsmRendererData->interpolator_len = interpolator_length;
    move16();

#ifndef FIX_1161_REDUCE_OMASA_HEAP
    st_ivas->hMasaIsmData->delayBuffer_size = extract_l( ( st_ivas->hDecoderConfig->output_Fs / 50 ) / MAX_PARAM_SPATIAL_SUBFRAMES );
    move16();

    test();
    IF( EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_MASA_ONE_OBJ ) || EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) )
    {
        st_ivas->hMasaIsmData->delayBuffer_nchan = 1;
        move16();
    }
    ELSE
    {
        st_ivas->hMasaIsmData->delayBuffer_nchan = st_ivas->nchan_ism;
        move16();
    }

    IF( ( st_ivas->hMasaIsmData->delayBuffer_fx = (Word32 **) malloc( st_ivas->hMasaIsmData->delayBuffer_nchan * sizeof( Word32 * ) ) ) == NULL )
    {
        return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for MASA ISM delay buffer \n" ) );
    }

    FOR( i = 0; i < st_ivas->hMasaIsmData->delayBuffer_nchan; i++ )
    {
        IF( ( st_ivas->hMasaIsmData->delayBuffer_fx[i] = (Word32 *) malloc( st_ivas->hMasaIsmData->delayBuffer_size * sizeof( Word32 ) ) ) == NULL )
        {
            return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for MASA ISM delay buffer \n" ) );
        }
        set32_fx( st_ivas->hMasaIsmData->delayBuffer_fx[i], 0, st_ivas->hMasaIsmData->delayBuffer_size );
    }
#endif

    return IVAS_ERR_OK;
}
+0 −33
Original line number Diff line number Diff line
@@ -716,17 +716,10 @@ ivas_error ivas_omasa_dec_config_fx(
                }

                /* Allocate 'hIsmRendererData' handle and memory for delay buffer within 'hMasaIsmData' */
#ifdef FIX_1161_REDUCE_OMASA_HEAP
                IF( NE_32( ( error = ivas_omasa_objects_delay_open_fx( st_ivas ) ), IVAS_ERR_OK ) )
                {
                    return error;
                }
#else
                IF( NE_32( ( error = ivas_omasa_separate_object_renderer_open( st_ivas ) ), IVAS_ERR_OK ) )
                {
                    return error;
                }
#endif
            }
            ELSE
            {
@@ -753,12 +746,10 @@ ivas_error ivas_omasa_dec_config_fx(
            IF( EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_MASA_ONE_OBJ ) || EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) || EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) )
            {
                /* Allocate 'hIsmRendererData' handle and memory for delay buffer within 'hMasaIsmData' */
#ifdef FIX_1161_REDUCE_OMASA_HEAP
                IF( NE_32( ( error = ivas_omasa_objects_delay_open_fx( st_ivas ) ), IVAS_ERR_OK ) )
                {
                    return error;
                }
#endif

                IF( NE_32( ( error = ivas_omasa_separate_object_renderer_open( st_ivas ) ), IVAS_ERR_OK ) )
                {
@@ -797,19 +788,10 @@ ivas_error ivas_omasa_dec_config_fx(
            move32();

            /* Allocate 'hIsmRendererData' handle and memory for delay buffer within 'hMasaIsmData' */
#ifdef FIX_1161_REDUCE_OMASA_HEAP
            IF( NE_32( ( error = ivas_omasa_objects_delay_open_fx( st_ivas ) ), IVAS_ERR_OK ) )
            {
                return error;
            }
#else
            error = ivas_omasa_render_objects_from_mix_open_fx( st_ivas );
            move32();
            IF( NE_32( error, IVAS_ERR_OK ) )
            {
                return error;
            }
#endif

            IF( NE_32( ( error = ivas_spat_hSpatParamRendCom_config_fx( &st_ivas->hSpatParamRendCom, common_rend_config_flag, 0, st_ivas->ivas_format, st_ivas->mc_mode, st_ivas->hDecoderConfig->output_Fs, 0, 0 ) ), IVAS_ERR_OK ) )
            {
@@ -1641,7 +1623,6 @@ void ivas_omasa_combine_separate_ism_with_masa_fx(
}


#ifdef FIX_1161_REDUCE_OMASA_HEAP
/*-------------------------------------------------------------------------*
 * ivas_omasa_objects_delay_open()
 *
@@ -1649,22 +1630,12 @@ void ivas_omasa_combine_separate_ism_with_masa_fx(
 *-------------------------------------------------------------------------*/

ivas_error ivas_omasa_objects_delay_open_fx(
#else
/*-------------------------------------------------------------------------*
 * ivas_omasa_render_objects_from_mix_open_fx()
 *
 * Open structures, reserve memory, and init values.
 *-------------------------------------------------------------------------*/

ivas_error ivas_omasa_render_objects_from_mix_open_fx(
#endif
    Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */
)
{
    Word16 i;
    Word32 size;

#ifdef FIX_1161_REDUCE_OMASA_HEAP
    test();
    IF( EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_MASA_ONE_OBJ ) || EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) )
    {
@@ -1676,10 +1647,6 @@ ivas_error ivas_omasa_render_objects_from_mix_open_fx(
        st_ivas->hMasaIsmData->delayBuffer_nchan = st_ivas->nchan_ism;
        move16();
    }
#else
    st_ivas->hMasaIsmData->delayBuffer_nchan = 1;
    move16();
#endif

    st_ivas->hMasaIsmData->delayBuffer_size = extract_l( Mult_32_16( st_ivas->hDecoderConfig->output_Fs,
                                                                     OMASA_DELAYFRAMES_PER_SEC_Q15 ) );
Loading