Loading lib_com/ivas_masa_com.c +8 −0 Original line number Diff line number Diff line Loading @@ -897,6 +897,10 @@ void reconstruct_ism_ratios( void ivas_omasa_modify_masa_energy_ratios( IVAS_QMETADATA_HANDLE hQMetaData /* i/o: q_metadata handle */ #ifdef FIX_672_NOKIA_TODO , float masa_to_total_energy_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_MAXIMUM_CODING_SUBBANDS] #endif ) { int16_t i, m, d, b; Loading @@ -916,7 +920,11 @@ void ivas_omasa_modify_masa_energy_ratios( { for ( d = 0; d < hQMetaData->no_directions; d++ ) { #ifdef FIX_672_NOKIA_TODO hQMetaData->q_direction[d].band_data[b].energy_ratio[m] = hQMetaData->q_direction[d].band_data[b].energy_ratio[m] * masa_to_total_energy_ratio[i][b]; #else hQMetaData->q_direction[d].band_data[b].energy_ratio[m] = hQMetaData->q_direction[d].band_data[b].energy_ratio[m] * hQMetaData->masa_to_total_energy_ratio[i][b]; #endif } } } Loading lib_com/ivas_prot.h +8 −0 Original line number Diff line number Diff line Loading @@ -5982,7 +5982,11 @@ void ivas_omasa_set_edited_objects( ); #endif void ivas_omasa_encode_masa_to_total( #ifdef FIX_672_NOKIA_TODO float masa_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], #else IVAS_QMETADATA_HANDLE hQMetaData, #endif BSTR_ENC_HANDLE hMetaData, const int16_t low_bitrate_mode, const int16_t nbands, Loading @@ -5999,6 +6003,10 @@ void ivas_omasa_decode_masa_to_total( void ivas_omasa_modify_masa_energy_ratios( IVAS_QMETADATA_HANDLE hQMetaData /* i/o: q_metadata handle */ #ifdef FIX_672_NOKIA_TODO , float masa_to_total_energy_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_MAXIMUM_CODING_SUBBANDS] #endif ); #endif Loading lib_com/ivas_stat_com.h +5 −0 Original line number Diff line number Diff line Loading @@ -485,6 +485,9 @@ typedef struct ivas_masa_config_struct uint8_t useCoherence; uint8_t coherencePresent; uint8_t mergeRatiosOverSubframes; #ifdef FIX_672_NOKIA_TODO IVAS_FORMAT input_ivas_format; #endif } MASA_CODEC_CONFIG; Loading Loading @@ -577,9 +580,11 @@ typedef struct ivas_masa_qmetadata_frame_struct int16_t ec_flag; float dir_comp_ratio; uint8_t is_masa_ivas_format; #ifndef FIX_672_NOKIA_TODO #ifdef MASA_AND_OBJECTS float masa_to_total_energy_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; /* TODO Nokia: This should be moved to some other place and reserved only when needed. */ #endif #endif } IVAS_QMETADATA, *IVAS_QMETADATA_HANDLE; Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -220,6 +220,7 @@ #define FIX_613_DIRAC_NULL_PTR_USAN /* Nokia: Issue #613: USAN in DirAC decoder setup */ #define FIX_647_SILENT_W_PARAMBIN /* Nokia: Issue #647: Fix silent W SH inputs in parametric binauralizer */ #define FIX_672_NOKIA_TODO /* Nokia: Issue #672: Resolve Nokia TODOs */ #define MASA_AND_OBJECTS /* Nokia: Combination of MASA and objects */ #define SBA_AND_OBJECTS Loading @@ -241,6 +242,7 @@ #define FIX_634_MASA_JBM_UNUSED_PARAMETER /* Nokia: Fix issue 634 by removing the unnecessary argument. */ #define FIX_675_WB_OMASA /* Nokia: Fix for issue 675 solving the crash in OMASA for WB input */ #define FIX_683_JBM_CLEANUP /* FhG: Fix for issue 683, add clean up for ISM and MASA file writers */ #define FIX_689_USAN_QSPHERICAL /* Nokia: Fix usan error from issue 689 */ /* ################## End BE DEVELOPMENT switches ######################### */ Loading lib_dec/ivas_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -570,7 +570,11 @@ ivas_error ivas_dec( /* Set the number of objects for the parametric rendering */ dirac_bs_md_write_idx = 0; #ifdef FIX_672_NOKIA_TODO if ( st_ivas->hSpatParamRendCom != NULL ) #else if ( st_ivas->hDirAC != NULL ) /* TODO: should this check for st_ivas->hSpatParamRendCom != NULL ? */ #endif { st_ivas->hSpatParamRendCom->numIsmDirections = 0; if ( st_ivas->ism_mode != ISM_MASA_MODE_DISC && st_ivas->ism_mode != ISM_MASA_MODE_MASA_ONE_OBJ ) Loading Loading
lib_com/ivas_masa_com.c +8 −0 Original line number Diff line number Diff line Loading @@ -897,6 +897,10 @@ void reconstruct_ism_ratios( void ivas_omasa_modify_masa_energy_ratios( IVAS_QMETADATA_HANDLE hQMetaData /* i/o: q_metadata handle */ #ifdef FIX_672_NOKIA_TODO , float masa_to_total_energy_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_MAXIMUM_CODING_SUBBANDS] #endif ) { int16_t i, m, d, b; Loading @@ -916,7 +920,11 @@ void ivas_omasa_modify_masa_energy_ratios( { for ( d = 0; d < hQMetaData->no_directions; d++ ) { #ifdef FIX_672_NOKIA_TODO hQMetaData->q_direction[d].band_data[b].energy_ratio[m] = hQMetaData->q_direction[d].band_data[b].energy_ratio[m] * masa_to_total_energy_ratio[i][b]; #else hQMetaData->q_direction[d].band_data[b].energy_ratio[m] = hQMetaData->q_direction[d].band_data[b].energy_ratio[m] * hQMetaData->masa_to_total_energy_ratio[i][b]; #endif } } } Loading
lib_com/ivas_prot.h +8 −0 Original line number Diff line number Diff line Loading @@ -5982,7 +5982,11 @@ void ivas_omasa_set_edited_objects( ); #endif void ivas_omasa_encode_masa_to_total( #ifdef FIX_672_NOKIA_TODO float masa_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], #else IVAS_QMETADATA_HANDLE hQMetaData, #endif BSTR_ENC_HANDLE hMetaData, const int16_t low_bitrate_mode, const int16_t nbands, Loading @@ -5999,6 +6003,10 @@ void ivas_omasa_decode_masa_to_total( void ivas_omasa_modify_masa_energy_ratios( IVAS_QMETADATA_HANDLE hQMetaData /* i/o: q_metadata handle */ #ifdef FIX_672_NOKIA_TODO , float masa_to_total_energy_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_MAXIMUM_CODING_SUBBANDS] #endif ); #endif Loading
lib_com/ivas_stat_com.h +5 −0 Original line number Diff line number Diff line Loading @@ -485,6 +485,9 @@ typedef struct ivas_masa_config_struct uint8_t useCoherence; uint8_t coherencePresent; uint8_t mergeRatiosOverSubframes; #ifdef FIX_672_NOKIA_TODO IVAS_FORMAT input_ivas_format; #endif } MASA_CODEC_CONFIG; Loading Loading @@ -577,9 +580,11 @@ typedef struct ivas_masa_qmetadata_frame_struct int16_t ec_flag; float dir_comp_ratio; uint8_t is_masa_ivas_format; #ifndef FIX_672_NOKIA_TODO #ifdef MASA_AND_OBJECTS float masa_to_total_energy_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; /* TODO Nokia: This should be moved to some other place and reserved only when needed. */ #endif #endif } IVAS_QMETADATA, *IVAS_QMETADATA_HANDLE; Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -220,6 +220,7 @@ #define FIX_613_DIRAC_NULL_PTR_USAN /* Nokia: Issue #613: USAN in DirAC decoder setup */ #define FIX_647_SILENT_W_PARAMBIN /* Nokia: Issue #647: Fix silent W SH inputs in parametric binauralizer */ #define FIX_672_NOKIA_TODO /* Nokia: Issue #672: Resolve Nokia TODOs */ #define MASA_AND_OBJECTS /* Nokia: Combination of MASA and objects */ #define SBA_AND_OBJECTS Loading @@ -241,6 +242,7 @@ #define FIX_634_MASA_JBM_UNUSED_PARAMETER /* Nokia: Fix issue 634 by removing the unnecessary argument. */ #define FIX_675_WB_OMASA /* Nokia: Fix for issue 675 solving the crash in OMASA for WB input */ #define FIX_683_JBM_CLEANUP /* FhG: Fix for issue 683, add clean up for ISM and MASA file writers */ #define FIX_689_USAN_QSPHERICAL /* Nokia: Fix usan error from issue 689 */ /* ################## End BE DEVELOPMENT switches ######################### */ Loading
lib_dec/ivas_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -570,7 +570,11 @@ ivas_error ivas_dec( /* Set the number of objects for the parametric rendering */ dirac_bs_md_write_idx = 0; #ifdef FIX_672_NOKIA_TODO if ( st_ivas->hSpatParamRendCom != NULL ) #else if ( st_ivas->hDirAC != NULL ) /* TODO: should this check for st_ivas->hSpatParamRendCom != NULL ? */ #endif { st_ivas->hSpatParamRendCom->numIsmDirections = 0; if ( st_ivas->ism_mode != ISM_MASA_MODE_DISC && st_ivas->ism_mode != ISM_MASA_MODE_MASA_ONE_OBJ ) Loading