Loading lib_com/common_api_types.h +17 −10 Original line number Diff line number Diff line Loading @@ -102,11 +102,6 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG int16_t override; int16_t use_brir; int16_t late_reverb_on; #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER int16_t do_proximity_mixing; /* Flag to turn ON proximity-based mixing */ int16_t prox_mix_user_locations[IVAS_MAX_INPUT_CHANNELS]; /* user locations array for proximity-based mixing */ int16_t prox_mix_listener_location; /* listener location for proximity-based mixing */ #endif int16_t 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 */ Loading @@ -115,12 +110,24 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG float inputPreDelay; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */ } IVAS_ROOM_ACOUSTICS_CONFIG_DATA; #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER typedef struct IVAS_PROXIMITY_CONFIG { int16_t active; /* Flag to turn ON proximity-based mixing */ int16_t object_locations[IVAS_MAX_INPUT_CHANNELS]; /* user locations array for proximity-based mixing */ int16_t listener_location; /* listener location for proximity-based mixing */ } IVAS_PROXIMITY_CONFIG; #endif typedef struct _IVAS_RENDER_CONFIG { #ifdef DEBUGGING IVAS_RENDER_TYPE_OVERRIDE renderer_type_override; #endif IVAS_ROOM_ACOUSTICS_CONFIG_DATA room_acoustics; #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER IVAS_PROXIMITY_CONFIG proxMix; #endif } IVAS_RENDER_CONFIG_DATA, *IVAS_RENDER_CONFIG_HANDLE; typedef struct _IVAS_LS_CUSTOM_LAYOUT Loading lib_com/ivas_prot.h +0 −10 Original line number Diff line number Diff line Loading @@ -4777,19 +4777,9 @@ void computeReferencePower_enc( const int16_t num_freq_bands /* i : Number of frequency bands */ ); #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER ivas_error ivas_mono_dmx_renderer_open( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t do_proximity_mixing, /* i : flag to enable proximity-based mixing */ const int16_t *prox_mix_user_locations, /* i : user locations array for proximity-based mixing */ const int16_t prox_mix_listener_location /* i : listener location for proximity-based mixing */ ); #else /* I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER */ ivas_error ivas_mono_dmx_renderer_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); #endif /* I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER */ void ivas_mono_downmix_render_passive( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ Loading lib_dec/ivas_init_dec.c +0 −5 Original line number Diff line number Diff line Loading @@ -1273,12 +1273,7 @@ ivas_error ivas_init_decoder( } else if ( st_ivas->renderer_type == RENDERER_MONO_DOWNMIX ) { #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER if ( ( error = ivas_mono_dmx_renderer_open( st_ivas, st_ivas->hRenderConfig->roomAcoustics.do_proximity_mixing, st_ivas->hRenderConfig->roomAcoustics.prox_mix_user_locations, st_ivas->hRenderConfig->roomAcoustics.prox_mix_listener_location ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_mono_dmx_renderer_open( st_ivas ) ) != IVAS_ERR_OK ) #endif { return error; } Loading lib_dec/ivas_mono_dmx_renderer.c +4 −13 Original line number Diff line number Diff line Loading @@ -57,18 +57,9 @@ * Open decoder downmix handle *-------------------------------------------------------------------------*/ #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER ivas_error ivas_mono_dmx_renderer_open( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t do_proximity_mixing, /* i : flag to enable proximity-based mixing */ const int16_t *prox_mix_user_locations, /* i : user locations array for proximity-based mixing */ const int16_t prox_mix_listener_location /* i : listener location for proximity-based mixing */ ) #else /* I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER */ ivas_error ivas_mono_dmx_renderer_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) #endif /* I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER */ { MONO_DOWNMIX_RENDERER_HANDLE hDownmix; Loading @@ -83,12 +74,12 @@ ivas_error ivas_mono_dmx_renderer_open( st_ivas->hMonoDmxRenderer = hDownmix; #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER hDownmix->do_proximity_mixing = do_proximity_mixing; if ( do_proximity_mixing ) hDownmix->do_proximity_mixing = st_ivas->hRenderConfig->proxMix.active; if ( hDownmix->do_proximity_mixing ) { set_zero( hDownmix->powvec, MONO_DOWNMIX_RENDERER_MAX_INPUT_CHANS ); mvs2s( prox_mix_user_locations, hDownmix->userLoc, MONO_DOWNMIX_RENDERER_MAX_INPUT_CHANS ); hDownmix->listenerLoc = prox_mix_listener_location; mvs2s( st_ivas->hRenderConfig->proxMix.objectLocations, hDownmix->userLoc, MONO_DOWNMIX_RENDERER_MAX_INPUT_CHANS ); hDownmix->listenerLoc = st_ivas->hRenderConfig->proxMix.listenerLocation; #ifdef DEBUG_PROX_MIX_INFO int16_t channel_idx; Loading lib_dec/ivas_prox_mix.c +1 −4 Original line number Diff line number Diff line Loading @@ -163,14 +163,11 @@ ivas_error ivas_prox_mixer_compute_gains( sMixer[i] = 0.0f; break; } else { sMixer[j] = 0.0f; } } } } } nrUsers = 0; for ( i = 0; i < nChan; i++ ) Loading Loading
lib_com/common_api_types.h +17 −10 Original line number Diff line number Diff line Loading @@ -102,11 +102,6 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG int16_t override; int16_t use_brir; int16_t late_reverb_on; #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER int16_t do_proximity_mixing; /* Flag to turn ON proximity-based mixing */ int16_t prox_mix_user_locations[IVAS_MAX_INPUT_CHANNELS]; /* user locations array for proximity-based mixing */ int16_t prox_mix_listener_location; /* listener location for proximity-based mixing */ #endif int16_t 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 */ Loading @@ -115,12 +110,24 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG float inputPreDelay; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */ } IVAS_ROOM_ACOUSTICS_CONFIG_DATA; #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER typedef struct IVAS_PROXIMITY_CONFIG { int16_t active; /* Flag to turn ON proximity-based mixing */ int16_t object_locations[IVAS_MAX_INPUT_CHANNELS]; /* user locations array for proximity-based mixing */ int16_t listener_location; /* listener location for proximity-based mixing */ } IVAS_PROXIMITY_CONFIG; #endif typedef struct _IVAS_RENDER_CONFIG { #ifdef DEBUGGING IVAS_RENDER_TYPE_OVERRIDE renderer_type_override; #endif IVAS_ROOM_ACOUSTICS_CONFIG_DATA room_acoustics; #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER IVAS_PROXIMITY_CONFIG proxMix; #endif } IVAS_RENDER_CONFIG_DATA, *IVAS_RENDER_CONFIG_HANDLE; typedef struct _IVAS_LS_CUSTOM_LAYOUT Loading
lib_com/ivas_prot.h +0 −10 Original line number Diff line number Diff line Loading @@ -4777,19 +4777,9 @@ void computeReferencePower_enc( const int16_t num_freq_bands /* i : Number of frequency bands */ ); #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER ivas_error ivas_mono_dmx_renderer_open( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t do_proximity_mixing, /* i : flag to enable proximity-based mixing */ const int16_t *prox_mix_user_locations, /* i : user locations array for proximity-based mixing */ const int16_t prox_mix_listener_location /* i : listener location for proximity-based mixing */ ); #else /* I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER */ ivas_error ivas_mono_dmx_renderer_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); #endif /* I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER */ void ivas_mono_downmix_render_passive( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ Loading
lib_dec/ivas_init_dec.c +0 −5 Original line number Diff line number Diff line Loading @@ -1273,12 +1273,7 @@ ivas_error ivas_init_decoder( } else if ( st_ivas->renderer_type == RENDERER_MONO_DOWNMIX ) { #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER if ( ( error = ivas_mono_dmx_renderer_open( st_ivas, st_ivas->hRenderConfig->roomAcoustics.do_proximity_mixing, st_ivas->hRenderConfig->roomAcoustics.prox_mix_user_locations, st_ivas->hRenderConfig->roomAcoustics.prox_mix_listener_location ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_mono_dmx_renderer_open( st_ivas ) ) != IVAS_ERR_OK ) #endif { return error; } Loading
lib_dec/ivas_mono_dmx_renderer.c +4 −13 Original line number Diff line number Diff line Loading @@ -57,18 +57,9 @@ * Open decoder downmix handle *-------------------------------------------------------------------------*/ #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER ivas_error ivas_mono_dmx_renderer_open( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t do_proximity_mixing, /* i : flag to enable proximity-based mixing */ const int16_t *prox_mix_user_locations, /* i : user locations array for proximity-based mixing */ const int16_t prox_mix_listener_location /* i : listener location for proximity-based mixing */ ) #else /* I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER */ ivas_error ivas_mono_dmx_renderer_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) #endif /* I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER */ { MONO_DOWNMIX_RENDERER_HANDLE hDownmix; Loading @@ -83,12 +74,12 @@ ivas_error ivas_mono_dmx_renderer_open( st_ivas->hMonoDmxRenderer = hDownmix; #ifdef I15_IMPLEMENT_PROX_MIXING_FOR_ISM_DECODER hDownmix->do_proximity_mixing = do_proximity_mixing; if ( do_proximity_mixing ) hDownmix->do_proximity_mixing = st_ivas->hRenderConfig->proxMix.active; if ( hDownmix->do_proximity_mixing ) { set_zero( hDownmix->powvec, MONO_DOWNMIX_RENDERER_MAX_INPUT_CHANS ); mvs2s( prox_mix_user_locations, hDownmix->userLoc, MONO_DOWNMIX_RENDERER_MAX_INPUT_CHANS ); hDownmix->listenerLoc = prox_mix_listener_location; mvs2s( st_ivas->hRenderConfig->proxMix.objectLocations, hDownmix->userLoc, MONO_DOWNMIX_RENDERER_MAX_INPUT_CHANS ); hDownmix->listenerLoc = st_ivas->hRenderConfig->proxMix.listenerLocation; #ifdef DEBUG_PROX_MIX_INFO int16_t channel_idx; Loading
lib_dec/ivas_prox_mix.c +1 −4 Original line number Diff line number Diff line Loading @@ -163,14 +163,11 @@ ivas_error ivas_prox_mixer_compute_gains( sMixer[i] = 0.0f; break; } else { sMixer[j] = 0.0f; } } } } } nrUsers = 0; for ( i = 0; i < nChan; i++ ) Loading