Loading lib_com/bitstream.c +0 −24 Original line number Diff line number Diff line Loading @@ -1972,37 +1972,13 @@ ivas_error preview_indices( else if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { /* read number of objects from the bitstream */ #ifdef OMASA_UPDATES st_ivas->nchan_transport = 2; /* always 2 MASA transport channels */ st_ivas->nchan_ism = 0; #else st_ivas->nchan_transport = 0; #endif if ( total_brate != SID_2k40 && total_brate != FRAME_NO_DATA ) { #ifdef OMASA_UPDATES st_ivas->nchan_ism = 2 * bit_stream[total_brate / FRAMES_PER_SEC - 1] + bit_stream[total_brate / FRAMES_PER_SEC - 2] + 1; #endif st_ivas->ism_mode = ivas_omasa_ism_mode_select( total_brate, st_ivas->nchan_ism ); #ifndef OMASA_UPDATES if ( st_ivas->ism_mode == ISM_MASA_MODE_ONE_OBJ ) { st_ivas->nchan_transport = 0; } else if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { st_ivas->nchan_transport = 2 * st_ivas->bit_stream[total_brate / FRAMES_PER_SEC - 2] + st_ivas->bit_stream[total_brate / FRAMES_PER_SEC - 3] + 1; } k = (int16_t) ( ( total_brate / FRAMES_PER_SEC ) - 1 ); { st_ivas->nchan_transport++; k--; } #endif } } #endif Loading lib_com/ivas_cnst.h +1 −9 Original line number Diff line number Diff line Loading @@ -374,12 +374,8 @@ typedef enum #ifdef MASA_AND_OBJECTS , ISM_MASA_MODE_PARAM, /* parametric ISM mode for combined MASA ISM format */ #ifdef OMASA_UPDATES ISM_MASA_MODE_MASA_ONE_OBJ, /* MASA ISM mode when one object is encoded separately and remainder using MASA parameters */ ISM_MASA_MODE_PARAM_ONE_OBJ, /* MASA ISM mode when one object is encoded separately and remainder using parametric object model */ #else ISM_MASA_MODE_ONE_OBJ, /* MASA ISM mode when one object is encoded separarately */ #endif ISM_MASA_MODE_DISC /* MASA ISM mode when all objects are encoded separarately */ #endif } ISM_MODE; Loading Loading @@ -639,11 +635,7 @@ enum IND_STEREO_DFT_SIDEGAIN_FLAG, IND_STEREO_DFT_SIDEGAINS, #ifdef OMASA_UPDATES IND_STEREO_DFT_ITD_MODE = IND_STEREO_DFT_SIDEGAINS + 4 * STEREO_DFT_BAND_MAX + 120, #else IND_STEREO_DFT_ITD_MODE = IND_STEREO_DFT_SIDEGAINS + 4 * STEREO_DFT_BAND_MAX + 72, #endif IND_STEREO_DFT_ITD_HUFF, IND_STEREO_DFT_ITD_NEG, Loading lib_com/ivas_masa_com.c +0 −12 Original line number Diff line number Diff line Loading @@ -96,11 +96,7 @@ void ivas_masa_set_elements( if ( ivas_total_brate > MIN_BRATE_MDCT_STEREO ) { *element_mode = IVAS_CPE_MDCT; #ifdef OMASA_UPDATES if ( ( ism_mode == ISM_MASA_MODE_DISC || ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) && ( ivas_total_brate - ism_total_brate < MIN_BRATE_MDCT_STEREO ) ) #else if ( ( ism_mode == ISM_MASA_MODE_DISC || ism_mode == ISM_MASA_MODE_ONE_OBJ ) && ( ivas_total_brate - ism_total_brate < MIN_BRATE_MDCT_STEREO ) ) #endif { *element_mode = IVAS_CPE_DFT; } Loading @@ -119,11 +115,7 @@ void ivas_masa_set_elements( } hQMetaData->bits_frame_nominal = (int16_t) ( ivas_total_brate / FRAMES_PER_SEC ); #ifdef MASA_AND_OBJECTS #ifdef OMASA_UPDATES if ( ivas_format == MASA_ISM_FORMAT && ( ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ || ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || ism_mode == ISM_MASA_MODE_DISC ) ) #else if ( ivas_format == MASA_ISM_FORMAT && ( ism_mode == ISM_MASA_MODE_ONE_OBJ || ism_mode == ISM_MASA_MODE_DISC ) ) #endif { hQMetaData->bits_frame_nominal -= (int16_t) ( ism_total_brate / FRAMES_PER_SEC ); } Loading Loading @@ -634,11 +626,7 @@ int32_t calculate_cpe_brate_MASA_ISM( k++; } #ifdef OMASA_UPDATES if ( ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) #else if ( ism_mode == ISM_MASA_MODE_ONE_OBJ ) #endif { cpe_brate = ivas_total_brate - sep_object_brate[k - 2][0]; /* take data from the first column */ } Loading lib_com/ivas_omasa_com.c +10 −55 Original line number Diff line number Diff line Loading @@ -58,15 +58,9 @@ #define GAMMA_ISM_MEDIUM_IMP3 1.15f #define GAMMA_ISM_HIGH_IMP3 1.3f #ifdef OMASA_UPDATES #define GAMMA_ISM_LOW_IMP4 0.8f #define GAMMA_ISM_MEDIUM_IMP4 1.0f #define GAMMA_ISM_HIGH_IMP4 1.2f #else #define GAMMA_ISM_LOW_IMP4 0.6f #define GAMMA_ISM_MEDIUM_IMP4 0.8f #define GAMMA_ISM_HIGH_IMP4 1.0f #endif /*--------------------------------------------------------------- Loading Loading @@ -103,11 +97,7 @@ ISM_MODE ivas_omasa_ism_mode_select( } else if ( ivas_total_brate >= IVAS_32k ) { #ifdef OMASA_UPDATES ism_mode = ISM_MASA_MODE_PARAM_ONE_OBJ; #else ism_mode = ISM_MASA_MODE_ONE_OBJ; #endif } else { Loading @@ -121,23 +111,12 @@ ISM_MODE ivas_omasa_ism_mode_select( } else if ( ivas_total_brate >= IVAS_64k ) { #ifdef OMASA_UPDATES ism_mode = ISM_MASA_MODE_PARAM_ONE_OBJ; #else ism_mode = ISM_MASA_MODE_ONE_OBJ; #endif } #ifdef OMASA_UPDATES else if ( ivas_total_brate >= IVAS_32k ) { ism_mode = ISM_MASA_MODE_MASA_ONE_OBJ; } #else else if ( ivas_total_brate >= IVAS_48k ) { ism_mode = ISM_MASA_MODE_PARAM; } #endif else { ism_mode = ISM_MODE_NONE; Loading @@ -148,7 +127,6 @@ ISM_MODE ivas_omasa_ism_mode_select( { ism_mode = ISM_MASA_MODE_DISC; } #ifdef OMASA_UPDATES else if ( ivas_total_brate >= IVAS_64k ) { ism_mode = ISM_MASA_MODE_PARAM_ONE_OBJ; Loading @@ -157,16 +135,6 @@ ISM_MODE ivas_omasa_ism_mode_select( { ism_mode = ISM_MASA_MODE_MASA_ONE_OBJ; } #else else if ( ivas_total_brate >= IVAS_64k ) { ism_mode = ISM_MASA_MODE_ONE_OBJ; } else if ( ivas_total_brate >= IVAS_48k ) { ism_mode = ISM_MASA_MODE_PARAM; } #endif else { ism_mode = ISM_MODE_NONE; Loading Loading @@ -197,12 +165,8 @@ void ivas_set_omasa_TC( *nCPE = 1; *nSCE = 0; break; #ifdef OMASA_UPDATES case ISM_MASA_MODE_MASA_ONE_OBJ: case ISM_MASA_MODE_PARAM_ONE_OBJ: #else case ISM_MASA_MODE_ONE_OBJ: #endif *nCPE = 1; *nSCE = 1; break; Loading Loading @@ -233,11 +197,8 @@ int32_t ivas_interformat_brate( const ISM_MODE ism_mode, /* i : ISM mode */ const int16_t nchan_ism, /* i : number of ISM channels */ const int32_t element_brate, /* i : element bitrate */ const int16_t ism_imp /* i : ISM importance flag */ #ifdef OMASA_UPDATES , const int16_t ism_imp, /* i : ISM importance flag */ const int16_t limit_flag /* i : flag to limit the bitrate increase */ #endif ) { int32_t element_brate_out; Loading @@ -254,12 +215,11 @@ int32_t ivas_interformat_brate( if ( ism_mode == ISM_MASA_MODE_DISC && ( ( nchan_ism == 4 && element_brate == 24000 ) || ( nchan_ism == 3 && element_brate <= 24000 ) || ( nchan_ism == 2 && element_brate <= 11000 ) ) ) /* for border case in DISC mode */ { #ifdef OMASA_UPDATES if ( ( limit_flag == 1 ) && ( ( nchan_ism == 4 && element_brate == 24000 ) || ( nchan_ism == 3 && element_brate == 20000 ) || ( nchan_ism == 2 && element_brate <= 11000 ) ) ) if ( limit_flag == 1 && ( ( nchan_ism == 4 && element_brate == 24000 ) || ( nchan_ism == 3 && element_brate == 20000 ) || ( nchan_ism == 2 && element_brate <= 11000 ) ) ) { return element_brate; } #endif if ( ism_imp == ISM_LOW_IMP ) { nBits = (int16_t) ( nBits * GAMMA_ISM_LOW_IMP4 ); Loading @@ -281,12 +241,7 @@ int32_t ivas_interformat_brate( } } } else #ifdef OMASA_UPDATES if ( ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || #else if ( ism_mode == ISM_MASA_MODE_ONE_OBJ || #endif else if ( ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || ( ism_mode == ISM_MASA_MODE_DISC && element_brate == 9600 ) /* this condition corresponds to the ivas_total_brate = 24400 and 1 object */ ) { Loading lib_com/ivas_prot.h +4 −6 Original line number Diff line number Diff line Loading @@ -4844,7 +4844,7 @@ ivas_error vbap_init_data( const float *speaker_node_azi_deg, /* i : vector of speaker node azimuths (positive left) */ const float *speaker_node_ele_deg, /* i : vector of speaker node elevations (positive up) */ const int16_t num_speaker_nodes /* i : number of speaker nodes in the set */ #ifdef OMASA_UPDATES #ifdef MASA_AND_OBJECTS , const int16_t support_object_mode /* i : init VBAP also for object panning mode */ #endif Loading @@ -4859,7 +4859,7 @@ void vbap_determine_gains( float *gains, /* o : gain vector for speaker nodes for given direction */ const int16_t azi_deg, /* i : azimuth in degrees for panning direction (positive left) */ const int16_t ele_deg /* i : elevation in degrees for panning direction (positive up) */ #ifdef OMASA_UPDATES #ifdef MASA_AND_OBJECTS , const int16_t use_object_mode /* i : select between object mode panning and spatial mode panning */ #endif Loading Loading @@ -5185,10 +5185,8 @@ int32_t ivas_interformat_brate( const ISM_MODE ism_mode, /* i : ISM mode */ const int16_t nchan_ism, /* i : number of ISM channels */ const int32_t element_brate, /* i : element bitrate */ const int16_t ism_imp /* i : ISM importance flag */ #ifdef OMASA_UPDATES , const int16_t limit_flag /* i : flag to limit the bitrate increase */ #endif const int16_t ism_imp, /* i : ISM importance flag */ const int16_t limit_flag /* i : flag to limit the bitrate increase */ ); void ivas_combined_format_brate_sanity( Loading Loading
lib_com/bitstream.c +0 −24 Original line number Diff line number Diff line Loading @@ -1972,37 +1972,13 @@ ivas_error preview_indices( else if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { /* read number of objects from the bitstream */ #ifdef OMASA_UPDATES st_ivas->nchan_transport = 2; /* always 2 MASA transport channels */ st_ivas->nchan_ism = 0; #else st_ivas->nchan_transport = 0; #endif if ( total_brate != SID_2k40 && total_brate != FRAME_NO_DATA ) { #ifdef OMASA_UPDATES st_ivas->nchan_ism = 2 * bit_stream[total_brate / FRAMES_PER_SEC - 1] + bit_stream[total_brate / FRAMES_PER_SEC - 2] + 1; #endif st_ivas->ism_mode = ivas_omasa_ism_mode_select( total_brate, st_ivas->nchan_ism ); #ifndef OMASA_UPDATES if ( st_ivas->ism_mode == ISM_MASA_MODE_ONE_OBJ ) { st_ivas->nchan_transport = 0; } else if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC ) { st_ivas->nchan_transport = 2 * st_ivas->bit_stream[total_brate / FRAMES_PER_SEC - 2] + st_ivas->bit_stream[total_brate / FRAMES_PER_SEC - 3] + 1; } k = (int16_t) ( ( total_brate / FRAMES_PER_SEC ) - 1 ); { st_ivas->nchan_transport++; k--; } #endif } } #endif Loading
lib_com/ivas_cnst.h +1 −9 Original line number Diff line number Diff line Loading @@ -374,12 +374,8 @@ typedef enum #ifdef MASA_AND_OBJECTS , ISM_MASA_MODE_PARAM, /* parametric ISM mode for combined MASA ISM format */ #ifdef OMASA_UPDATES ISM_MASA_MODE_MASA_ONE_OBJ, /* MASA ISM mode when one object is encoded separately and remainder using MASA parameters */ ISM_MASA_MODE_PARAM_ONE_OBJ, /* MASA ISM mode when one object is encoded separately and remainder using parametric object model */ #else ISM_MASA_MODE_ONE_OBJ, /* MASA ISM mode when one object is encoded separarately */ #endif ISM_MASA_MODE_DISC /* MASA ISM mode when all objects are encoded separarately */ #endif } ISM_MODE; Loading Loading @@ -639,11 +635,7 @@ enum IND_STEREO_DFT_SIDEGAIN_FLAG, IND_STEREO_DFT_SIDEGAINS, #ifdef OMASA_UPDATES IND_STEREO_DFT_ITD_MODE = IND_STEREO_DFT_SIDEGAINS + 4 * STEREO_DFT_BAND_MAX + 120, #else IND_STEREO_DFT_ITD_MODE = IND_STEREO_DFT_SIDEGAINS + 4 * STEREO_DFT_BAND_MAX + 72, #endif IND_STEREO_DFT_ITD_HUFF, IND_STEREO_DFT_ITD_NEG, Loading
lib_com/ivas_masa_com.c +0 −12 Original line number Diff line number Diff line Loading @@ -96,11 +96,7 @@ void ivas_masa_set_elements( if ( ivas_total_brate > MIN_BRATE_MDCT_STEREO ) { *element_mode = IVAS_CPE_MDCT; #ifdef OMASA_UPDATES if ( ( ism_mode == ISM_MASA_MODE_DISC || ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) && ( ivas_total_brate - ism_total_brate < MIN_BRATE_MDCT_STEREO ) ) #else if ( ( ism_mode == ISM_MASA_MODE_DISC || ism_mode == ISM_MASA_MODE_ONE_OBJ ) && ( ivas_total_brate - ism_total_brate < MIN_BRATE_MDCT_STEREO ) ) #endif { *element_mode = IVAS_CPE_DFT; } Loading @@ -119,11 +115,7 @@ void ivas_masa_set_elements( } hQMetaData->bits_frame_nominal = (int16_t) ( ivas_total_brate / FRAMES_PER_SEC ); #ifdef MASA_AND_OBJECTS #ifdef OMASA_UPDATES if ( ivas_format == MASA_ISM_FORMAT && ( ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ || ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || ism_mode == ISM_MASA_MODE_DISC ) ) #else if ( ivas_format == MASA_ISM_FORMAT && ( ism_mode == ISM_MASA_MODE_ONE_OBJ || ism_mode == ISM_MASA_MODE_DISC ) ) #endif { hQMetaData->bits_frame_nominal -= (int16_t) ( ism_total_brate / FRAMES_PER_SEC ); } Loading Loading @@ -634,11 +626,7 @@ int32_t calculate_cpe_brate_MASA_ISM( k++; } #ifdef OMASA_UPDATES if ( ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) #else if ( ism_mode == ISM_MASA_MODE_ONE_OBJ ) #endif { cpe_brate = ivas_total_brate - sep_object_brate[k - 2][0]; /* take data from the first column */ } Loading
lib_com/ivas_omasa_com.c +10 −55 Original line number Diff line number Diff line Loading @@ -58,15 +58,9 @@ #define GAMMA_ISM_MEDIUM_IMP3 1.15f #define GAMMA_ISM_HIGH_IMP3 1.3f #ifdef OMASA_UPDATES #define GAMMA_ISM_LOW_IMP4 0.8f #define GAMMA_ISM_MEDIUM_IMP4 1.0f #define GAMMA_ISM_HIGH_IMP4 1.2f #else #define GAMMA_ISM_LOW_IMP4 0.6f #define GAMMA_ISM_MEDIUM_IMP4 0.8f #define GAMMA_ISM_HIGH_IMP4 1.0f #endif /*--------------------------------------------------------------- Loading Loading @@ -103,11 +97,7 @@ ISM_MODE ivas_omasa_ism_mode_select( } else if ( ivas_total_brate >= IVAS_32k ) { #ifdef OMASA_UPDATES ism_mode = ISM_MASA_MODE_PARAM_ONE_OBJ; #else ism_mode = ISM_MASA_MODE_ONE_OBJ; #endif } else { Loading @@ -121,23 +111,12 @@ ISM_MODE ivas_omasa_ism_mode_select( } else if ( ivas_total_brate >= IVAS_64k ) { #ifdef OMASA_UPDATES ism_mode = ISM_MASA_MODE_PARAM_ONE_OBJ; #else ism_mode = ISM_MASA_MODE_ONE_OBJ; #endif } #ifdef OMASA_UPDATES else if ( ivas_total_brate >= IVAS_32k ) { ism_mode = ISM_MASA_MODE_MASA_ONE_OBJ; } #else else if ( ivas_total_brate >= IVAS_48k ) { ism_mode = ISM_MASA_MODE_PARAM; } #endif else { ism_mode = ISM_MODE_NONE; Loading @@ -148,7 +127,6 @@ ISM_MODE ivas_omasa_ism_mode_select( { ism_mode = ISM_MASA_MODE_DISC; } #ifdef OMASA_UPDATES else if ( ivas_total_brate >= IVAS_64k ) { ism_mode = ISM_MASA_MODE_PARAM_ONE_OBJ; Loading @@ -157,16 +135,6 @@ ISM_MODE ivas_omasa_ism_mode_select( { ism_mode = ISM_MASA_MODE_MASA_ONE_OBJ; } #else else if ( ivas_total_brate >= IVAS_64k ) { ism_mode = ISM_MASA_MODE_ONE_OBJ; } else if ( ivas_total_brate >= IVAS_48k ) { ism_mode = ISM_MASA_MODE_PARAM; } #endif else { ism_mode = ISM_MODE_NONE; Loading Loading @@ -197,12 +165,8 @@ void ivas_set_omasa_TC( *nCPE = 1; *nSCE = 0; break; #ifdef OMASA_UPDATES case ISM_MASA_MODE_MASA_ONE_OBJ: case ISM_MASA_MODE_PARAM_ONE_OBJ: #else case ISM_MASA_MODE_ONE_OBJ: #endif *nCPE = 1; *nSCE = 1; break; Loading Loading @@ -233,11 +197,8 @@ int32_t ivas_interformat_brate( const ISM_MODE ism_mode, /* i : ISM mode */ const int16_t nchan_ism, /* i : number of ISM channels */ const int32_t element_brate, /* i : element bitrate */ const int16_t ism_imp /* i : ISM importance flag */ #ifdef OMASA_UPDATES , const int16_t ism_imp, /* i : ISM importance flag */ const int16_t limit_flag /* i : flag to limit the bitrate increase */ #endif ) { int32_t element_brate_out; Loading @@ -254,12 +215,11 @@ int32_t ivas_interformat_brate( if ( ism_mode == ISM_MASA_MODE_DISC && ( ( nchan_ism == 4 && element_brate == 24000 ) || ( nchan_ism == 3 && element_brate <= 24000 ) || ( nchan_ism == 2 && element_brate <= 11000 ) ) ) /* for border case in DISC mode */ { #ifdef OMASA_UPDATES if ( ( limit_flag == 1 ) && ( ( nchan_ism == 4 && element_brate == 24000 ) || ( nchan_ism == 3 && element_brate == 20000 ) || ( nchan_ism == 2 && element_brate <= 11000 ) ) ) if ( limit_flag == 1 && ( ( nchan_ism == 4 && element_brate == 24000 ) || ( nchan_ism == 3 && element_brate == 20000 ) || ( nchan_ism == 2 && element_brate <= 11000 ) ) ) { return element_brate; } #endif if ( ism_imp == ISM_LOW_IMP ) { nBits = (int16_t) ( nBits * GAMMA_ISM_LOW_IMP4 ); Loading @@ -281,12 +241,7 @@ int32_t ivas_interformat_brate( } } } else #ifdef OMASA_UPDATES if ( ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || #else if ( ism_mode == ISM_MASA_MODE_ONE_OBJ || #endif else if ( ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || ( ism_mode == ISM_MASA_MODE_DISC && element_brate == 9600 ) /* this condition corresponds to the ivas_total_brate = 24400 and 1 object */ ) { Loading
lib_com/ivas_prot.h +4 −6 Original line number Diff line number Diff line Loading @@ -4844,7 +4844,7 @@ ivas_error vbap_init_data( const float *speaker_node_azi_deg, /* i : vector of speaker node azimuths (positive left) */ const float *speaker_node_ele_deg, /* i : vector of speaker node elevations (positive up) */ const int16_t num_speaker_nodes /* i : number of speaker nodes in the set */ #ifdef OMASA_UPDATES #ifdef MASA_AND_OBJECTS , const int16_t support_object_mode /* i : init VBAP also for object panning mode */ #endif Loading @@ -4859,7 +4859,7 @@ void vbap_determine_gains( float *gains, /* o : gain vector for speaker nodes for given direction */ const int16_t azi_deg, /* i : azimuth in degrees for panning direction (positive left) */ const int16_t ele_deg /* i : elevation in degrees for panning direction (positive up) */ #ifdef OMASA_UPDATES #ifdef MASA_AND_OBJECTS , const int16_t use_object_mode /* i : select between object mode panning and spatial mode panning */ #endif Loading Loading @@ -5185,10 +5185,8 @@ int32_t ivas_interformat_brate( const ISM_MODE ism_mode, /* i : ISM mode */ const int16_t nchan_ism, /* i : number of ISM channels */ const int32_t element_brate, /* i : element bitrate */ const int16_t ism_imp /* i : ISM importance flag */ #ifdef OMASA_UPDATES , const int16_t limit_flag /* i : flag to limit the bitrate increase */ #endif const int16_t ism_imp, /* i : ISM importance flag */ const int16_t limit_flag /* i : flag to limit the bitrate increase */ ); void ivas_combined_format_brate_sanity( Loading