Commit b0d4f809 authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

[fix] compute number of subframes to be rendered correctly for TDrend and fix...

[fix] compute number of subframes to be rendered correctly for TDrend and fix the buffer size check for renderInputMasa/Sba()
parent 6902ab99
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -814,7 +814,7 @@ ivas_error ivas_td_binaural_renderer_ext(
                                                     ism_md_subframe_update_ext, p_output, output_frame
#ifdef API_5MS
                                                     ,
                                                     output_Fs / ( output_frame * FRAMES_PER_SEC )
                                                     ( output_frame * FRAMES_PER_SEC * MAX_PARAM_SPATIAL_SUBFRAMES ) / output_Fs
#endif
                                                     ) ) != IVAS_ERR_OK )
    {
+22 −2
Original line number Diff line number Diff line
@@ -8633,13 +8633,23 @@ static ivas_error renderInputSba(
{
    ivas_error error;
    IVAS_REND_AudioBuffer inAudio;
#if defined( SPLIT_REND_WITH_HEAD_ROT ) && defined( API_5MS )
    int16_t cldfb2tdSampleFact;
#endif

    error = IVAS_ERR_OK;

    inAudio = sbaInput->base.inputBuffer;

#ifdef SPLIT_REND_WITH_HEAD_ROT
    if ( ( sbaInput->base.numNewSamplesPerChannel != outAudio.config.numSamplesPerChannel ) &&
#ifdef API_5MS
    cldfb2tdSampleFact = outAudio.config.is_cldfb ? 2 : 1;
#endif
    if ( ( sbaInput->base.numNewSamplesPerChannel
#ifdef API_5MS
               * cldfb2tdSampleFact
#endif
           != outAudio.config.numSamplesPerChannel ) &&
         ( outConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) && ( outConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) )
#else
    if ( sbaInput->base.numNewSamplesPerChannel != outAudio.config.numSamplesPerChannel )
@@ -9027,6 +9037,9 @@ static ivas_error renderInputMasa(
    IVAS_REND_AudioBuffer outAudio )
{
    IVAS_REND_AudioBuffer inAudio;
#if defined( SPLIT_REND_WITH_HEAD_ROT ) && defined( API_5MS )
    int16_t cldfb2tdSampleFact;
#endif

    if ( !masaInput->metadataHasBeenFed )
    {
@@ -9035,7 +9048,14 @@ static ivas_error renderInputMasa(

    inAudio = masaInput->base.inputBuffer;
#ifdef SPLIT_REND_WITH_HEAD_ROT
    if ( ( masaInput->base.numNewSamplesPerChannel != outAudio.config.numSamplesPerChannel ) &&
#ifdef API_5MS
    cldfb2tdSampleFact = outAudio.config.is_cldfb ? 2 : 1;
#endif
    if ( ( masaInput->base.numNewSamplesPerChannel
#ifdef API_5MS
               * cldfb2tdSampleFact
#endif
           != outAudio.config.numSamplesPerChannel ) &&
         ( outConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) && ( outConfig != IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) )
#else
    if ( masaInput->base.numNewSamplesPerChannel != outAudio.config.numSamplesPerChannel )