Loading lib_com/basop32.c +8 −0 Original line number Diff line number Diff line Loading @@ -3577,12 +3577,20 @@ Word16 div_l( Word32 L_num, Word16 den ) if ( den == (Word16) 0 ) { #ifdef IVAS_FLOAT_FIXED /* NOTE: This is just for temporary usage for identifying crashes */ assert( 0 ); #endif // IVAS_FLOAT_FIXED /* printf("Division by 0 in div_l, Fatal error in "); printStack(); */ exit( -1 ); } if ( ( L_num < (Word32) 0 ) || ( den < (Word16) 0 ) ) { #ifdef IVAS_FLOAT_FIXED /* NOTE: This is just for temporary usage for identifying crashes */ assert( 0 ); #endif // IVAS_FLOAT_FIXED /* printf("Division Error in div_l, Fatal error in "); printStack(); */ exit( -1 ); } Loading lib_com/float_to_fix_ops.c +5 −5 Original line number Diff line number Diff line Loading @@ -789,11 +789,11 @@ void stereo_tcx_dec_mode_switch_reconf_To_fixed_2( //st->hFdCngDec->msPeriodog_ST_fx[p] = (Word32) ( st->hFdCngDec->msPeriodog_ST[p] * ( 1u << ( 31 - st->hFdCngDec->msPeriodog_ST_exp ) ) ); } st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 31 - Q4; // Q4 for ( int p = 0; p < FFTCLDFBLEN; p++ ) { st->hFdCngDec->hFdCngCom->cngNoiseLevel[p] = (Word32) ( st->hFdCngDec->hFdCngCom->cngNoiseLevel_flt[p] * ( 1u << ( 31 - st->hFdCngDec->hFdCngCom->cngNoiseLevelExp ) ) ); } // st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 31 - Q4; // Q4 //for ( int p = 0; p < FFTCLDFBLEN; p++ ) //{ // st->hFdCngDec->hFdCngCom->cngNoiseLevel[p] = (Word32) ( st->hFdCngDec->hFdCngCom->cngNoiseLevel_flt[p] * ( 1u << ( 31 - st->hFdCngDec->hFdCngCom->cngNoiseLevelExp ) ) ); //} //st->hFdCngDec->hFdCngCom->sidNoiseEstExp = 31 - Q4; //st->hFdCngDec->partNoiseShape_exp = 31 - Q4; //for ( int p = 0; p < NPART; p++ ) Loading lib_com/ivas_cnst.h +2 −0 Original line number Diff line number Diff line Loading @@ -352,7 +352,9 @@ typedef enum #define ISM_RADIUS_NBITS 6 #define ISM_RADIUS_MIN 0.0f #define ISM_RADIUS_MIN_Q9 0 #define ISM_RADIUS_DELTA 0.25f /* Max radius = (2^ISM_RADIUS_NBITS-1)*0.25 = 15.75 */ #define ISM_RADIUS_DELTA_Q8 64 #define ISM_EXTENDED_METADATA_BRATE IVAS_64k #define ISM_METADATA_IS_NDP_BITS 1 #define ISM_EXTENDED_METADATA_BITS 1 Loading lib_com/ivas_ism_com.c +5 −1 Original line number Diff line number Diff line Loading @@ -1043,14 +1043,18 @@ ISM_MODE ivas_ism_mode_select( ) { ISM_MODE ism_mode = ISM_MODE_NONE; move32(); test(); IF( GT_16( nchan_inp, 2 ) && LE_32( ivas_total_brate, ACELP_32k ) ) { ism_mode = ISM_MODE_PARAM; move32(); } ELSE { ism_mode = ISM_MODE_DISC; move32(); } return ism_mode; Loading lib_com/ivas_prot.h +25 −4 Original line number Diff line number Diff line Loading @@ -4668,12 +4668,14 @@ void ivas_param_mc_dec_close( ); #endif // IVAS_FLOAT_FIXED #ifndef IVAS_FLOAT_FIXED void ivas_param_mc_dec_read_BS( const int32_t ivas_total_brate, /* i : IVAS total bitrate */ Decoder_State *st, /* i/o: decoder state structure */ PARAM_MC_DEC_HANDLE hParamMC, /* i/o: decoder ParamMC handle */ int16_t *nb_bits /* o : number of bits written */ ); #endif void ivas_param_mc_dec_digest_tc( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ Loading Loading @@ -6445,7 +6447,6 @@ void update_bits_next_block( const int16_t max_i, /* i : max number of subands */ const int16_t max_k /* i : max number of subframe */ ); #endif void ivas_masa_prerender( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ Loading @@ -6453,6 +6454,7 @@ void ivas_masa_prerender( const int16_t output_frame, /* i : output frame length per channel */ const int16_t nchan_remapped /* i : number of transports used in core */ ); #endif void ivas_spar_param_to_masa_param_mapping( Decoder_Struct *st_ivas, /* i/o: IVAS decoder struct */ Loading Loading @@ -6483,18 +6485,37 @@ ivas_error ivas_binRenderer_open( ); #endif #ifdef IVAS_FLOAT_FIXED void ivas_binRenderer_close_fx( BINAURAL_RENDERER_HANDLE *hBinRenderer /* i/o: decoder binaural renderer handle */ ); #else void ivas_binRenderer_close( BINAURAL_RENDERER_HANDLE *hBinRenderer /* i/o: decoder binaural renderer handle */ ); #endif void ivas_binaural_hrtf_close( HRTFS_FASTCONV_HANDLE *hHrtfFastConv /* i/o: decoder binaural hrtf handle */ ); #ifdef IVAS_FLOAT_FIXED void ivas_init_binaural_hrtf_fx( HRTFS_FASTCONV *HrtfFastConv /* i/o: FASTCONV HRTF structure */ ); #else void ivas_init_binaural_hrtf( HRTFS_FASTCONV *HrtfFastConv /* i/o: FASTCONV HRTF structure */ ); #endif #ifdef IVAS_FLOAT_FIXED ivas_error ivas_allocate_binaural_hrtf_fx( HRTFS_FASTCONV *HrtfFastConv, /* i/o: FASTCONV HRTF structure */ const AUDIO_CONFIG input_config, /* i : input audio configuration */ const BINAURAL_INPUT_AUDIO_CONFIG bin_input_config, /* i : binaural input audio config */ const RENDERER_TYPE renderer_type, /* i : renderer type */ const Word16 allocate_init_flag /* i : Memory allocation flag */ ); #else ivas_error ivas_allocate_binaural_hrtf( HRTFS_FASTCONV *HrtfFastConv, /* i/o: FASTCONV HRTF structure */ const AUDIO_CONFIG input_config, /* i : input audio configuration */ Loading @@ -6502,7 +6523,7 @@ ivas_error ivas_allocate_binaural_hrtf( const RENDERER_TYPE renderer_type, /* i : renderer type */ const int16_t allocate_init_flag /* i : Memory allocation flag */ ); #endif void ivas_binRenderer( BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: binaural renderer handle */ Loading Loading
lib_com/basop32.c +8 −0 Original line number Diff line number Diff line Loading @@ -3577,12 +3577,20 @@ Word16 div_l( Word32 L_num, Word16 den ) if ( den == (Word16) 0 ) { #ifdef IVAS_FLOAT_FIXED /* NOTE: This is just for temporary usage for identifying crashes */ assert( 0 ); #endif // IVAS_FLOAT_FIXED /* printf("Division by 0 in div_l, Fatal error in "); printStack(); */ exit( -1 ); } if ( ( L_num < (Word32) 0 ) || ( den < (Word16) 0 ) ) { #ifdef IVAS_FLOAT_FIXED /* NOTE: This is just for temporary usage for identifying crashes */ assert( 0 ); #endif // IVAS_FLOAT_FIXED /* printf("Division Error in div_l, Fatal error in "); printStack(); */ exit( -1 ); } Loading
lib_com/float_to_fix_ops.c +5 −5 Original line number Diff line number Diff line Loading @@ -789,11 +789,11 @@ void stereo_tcx_dec_mode_switch_reconf_To_fixed_2( //st->hFdCngDec->msPeriodog_ST_fx[p] = (Word32) ( st->hFdCngDec->msPeriodog_ST[p] * ( 1u << ( 31 - st->hFdCngDec->msPeriodog_ST_exp ) ) ); } st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 31 - Q4; // Q4 for ( int p = 0; p < FFTCLDFBLEN; p++ ) { st->hFdCngDec->hFdCngCom->cngNoiseLevel[p] = (Word32) ( st->hFdCngDec->hFdCngCom->cngNoiseLevel_flt[p] * ( 1u << ( 31 - st->hFdCngDec->hFdCngCom->cngNoiseLevelExp ) ) ); } // st->hFdCngDec->hFdCngCom->cngNoiseLevelExp = 31 - Q4; // Q4 //for ( int p = 0; p < FFTCLDFBLEN; p++ ) //{ // st->hFdCngDec->hFdCngCom->cngNoiseLevel[p] = (Word32) ( st->hFdCngDec->hFdCngCom->cngNoiseLevel_flt[p] * ( 1u << ( 31 - st->hFdCngDec->hFdCngCom->cngNoiseLevelExp ) ) ); //} //st->hFdCngDec->hFdCngCom->sidNoiseEstExp = 31 - Q4; //st->hFdCngDec->partNoiseShape_exp = 31 - Q4; //for ( int p = 0; p < NPART; p++ ) Loading
lib_com/ivas_cnst.h +2 −0 Original line number Diff line number Diff line Loading @@ -352,7 +352,9 @@ typedef enum #define ISM_RADIUS_NBITS 6 #define ISM_RADIUS_MIN 0.0f #define ISM_RADIUS_MIN_Q9 0 #define ISM_RADIUS_DELTA 0.25f /* Max radius = (2^ISM_RADIUS_NBITS-1)*0.25 = 15.75 */ #define ISM_RADIUS_DELTA_Q8 64 #define ISM_EXTENDED_METADATA_BRATE IVAS_64k #define ISM_METADATA_IS_NDP_BITS 1 #define ISM_EXTENDED_METADATA_BITS 1 Loading
lib_com/ivas_ism_com.c +5 −1 Original line number Diff line number Diff line Loading @@ -1043,14 +1043,18 @@ ISM_MODE ivas_ism_mode_select( ) { ISM_MODE ism_mode = ISM_MODE_NONE; move32(); test(); IF( GT_16( nchan_inp, 2 ) && LE_32( ivas_total_brate, ACELP_32k ) ) { ism_mode = ISM_MODE_PARAM; move32(); } ELSE { ism_mode = ISM_MODE_DISC; move32(); } return ism_mode; Loading
lib_com/ivas_prot.h +25 −4 Original line number Diff line number Diff line Loading @@ -4668,12 +4668,14 @@ void ivas_param_mc_dec_close( ); #endif // IVAS_FLOAT_FIXED #ifndef IVAS_FLOAT_FIXED void ivas_param_mc_dec_read_BS( const int32_t ivas_total_brate, /* i : IVAS total bitrate */ Decoder_State *st, /* i/o: decoder state structure */ PARAM_MC_DEC_HANDLE hParamMC, /* i/o: decoder ParamMC handle */ int16_t *nb_bits /* o : number of bits written */ ); #endif void ivas_param_mc_dec_digest_tc( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ Loading Loading @@ -6445,7 +6447,6 @@ void update_bits_next_block( const int16_t max_i, /* i : max number of subands */ const int16_t max_k /* i : max number of subframe */ ); #endif void ivas_masa_prerender( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ Loading @@ -6453,6 +6454,7 @@ void ivas_masa_prerender( const int16_t output_frame, /* i : output frame length per channel */ const int16_t nchan_remapped /* i : number of transports used in core */ ); #endif void ivas_spar_param_to_masa_param_mapping( Decoder_Struct *st_ivas, /* i/o: IVAS decoder struct */ Loading Loading @@ -6483,18 +6485,37 @@ ivas_error ivas_binRenderer_open( ); #endif #ifdef IVAS_FLOAT_FIXED void ivas_binRenderer_close_fx( BINAURAL_RENDERER_HANDLE *hBinRenderer /* i/o: decoder binaural renderer handle */ ); #else void ivas_binRenderer_close( BINAURAL_RENDERER_HANDLE *hBinRenderer /* i/o: decoder binaural renderer handle */ ); #endif void ivas_binaural_hrtf_close( HRTFS_FASTCONV_HANDLE *hHrtfFastConv /* i/o: decoder binaural hrtf handle */ ); #ifdef IVAS_FLOAT_FIXED void ivas_init_binaural_hrtf_fx( HRTFS_FASTCONV *HrtfFastConv /* i/o: FASTCONV HRTF structure */ ); #else void ivas_init_binaural_hrtf( HRTFS_FASTCONV *HrtfFastConv /* i/o: FASTCONV HRTF structure */ ); #endif #ifdef IVAS_FLOAT_FIXED ivas_error ivas_allocate_binaural_hrtf_fx( HRTFS_FASTCONV *HrtfFastConv, /* i/o: FASTCONV HRTF structure */ const AUDIO_CONFIG input_config, /* i : input audio configuration */ const BINAURAL_INPUT_AUDIO_CONFIG bin_input_config, /* i : binaural input audio config */ const RENDERER_TYPE renderer_type, /* i : renderer type */ const Word16 allocate_init_flag /* i : Memory allocation flag */ ); #else ivas_error ivas_allocate_binaural_hrtf( HRTFS_FASTCONV *HrtfFastConv, /* i/o: FASTCONV HRTF structure */ const AUDIO_CONFIG input_config, /* i : input audio configuration */ Loading @@ -6502,7 +6523,7 @@ ivas_error ivas_allocate_binaural_hrtf( const RENDERER_TYPE renderer_type, /* i : renderer type */ const int16_t allocate_init_flag /* i : Memory allocation flag */ ); #endif void ivas_binRenderer( BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: binaural renderer handle */ Loading