Commit 9f2df2ed authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

[fix] mono split rendering; LC3plus delay buffers were being zeroed out in ivas_dec_setup_all()

parent 9249ad02
Loading
Loading
Loading
Loading
Loading
+29 −11
Original line number Diff line number Diff line
@@ -274,6 +274,10 @@ static ivas_error isar_set_split_rend_setup(
    ISAR_SPLIT_REND_BITS_DATA *splitRendBits /* o  : output split rendering bits    */
)
{
#ifdef FIX_1419_MONO_STEREO_UMX
    if ( splitRendBits != NULL )
    {
#endif
        splitRendBits->bits_read = 0;
        splitRendBits->bits_written = 0;
        splitRendBits->buf_len = ISAR_MAX_SPLIT_REND_BITS_BUFFER_SIZE_IN_BYTES;
@@ -282,6 +286,9 @@ static ivas_error isar_set_split_rend_setup(
        splitRendBits->codec_frame_size_ms = 0;
        splitRendBits->isar_frame_size_ms = 0;
        splitRendBits->lc3plus_highres = 0;
#ifdef FIX_1419_MONO_STEREO_UMX
    }
#endif

    ISAR_PRE_REND_GetMultiBinPoseData( hSplitBinConfig, &hSplitBinRend->splitrend.multiBinPoseData, ( hCombinedOrientationData != NULL ) ? hCombinedOrientationData->sr_pose_pred_axis : DEFAULT_AXIS );

@@ -892,9 +899,14 @@ ivas_error IVAS_DEC_FeedFrame_Serial(
                 hIvasDec->st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM )
            {
                /* necessary to set up correct amount of memory for rendering; remaining setup happens in ivas_dec_setup_all() */
                ISAR_PRE_REND_GetMultiBinPoseData( &hIvasDec->st_ivas->hRenderConfig->split_rend_config,
                                                   &hIvasDec->st_ivas->hSplitBinRend->splitrend.multiBinPoseData,
                                                   ( hIvasDec->st_ivas->hCombinedOrientationData != NULL ) ? hIvasDec->st_ivas->hCombinedOrientationData->sr_pose_pred_axis : DEFAULT_AXIS );
                /* Setup IVAS split rendering */
                if ( ( error = isar_set_split_rend_setup( hIvasDec->st_ivas->hSplitBinRend,
                                                          &hIvasDec->st_ivas->hRenderConfig->split_rend_config,
                                                          hIvasDec->st_ivas->hCombinedOrientationData,
                                                          NULL ) ) != IVAS_ERR_OK )
                {
                    return error;
                }
            }
#endif
            if ( ( error = ivas_init_decoder( hIvasDec->st_ivas ) ) != IVAS_ERR_OK )
@@ -2450,7 +2462,13 @@ static ivas_error ivas_dec_setup_all(
         *-----------------------------------------------------------------*/

#ifdef FIX_1119_SPLIT_RENDERING_VOIP
#ifdef FIX_1419_MONO_STEREO_UMX
        if ( ( ( hIvasDec->mode == IVAS_DEC_MODE_EVS && st_ivas->hSCE[0]->hCoreCoder[0]->ini_frame == 0 ) ||
               ( hIvasDec->mode == IVAS_DEC_MODE_IVAS && st_ivas->ini_frame == 0 ) ) &&
             splitRendBits != NULL )
#else
        if ( st_ivas->ini_frame == 0 && splitRendBits != NULL )
#endif
#else
        if ( st_ivas->ini_frame == 0 && isSplitRend )
#endif