Loading lib_dec/ivas_ism_param_dec_fx.c +2 −2 Original line number Diff line number Diff line Loading @@ -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 ) ); Loading lib_dec/ivas_ism_renderer_fx.c +6 −6 Original line number Diff line number Diff line Loading @@ -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(); Loading @@ -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 Loading @@ -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(); Loading @@ -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 Loading lib_dec/ivas_jbm_dec_fx.c +2 −2 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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++ ) { Loading lib_dec/ivas_masa_dec_fx.c +5 −5 Original line number Diff line number Diff line Loading @@ -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(); } } Loading Loading @@ -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(); Loading Loading @@ -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(); } } Loading lib_dec/ivas_omasa_dec_fx.c +27 −27 Original line number Diff line number Diff line Loading @@ -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++ ) Loading Loading @@ -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(); Loading @@ -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(); Loading Loading @@ -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(); } } Loading @@ -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(); } } Loading @@ -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(); } Loading Loading @@ -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 Loading @@ -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 Loading @@ -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++ ) { Loading Loading @@ -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 ); Loading @@ -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++ ) Loading Loading @@ -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 Loading
lib_dec/ivas_ism_param_dec_fx.c +2 −2 Original line number Diff line number Diff line Loading @@ -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 ) ); Loading
lib_dec/ivas_ism_renderer_fx.c +6 −6 Original line number Diff line number Diff line Loading @@ -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(); Loading @@ -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 Loading @@ -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(); Loading @@ -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 Loading
lib_dec/ivas_jbm_dec_fx.c +2 −2 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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++ ) { Loading
lib_dec/ivas_masa_dec_fx.c +5 −5 Original line number Diff line number Diff line Loading @@ -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(); } } Loading Loading @@ -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(); Loading Loading @@ -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(); } } Loading
lib_dec/ivas_omasa_dec_fx.c +27 −27 Original line number Diff line number Diff line Loading @@ -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++ ) Loading Loading @@ -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(); Loading @@ -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(); Loading Loading @@ -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(); } } Loading @@ -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(); } } Loading @@ -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(); } Loading Loading @@ -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 Loading @@ -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 Loading @@ -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++ ) { Loading Loading @@ -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 ); Loading @@ -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++ ) Loading Loading @@ -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