Loading lib_dec/ivas_dec_render.c +15 −0 Original line number Diff line number Diff line Loading @@ -320,12 +320,20 @@ ivas_error ivas_dec_render( } else if ( st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == MASA_FORMAT ) { const float att = 0.6309573445; // powf( 10.f, -4f / 20.f ); nchan_remapped = nchan_transport_rend; /* Loudspeakers, Ambisonics or Binaural rendering */ if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC ) { ivas_dirac_dec_binaural_render( st_ivas, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, nchan_remapped, p_output ); if ( output_config == IVAS_AUDIO_CONFIG_BINAURAL ) { for ( n = 0; n < BINAURAL_CHANNELS; ++n ) { v_multc( p_output[n], att, p_output[n], *nSamplesRendered ); } } } else if ( st_ivas->ivas_format == MASA_FORMAT ) { Loading @@ -340,6 +348,13 @@ ivas_error ivas_dec_render( { return error; } if ( output_config == IVAS_AUDIO_CONFIG_BINAURAL ) { for ( n = 0; n < BINAURAL_CHANNELS; ++n ) { v_multc( p_output[n], att, p_output[n], *nSamplesRendered ); } } } } else if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) Loading lib_dec/ivas_mono_dmx_renderer.c +3 −0 Original line number Diff line number Diff line Loading @@ -228,9 +228,12 @@ void ivas_apply_non_diegetic_panning( ) { float pan_left, pan_right; const float gain = 1.412537545f; // powf( 10.f, 3.f / 20.f ); pan_left = ( non_diegetic_pan_gain + 1.f ) * 0.5f; pan_right = 1.f - pan_left; pan_left *= gain; pan_right *= gain; v_multc( input_f, pan_right, output_f[1], output_frame ); v_multc( input_f, pan_left, output_f[0], output_frame ); Loading Loading
lib_dec/ivas_dec_render.c +15 −0 Original line number Diff line number Diff line Loading @@ -320,12 +320,20 @@ ivas_error ivas_dec_render( } else if ( st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == MASA_FORMAT ) { const float att = 0.6309573445; // powf( 10.f, -4f / 20.f ); nchan_remapped = nchan_transport_rend; /* Loudspeakers, Ambisonics or Binaural rendering */ if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC ) { ivas_dirac_dec_binaural_render( st_ivas, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, nchan_remapped, p_output ); if ( output_config == IVAS_AUDIO_CONFIG_BINAURAL ) { for ( n = 0; n < BINAURAL_CHANNELS; ++n ) { v_multc( p_output[n], att, p_output[n], *nSamplesRendered ); } } } else if ( st_ivas->ivas_format == MASA_FORMAT ) { Loading @@ -340,6 +348,13 @@ ivas_error ivas_dec_render( { return error; } if ( output_config == IVAS_AUDIO_CONFIG_BINAURAL ) { for ( n = 0; n < BINAURAL_CHANNELS; ++n ) { v_multc( p_output[n], att, p_output[n], *nSamplesRendered ); } } } } else if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) Loading
lib_dec/ivas_mono_dmx_renderer.c +3 −0 Original line number Diff line number Diff line Loading @@ -228,9 +228,12 @@ void ivas_apply_non_diegetic_panning( ) { float pan_left, pan_right; const float gain = 1.412537545f; // powf( 10.f, 3.f / 20.f ); pan_left = ( non_diegetic_pan_gain + 1.f ) * 0.5f; pan_right = 1.f - pan_left; pan_left *= gain; pan_right *= gain; v_multc( input_f, pan_right, output_f[1], output_frame ); v_multc( input_f, pan_left, output_f[0], output_frame ); Loading