Commit 8bd6dcf1 authored by lintervo's avatar lintervo
Browse files

Harmonize hMasaIsm struct members

parent 12a07ec0
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2159,8 +2159,8 @@ void ivas_param_ism_params_to_masa_param_mapping_fx(
        {
            FOR( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ )
            {
                hMasaIsmData->azimuth_ism[obj][sf_idx] = extract_l( L_shr( ( L_add( hParamIsmDec->azimuth_values_fx[obj], ( 1 << 21 ) ) ), 22 ) );   // Q0
                hMasaIsmData->elevation_ism[obj][sf_idx] = extract_l( L_shr_r( L_add( hParamIsmDec->elevation_values_fx[obj], ( 1 << 21 ) ), 22 ) ); // Scale to Q0
                hMasaIsmData->azimuth_ism_fx[obj][sf_idx] = extract_l( L_shr( ( L_add( hParamIsmDec->azimuth_values_fx[obj], ( 1 << 21 ) ) ), 22 ) );   // Q0
                hMasaIsmData->elevation_ism_fx[obj][sf_idx] = extract_l( L_shr_r( L_add( hParamIsmDec->elevation_values_fx[obj], ( 1 << 21 ) ), 22 ) ); // Scale to Q0
            }

            hMasaIsmData->azimuth_ism_edited_fx[obj] = extract_l( L_shr( ( L_add( hParamIsmDec->edited_azimuth_values_fx[obj], ( 1 << 21 ) ) ), 22 ) );
+6 −6
Original line number Diff line number Diff line
@@ -630,7 +630,7 @@ void ivas_omasa_separate_object_render_jbm_fx(
            {
#ifdef OMASA_OBJECT_EDITING
                test();
                IF( EQ_16( st_ivas->ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) && st_ivas->hMasaIsmData->ism_dir_is_edited_fx[st_ivas->hMasaIsmData->idx_separated_ism] )
                IF( EQ_16( st_ivas->ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) && st_ivas->hMasaIsmData->ism_dir_is_edited[st_ivas->hMasaIsmData->idx_separated_ism] )
                {
                    azimuth = st_ivas->hMasaIsmData->azimuth_ism_edited_fx[st_ivas->hMasaIsmData->idx_separated_ism];
                    move16();
@@ -639,9 +639,9 @@ void ivas_omasa_separate_object_render_jbm_fx(
                }
                ELSE
                {
                    azimuth = st_ivas->hMasaIsmData->azimuth_separated_ism[md_idx];
                    azimuth = st_ivas->hMasaIsmData->azimuth_separated_ism_fx[md_idx];
                    move16();
                    elevation = st_ivas->hMasaIsmData->elevation_separated_ism[md_idx];
                    elevation = st_ivas->hMasaIsmData->elevation_separated_ism_fx[md_idx];
                    move16();
                }
#else
@@ -654,7 +654,7 @@ void ivas_omasa_separate_object_render_jbm_fx(
            ELSE
            {
#ifdef OMASA_OBJECT_EDITING
                IF( st_ivas->hMasaIsmData->ism_dir_is_edited_fx[obj] )
                IF( st_ivas->hMasaIsmData->ism_dir_is_edited[obj] )
                {
                    azimuth = st_ivas->hMasaIsmData->azimuth_ism_edited_fx[obj];
                    move16();
@@ -663,9 +663,9 @@ void ivas_omasa_separate_object_render_jbm_fx(
                }
                ELSE
                {
                    azimuth = st_ivas->hMasaIsmData->azimuth_ism[obj][md_idx];
                    azimuth = st_ivas->hMasaIsmData->azimuth_ism_fx[obj][md_idx];
                    move16();
                    elevation = st_ivas->hMasaIsmData->elevation_ism[obj][md_idx];
                    elevation = st_ivas->hMasaIsmData->elevation_ism_fx[obj][md_idx];
                    move16();
                }
#else
+2 −2
Original line number Diff line number Diff line
@@ -4723,7 +4723,7 @@ void ivas_jbm_dec_prepare_renderer(

                    v_multc_fx_16( st_ivas->hTcBuffer->tc_fx[CPE_CHANNELS + n], OMASA_TDREND_MATCHING_GAIN_FX, st_ivas->hTcBuffer->tc_fx[CPE_CHANNELS + n], st_ivas->hTcBuffer->n_samples_available );

                    IF( st_ivas->hMasaIsmData->ism_gain_is_edited_fx[n] )
                    IF( st_ivas->hMasaIsmData->ism_gain_is_edited[n] )
                    {
                        v_multc_fx_16( st_ivas->hTcBuffer->tc_fx[CPE_CHANNELS + n], st_ivas->hMasaIsmData->gain_ism_edited_fx[n], st_ivas->hTcBuffer->tc_fx[CPE_CHANNELS + n], st_ivas->hTcBuffer->n_samples_available );
                        Scale_sig32( st_ivas->hTcBuffer->tc_fx[CPE_CHANNELS + n], st_ivas->hTcBuffer->n_samples_available, Q3 ); // Q8 -> Q11
@@ -4739,7 +4739,7 @@ void ivas_jbm_dec_prepare_renderer(
            test();
            IF( EQ_16( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) && EQ_16( st_ivas->renderer_type, RENDERER_BINAURAL_PARAMETRIC ) )
            {
                IF( st_ivas->hMasaIsmData->masa_gain_is_edited_fx )
                IF( st_ivas->hMasaIsmData->masa_gain_is_edited )
                {
                    FOR( n = 0; n < 2; n++ )
                    {
+5 −5
Original line number Diff line number Diff line
@@ -501,9 +501,9 @@ ivas_error ivas_masa_decode_fx(
                            FOR( sf = 0; sf < MAX_PARAM_SPATIAL_SUBFRAMES; sf++ )
                            {
                                meta_write_index = add( st_ivas->hSpatParamRendCom->dirac_bs_md_write_idx, sf ) % st_ivas->hSpatParamRendCom->dirac_md_buffer_length;
                                st_ivas->hMasaIsmData->azimuth_separated_ism[meta_write_index] = st_ivas->hMasaIsmData->azimuth_ism[obj][meta_write_index];
                                st_ivas->hMasaIsmData->azimuth_separated_ism_fx[meta_write_index] = st_ivas->hMasaIsmData->azimuth_ism_fx[obj][meta_write_index];
                                move16();
                                st_ivas->hMasaIsmData->elevation_separated_ism[meta_write_index] = st_ivas->hMasaIsmData->elevation_ism[obj][meta_write_index];
                                st_ivas->hMasaIsmData->elevation_separated_ism_fx[meta_write_index] = st_ivas->hMasaIsmData->elevation_ism_fx[obj][meta_write_index];
                                move16();
                            }
                        }
@@ -3359,7 +3359,7 @@ static Word16 ivas_decode_masaism_metadata_fx(
    FOR( obj = 0; obj < nchan_ism; obj++ )
    {
#ifdef OMASA_OBJECT_EDITING
        hMasaIsmData->bits_ism_fx[obj] = bits_ism[obj];
        hMasaIsmData->bits_ism[obj] = bits_ism[obj];
#endif
        index = 0;
        move16();
@@ -3437,9 +3437,9 @@ static Word16 ivas_decode_masaism_metadata_fx(
            Word16 int_azi = rint_fx( L_shr( azimuth, Q22 - 16 ) );   // Q0, extra -16 is added as int_azi is W16 and azimuth is W32
            Word16 int_ele = rint_fx( L_shr( elevation, Q22 - 16 ) ); // Q0

            hMasaIsmData->azimuth_ism[obj][meta_write_index] = int_azi; // Q0
            hMasaIsmData->azimuth_ism_fx[obj][meta_write_index] = int_azi; // Q0
            move16();
            hMasaIsmData->elevation_ism[obj][meta_write_index] = int_ele; // Q0
            hMasaIsmData->elevation_ism_fx[obj][meta_write_index] = int_ele; // Q0
            move16();
        }
    }
+27 −27
Original line number Diff line number Diff line
@@ -357,7 +357,7 @@ ivas_error ivas_omasa_data_open_fx(
        move32();
    }

    hMasaIsmData->objectsEdited_fx = 0;
    hMasaIsmData->objectsEdited = 0;
    move32();
#else
    FOR( bin = 0; bin < CLDFB_NO_CHANNELS_MAX; bin++ )
@@ -388,8 +388,8 @@ ivas_error ivas_omasa_data_open_fx(
    FOR( ch = 0; ch < MAX_NUM_OBJECTS; ch++ )
    {
#ifdef OMASA_OBJECT_EDITING
        hMasaIsmData->ism_dir_is_edited_fx[ch] = 0;
        hMasaIsmData->ism_gain_is_edited_fx[ch] = 0;
        hMasaIsmData->ism_dir_is_edited[ch] = 0;
        hMasaIsmData->ism_gain_is_edited[ch] = 0;
#else
        hMasaIsmData->ism_is_edited[ch] = 0;
        move16();
@@ -401,22 +401,22 @@ ivas_error ivas_omasa_data_open_fx(
    }

#ifdef OMASA_OBJECT_EDITING
    hMasaIsmData->masa_gain_is_edited_fx = 0;
    hMasaIsmData->masa_gain_is_edited = 0;
    hMasaIsmData->idx_separated_ism = -1;
    move16();
#endif

    FOR( obj_idx = 0; obj_idx < MAX_NUM_OBJECTS; obj_idx++ )
    {
        set16_fx( hMasaIsmData->azimuth_ism[obj_idx], 0, MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR );
        set16_fx( hMasaIsmData->elevation_ism[obj_idx], 0, MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR );
        set16_fx( hMasaIsmData->azimuth_ism_fx[obj_idx], 0, MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR );
        set16_fx( hMasaIsmData->elevation_ism_fx[obj_idx], 0, MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR );
        FOR( sf = 0; sf < MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR; sf++ )
        {
            set32_fx( hMasaIsmData->energy_ratio_ism_fx[obj_idx][sf], 0, CLDFB_NO_CHANNELS_MAX );
        }
    }
    set16_fx( hMasaIsmData->azimuth_separated_ism, 0, MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR );
    set16_fx( hMasaIsmData->elevation_separated_ism, 0, MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR );
    set16_fx( hMasaIsmData->azimuth_separated_ism_fx, 0, MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR );
    set16_fx( hMasaIsmData->elevation_separated_ism_fx, 0, MAX_PARAM_SPATIAL_SUBFRAMES + DELAY_MASA_PARAM_DEC_SFR );

    hMasaIsmData->hExtData = NULL;
    move32();
@@ -1090,9 +1090,9 @@ ivas_error ivas_omasa_ism_metadata_dec_fx(
                    {
                        meta_write_index = ( add( dirac_bs_md_write_idx, block ) ) % st_ivas->hSpatParamRendCom->dirac_md_buffer_length;
                        move16();
                        st_ivas->hMasaIsmData->azimuth_ism[n][meta_write_index] = azimuth_ism;
                        st_ivas->hMasaIsmData->azimuth_ism_fx[n][meta_write_index] = azimuth_ism;
                        move16();
                        st_ivas->hMasaIsmData->elevation_ism[n][meta_write_index] = elevation_ism;
                        st_ivas->hMasaIsmData->elevation_ism_fx[n][meta_write_index] = elevation_ism;
                        move16();
                    }
                }
@@ -1114,9 +1114,9 @@ ivas_error ivas_omasa_ism_metadata_dec_fx(
                {
                    meta_write_index = ( add( dirac_bs_md_write_idx, block ) ) % st_ivas->hSpatParamRendCom->dirac_md_buffer_length;
                    move16();
                    st_ivas->hMasaIsmData->azimuth_separated_ism[meta_write_index] = azimuth_ism;
                    st_ivas->hMasaIsmData->azimuth_separated_ism_fx[meta_write_index] = azimuth_ism;
                    move16();
                    st_ivas->hMasaIsmData->elevation_separated_ism[meta_write_index] = elevation_ism;
                    st_ivas->hMasaIsmData->elevation_separated_ism_fx[meta_write_index] = elevation_ism;
                    move16();
                }
            }
@@ -1136,15 +1136,15 @@ ivas_error ivas_omasa_ism_metadata_dec_fx(

            FOR( block = 0; block < 2; block++ )
            {
                st_ivas->hMasaIsmData->azimuth_separated_ism[block] = st_ivas->hMasaIsmData->azimuth_separated_ism[add( block, 2 )];
                st_ivas->hMasaIsmData->elevation_separated_ism[block] = st_ivas->hMasaIsmData->elevation_separated_ism[add( block, 2 )];
                st_ivas->hMasaIsmData->azimuth_separated_ism_fx[block] = st_ivas->hMasaIsmData->azimuth_separated_ism_fx[add( block, 2 )];
                st_ivas->hMasaIsmData->elevation_separated_ism_fx[block] = st_ivas->hMasaIsmData->elevation_separated_ism_fx[add( block, 2 )];
                move16();
                move16();
            }
            FOR( block = 2; block < MAX_PARAM_SPATIAL_SUBFRAMES; block++ )
            {
                st_ivas->hMasaIsmData->azimuth_separated_ism[block] = azimuth_ism;
                st_ivas->hMasaIsmData->elevation_separated_ism[block] = elevation_ism;
                st_ivas->hMasaIsmData->azimuth_separated_ism_fx[block] = azimuth_ism;
                st_ivas->hMasaIsmData->elevation_separated_ism_fx[block] = elevation_ism;
                move16();
                move16();
            }
@@ -1191,7 +1191,7 @@ void ivas_omasa_dirac_rend_jbm_fx(
                FOR( n = 0; n < st_ivas->nchan_ism; n++ )
                {
                    test();
                    IF( st_ivas->hMasaIsmData->ism_gain_is_edited_fx[n] && EQ_16( st_ivas->hMasaIsmData->idx_separated_ism, n ) )
                    IF( st_ivas->hMasaIsmData->ism_gain_is_edited[n] && EQ_16( st_ivas->hMasaIsmData->idx_separated_ism, n ) )
                    {
                        v_multc_fx_16( data_separated_objects[0], st_ivas->hMasaIsmData->gain_ism_edited_fx[n], data_separated_objects[0], *nSamplesRendered ); // Q = 8
                        Scale_sig32( data_separated_objects[0], *nSamplesRendered, Q3 );                                                                        // Q = 11
@@ -1207,7 +1207,7 @@ void ivas_omasa_dirac_rend_jbm_fx(
                Copy32( &output_f[n + CPE_CHANNELS][st_ivas->hTcBuffer->n_samples_rendered], data_separated_objects[n], *nSamplesRendered );
#ifdef OMASA_OBJECT_EDITING
                /* Gain discrete objects, if edited */
                IF( st_ivas->hMasaIsmData->ism_gain_is_edited_fx[n] )
                IF( st_ivas->hMasaIsmData->ism_gain_is_edited[n] )
                {
                    v_multc_fx_16( data_separated_objects[n], st_ivas->hMasaIsmData->gain_ism_edited_fx[n], data_separated_objects[n], *nSamplesRendered ); // Q = 8
                    Scale_sig32( data_separated_objects[n], *nSamplesRendered, Q3 );                                                                        // Q = 11
@@ -1216,7 +1216,7 @@ void ivas_omasa_dirac_rend_jbm_fx(
            }
#ifdef OMASA_OBJECT_EDITING
            /* Gain MASA part, if edited */
            IF( st_ivas->hMasaIsmData->masa_gain_is_edited_fx )
            IF( st_ivas->hMasaIsmData->masa_gain_is_edited )
            {
                FOR( n = 0; n < 2; n++ )
                {
@@ -1598,8 +1598,8 @@ void ivas_omasa_combine_separate_ism_with_masa_fx(
    {
        Word32 ele, azi;

        ele = st_ivas->hMasaIsmData->elevation_separated_ism[sf];
        azi = st_ivas->hMasaIsmData->azimuth_separated_ism[sf];
        ele = st_ivas->hMasaIsmData->elevation_separated_ism_fx[sf];
        azi = st_ivas->hMasaIsmData->azimuth_separated_ism_fx[sf];

        directionIndex = index_theta_phi_16_fx( &ele, &azi, st_ivas->hMasa->data.sph_grid16 );

@@ -1625,10 +1625,10 @@ void ivas_omasa_combine_separate_ism_with_masa_fx(
                                         eneIsm_frac, eneIsm_exp );

    /* Mix the separated object audio signal to the MASA audio signals */
    ivas_get_stereo_panning_gains_fx( st_ivas->hMasaIsmData->azimuth_separated_ism[0],
                                      st_ivas->hMasaIsmData->elevation_separated_ism[0], old_panning_gains_q15_fx );
    ivas_get_stereo_panning_gains_fx( st_ivas->hMasaIsmData->azimuth_separated_ism[2],
                                      st_ivas->hMasaIsmData->elevation_separated_ism[2], new_panning_gains_q15_fx );
    ivas_get_stereo_panning_gains_fx( st_ivas->hMasaIsmData->azimuth_separated_ism_fx[0],
                                      st_ivas->hMasaIsmData->elevation_separated_ism_fx[0], old_panning_gains_q15_fx );
    ivas_get_stereo_panning_gains_fx( st_ivas->hMasaIsmData->azimuth_separated_ism_fx[2],
                                      st_ivas->hMasaIsmData->elevation_separated_ism_fx[2], new_panning_gains_q15_fx );

    /* Subsequent processing in Q31 format */
    FOR( n = 0; n < MASA_MAX_TRANSPORT_CHANNELS; n++ )
@@ -1847,8 +1847,8 @@ void ivas_omasa_render_objects_from_mix_fx(
    FOR( n = 0; n < nchan_ism; n++ )
    {
        // Q0 -> Q22
        Word32 azi = L_shl( st_ivas->hMasaIsmData->azimuth_ism[n][st_ivas->hSpatParamRendCom->dirac_read_idx], Q22 );
        Word32 ele = L_shl( st_ivas->hMasaIsmData->elevation_ism[n][st_ivas->hSpatParamRendCom->dirac_read_idx], Q22 );
        Word32 azi = L_shl( st_ivas->hMasaIsmData->azimuth_ism_fx[n][st_ivas->hSpatParamRendCom->dirac_read_idx], Q22 );
        Word32 ele = L_shl( st_ivas->hMasaIsmData->elevation_ism_fx[n][st_ivas->hSpatParamRendCom->dirac_read_idx], Q22 );

        st_ivas->hIsmMetaData[n]->azimuth_fx = azi;
        st_ivas->hIsmMetaData[n]->elevation_fx = ele;
Loading