Loading apps/renderer.c +12 −1 Original line number Diff line number Diff line Loading @@ -1167,7 +1167,18 @@ int main( fprintf( stderr, "\nFailed to read renderer configuration from file %s\n", args.renderConfigFilePath ); goto cleanup; } #ifdef NONBE_FIX_1337_MISSING_DIRECTIVITY_DISTATT_EXTREND if ( ( error = RenderConfigReader_getDirectivity( renderConfigReader, args.directivityPatternId, renderConfig.directivity_fx ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get directivity patterns for one or more of IDs: %d %d %d %d\n\n", args.directivityPatternId[0], args.directivityPatternId[1], args.directivityPatternId[2], args.directivityPatternId[3] ); goto cleanup; } if ( ( error = RenderConfigReader_getDistanceAttenuation( renderConfigReader, renderConfig.distAtt_fx ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get Distance Attenuation \n\n" ); goto cleanup; } #endif if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { #ifdef FIX_1053_REVERB_RECONFIGURATION Loading lib_com/cnst.h +1 −1 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ #define NUM_SAMPLES_320 (320) #define NUM_SAMPLES_160 (160) #define L_SUBFRAME_48k (240) #define L_SUBFRAME_32k (180) #define L_SUBFRAME_32k (160) #define L_SUBFRAME_16k (80) #define L_SUBFRAME_8k (40) #define Q31_BY_NUM_SAMPLES_960 ( 2239294 ) /* 1/959 in Q31 */ Loading lib_com/common_api_types.h +0 −5 Original line number Diff line number Diff line Loading @@ -317,11 +317,6 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG { Word16 override; Word16 nBands; /* Number of frequency bands for which reverb properties are provided, integer, range [2..256] */ float pFc_input[IVAS_CLDFB_NO_CHANNELS_MAX]; /* Center frequencies for which following values are provided: */ float pAcoustic_rt60[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's T60 per center frequency */ float pAcoustic_dsr[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's Diffuse to Source Ratio per center frequency */ float acousticPreDelay; /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] */ float inputPreDelay; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */ Word32 pFc_input_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q16 Center frequencies for which following values are provided: */ Word32 pAcoustic_rt60_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q26 - The room's T60 per center frequency */ Word32 pAcoustic_dsr_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q30 - The room's Diffuse to Source Ratio per center frequency */ Loading lib_com/ivas_cnst.h +5 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,7 @@ typedef enum #else RENDERER_OSBA_LS #endif } RENDERER_TYPE; #define MAX_FREQUENCY_BANDS 64 Loading Loading @@ -272,7 +273,11 @@ typedef enum #define SID_MDCT_STEREO 0x1 /* 1| 0| 0 */ #define SID_ISM 0x2 /* 0| 1| 0 */ #define SID_MASA_1TC 0x3 /* 1| 1| 0 */ #ifdef FIX_1209_SID_SIGNALING /*reserved*/ /*0x4*/ /* 0| 0| 1 */ #else #define SID_MULTICHANNEL 0x4 /* 0| 0| 1 */ #endif #define SID_SBA_1TC 0x5 /* 1| 0| 1 */ #define SID_SBA_2TC 0x6 /* 0| 1| 1 */ #define SID_MASA_2TC 0x7 /* 1| 1| 1 */ Loading lib_com/ivas_prot_fx.h +32 −25 Original line number Diff line number Diff line Loading @@ -165,19 +165,23 @@ void ivas_omasa_combine_separate_ism_with_masa_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ Word32 *output[], /* o : output synthesis signal */ Word16 *output_q, /* i/o: output Q value */ const int16_t nchan_ism, /* i : number of ISMs */ const int16_t output_frame /* i : output frame length per channel */ const Word16 nchan_ism, /* i : number of ISMs */ const Word16 output_frame /* i : output frame length per channel */ ); #ifdef FIX_1161_REDUCE_OMASA_HEAP ivas_error ivas_omasa_objects_delay_open_fx( #else ivas_error ivas_omasa_render_objects_from_mix_open_fx( #endif Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); void ivas_omasa_render_objects_from_mix_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ Word32 *output[], /* o : output synthesis signal */ const int16_t nchan_ism, /* i : number of ISMs */ const int16_t output_frame, /* i : output frame length per channel */ const Word16 nchan_ism, /* i : number of ISMs */ const Word16 output_frame, /* i : output frame length per channel */ Word16 *output_q /* i/o: output Q value */ ); Loading @@ -191,6 +195,7 @@ ivas_error ivas_omasa_ism_metadata_dec_fx( const Word16 dirac_bs_md_write_idx, /* i : DirAC bitstream write index */ Word16 nb_bits_metadata[] /* o : number of ISM metadata bits */ ); ivas_error ivas_omasa_dec_config_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ UWord16 *nSamplesRendered, /* o : number of samples flushed from the previous frame (JBM) */ Loading Loading @@ -3162,8 +3167,8 @@ void stereo_tcx_core_enc( Word16 pitch_buf_fx[NB_SUBFR16k], /* o : pitch for each subframe, Q6 */ const Word16 last_element_mode, /* i : last element mode, Q0 */ const Word16 vad_hover_flag, /* i : VAD hangover flag, Q0 */ Word16 Q_new ); Word16 Q_new ); Word16 transient_analysis_ivas_fx( TRAN_DET_HANDLE hTranDet, /* i : handle transient detection */ Loading Loading @@ -3289,20 +3294,24 @@ void ivas_fb_mixer_get_windowed_fr_fx( const Word16 length, /* i : number of new samples in time slot */ const Word16 mdft_len, /* i : MDFT frame length */ const Word16 nchan_fb_in, /* i : number of analysis channels */ Word16 gb ); Word16 gb ); void ivas_omasa_set_config_fx( OMASA_ENC_HANDLE hOMasa, /* i/o: OMASA encoder handle */ MASA_ENCODER_HANDLE hMasa, /* i : MASA encoder handle */ const Word32 input_Fs, /* i : Input sample rate */ const ISM_MODE ism_mode /* i : ISM mode */ ); Word16 ivas_omasa_ener_brate_fx( const Word16 nchan_ism, /* i : number of ISMs */ const Word32 ivas_total_brate, /* i : IVAS total bitrate */ Word32 *data_f[], /* i : Input / transport audio signals */ const Word16 input_frame, /* i : Input frame size */ Word16 data_e /*i:exponent for data_f */ const Word16 data_e /* i : exponent for data_f */ ); void computeDiffuseness_mdft_fx( Word32 **buffer_intensity[DIRAC_NUM_DIMS], const Word32 *buffer_energy, Loading Loading @@ -3341,6 +3350,7 @@ UWord8 ivas_masa_surrcoh_signicant_fx( ivas_error ivas_mcmasa_enc_open_fx( Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ ); void ivas_mcmasa_enc_close_fx( MCMASA_ENC_HANDLE *hMcMasa, /* i/o: encoder McMASA handle */ const Word32 input_Fs /* i : input sampling rate */ Loading Loading @@ -4038,7 +4048,6 @@ void ivas_syn_output_f_fx( Word32 *synth_out /* o : integer 16 bits synthesis signal */ ); ivas_error ivas_init_encoder_fx( Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ ); Loading @@ -4049,10 +4058,8 @@ ivas_error ivas_output_buff_dec_fx( const Word16 nchan_out_buff /* i : number of output channels */ ); /*! r: flag to indicate if split rendering is enabled */ Word16 is_split_rendering_enabled( const DECODER_CONFIG_HANDLE hDecoderConfig, /* i : configuration structure */ const IVAS_RENDER_CONFIG_HANDLE hRenderConfig /* i : Render config data structure */ ivas_error ivas_dec_get_format_fx( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); ivas_error ivas_dec_setup( Loading Loading
apps/renderer.c +12 −1 Original line number Diff line number Diff line Loading @@ -1167,7 +1167,18 @@ int main( fprintf( stderr, "\nFailed to read renderer configuration from file %s\n", args.renderConfigFilePath ); goto cleanup; } #ifdef NONBE_FIX_1337_MISSING_DIRECTIVITY_DISTATT_EXTREND if ( ( error = RenderConfigReader_getDirectivity( renderConfigReader, args.directivityPatternId, renderConfig.directivity_fx ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get directivity patterns for one or more of IDs: %d %d %d %d\n\n", args.directivityPatternId[0], args.directivityPatternId[1], args.directivityPatternId[2], args.directivityPatternId[3] ); goto cleanup; } if ( ( error = RenderConfigReader_getDistanceAttenuation( renderConfigReader, renderConfig.distAtt_fx ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get Distance Attenuation \n\n" ); goto cleanup; } #endif if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { #ifdef FIX_1053_REVERB_RECONFIGURATION Loading
lib_com/cnst.h +1 −1 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ #define NUM_SAMPLES_320 (320) #define NUM_SAMPLES_160 (160) #define L_SUBFRAME_48k (240) #define L_SUBFRAME_32k (180) #define L_SUBFRAME_32k (160) #define L_SUBFRAME_16k (80) #define L_SUBFRAME_8k (40) #define Q31_BY_NUM_SAMPLES_960 ( 2239294 ) /* 1/959 in Q31 */ Loading
lib_com/common_api_types.h +0 −5 Original line number Diff line number Diff line Loading @@ -317,11 +317,6 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG { Word16 override; Word16 nBands; /* Number of frequency bands for which reverb properties are provided, integer, range [2..256] */ float pFc_input[IVAS_CLDFB_NO_CHANNELS_MAX]; /* Center frequencies for which following values are provided: */ float pAcoustic_rt60[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's T60 per center frequency */ float pAcoustic_dsr[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's Diffuse to Source Ratio per center frequency */ float acousticPreDelay; /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] */ float inputPreDelay; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */ Word32 pFc_input_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q16 Center frequencies for which following values are provided: */ Word32 pAcoustic_rt60_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q26 - The room's T60 per center frequency */ Word32 pAcoustic_dsr_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q30 - The room's Diffuse to Source Ratio per center frequency */ Loading
lib_com/ivas_cnst.h +5 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,7 @@ typedef enum #else RENDERER_OSBA_LS #endif } RENDERER_TYPE; #define MAX_FREQUENCY_BANDS 64 Loading Loading @@ -272,7 +273,11 @@ typedef enum #define SID_MDCT_STEREO 0x1 /* 1| 0| 0 */ #define SID_ISM 0x2 /* 0| 1| 0 */ #define SID_MASA_1TC 0x3 /* 1| 1| 0 */ #ifdef FIX_1209_SID_SIGNALING /*reserved*/ /*0x4*/ /* 0| 0| 1 */ #else #define SID_MULTICHANNEL 0x4 /* 0| 0| 1 */ #endif #define SID_SBA_1TC 0x5 /* 1| 0| 1 */ #define SID_SBA_2TC 0x6 /* 0| 1| 1 */ #define SID_MASA_2TC 0x7 /* 1| 1| 1 */ Loading
lib_com/ivas_prot_fx.h +32 −25 Original line number Diff line number Diff line Loading @@ -165,19 +165,23 @@ void ivas_omasa_combine_separate_ism_with_masa_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ Word32 *output[], /* o : output synthesis signal */ Word16 *output_q, /* i/o: output Q value */ const int16_t nchan_ism, /* i : number of ISMs */ const int16_t output_frame /* i : output frame length per channel */ const Word16 nchan_ism, /* i : number of ISMs */ const Word16 output_frame /* i : output frame length per channel */ ); #ifdef FIX_1161_REDUCE_OMASA_HEAP ivas_error ivas_omasa_objects_delay_open_fx( #else ivas_error ivas_omasa_render_objects_from_mix_open_fx( #endif Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); void ivas_omasa_render_objects_from_mix_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ Word32 *output[], /* o : output synthesis signal */ const int16_t nchan_ism, /* i : number of ISMs */ const int16_t output_frame, /* i : output frame length per channel */ const Word16 nchan_ism, /* i : number of ISMs */ const Word16 output_frame, /* i : output frame length per channel */ Word16 *output_q /* i/o: output Q value */ ); Loading @@ -191,6 +195,7 @@ ivas_error ivas_omasa_ism_metadata_dec_fx( const Word16 dirac_bs_md_write_idx, /* i : DirAC bitstream write index */ Word16 nb_bits_metadata[] /* o : number of ISM metadata bits */ ); ivas_error ivas_omasa_dec_config_fx( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ UWord16 *nSamplesRendered, /* o : number of samples flushed from the previous frame (JBM) */ Loading Loading @@ -3162,8 +3167,8 @@ void stereo_tcx_core_enc( Word16 pitch_buf_fx[NB_SUBFR16k], /* o : pitch for each subframe, Q6 */ const Word16 last_element_mode, /* i : last element mode, Q0 */ const Word16 vad_hover_flag, /* i : VAD hangover flag, Q0 */ Word16 Q_new ); Word16 Q_new ); Word16 transient_analysis_ivas_fx( TRAN_DET_HANDLE hTranDet, /* i : handle transient detection */ Loading Loading @@ -3289,20 +3294,24 @@ void ivas_fb_mixer_get_windowed_fr_fx( const Word16 length, /* i : number of new samples in time slot */ const Word16 mdft_len, /* i : MDFT frame length */ const Word16 nchan_fb_in, /* i : number of analysis channels */ Word16 gb ); Word16 gb ); void ivas_omasa_set_config_fx( OMASA_ENC_HANDLE hOMasa, /* i/o: OMASA encoder handle */ MASA_ENCODER_HANDLE hMasa, /* i : MASA encoder handle */ const Word32 input_Fs, /* i : Input sample rate */ const ISM_MODE ism_mode /* i : ISM mode */ ); Word16 ivas_omasa_ener_brate_fx( const Word16 nchan_ism, /* i : number of ISMs */ const Word32 ivas_total_brate, /* i : IVAS total bitrate */ Word32 *data_f[], /* i : Input / transport audio signals */ const Word16 input_frame, /* i : Input frame size */ Word16 data_e /*i:exponent for data_f */ const Word16 data_e /* i : exponent for data_f */ ); void computeDiffuseness_mdft_fx( Word32 **buffer_intensity[DIRAC_NUM_DIMS], const Word32 *buffer_energy, Loading Loading @@ -3341,6 +3350,7 @@ UWord8 ivas_masa_surrcoh_signicant_fx( ivas_error ivas_mcmasa_enc_open_fx( Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ ); void ivas_mcmasa_enc_close_fx( MCMASA_ENC_HANDLE *hMcMasa, /* i/o: encoder McMASA handle */ const Word32 input_Fs /* i : input sampling rate */ Loading Loading @@ -4038,7 +4048,6 @@ void ivas_syn_output_f_fx( Word32 *synth_out /* o : integer 16 bits synthesis signal */ ); ivas_error ivas_init_encoder_fx( Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ ); Loading @@ -4049,10 +4058,8 @@ ivas_error ivas_output_buff_dec_fx( const Word16 nchan_out_buff /* i : number of output channels */ ); /*! r: flag to indicate if split rendering is enabled */ Word16 is_split_rendering_enabled( const DECODER_CONFIG_HANDLE hDecoderConfig, /* i : configuration structure */ const IVAS_RENDER_CONFIG_HANDLE hRenderConfig /* i : Render config data structure */ ivas_error ivas_dec_get_format_fx( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); ivas_error ivas_dec_setup( Loading