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

[fix] renderer split-pre rendering

parent 19486c68
Loading
Loading
Loading
Loading
Loading
+19 −8
Original line number Diff line number Diff line
@@ -7486,7 +7486,7 @@ static ivas_error renderMcToSplitBinaural(
                                                   p_tmpRendBuffer,
                                                   *mcInput->base.ctx.pOutSampleRate,
#ifdef API_5MS
                                                   4,
                                                   num_subframes_in_buffer( &mcInput->base.inputBuffer, *mcInput->base.ctx.pOutSampleRate ),
#endif
                                                   pos_idx ) ) != IVAS_ERR_OK )
            {
@@ -9263,6 +9263,7 @@ ivas_error IVAS_REND_GetSamples(
    {
        int16_t num_poses_orig;
        num_poses_orig = hIvasRend->splitRendWrapper.multiBinPoseData.num_poses;
#ifndef API_5MS
        outAudio = hIvasRend->splitRendEncBuffer;
        if ( ( outAudioOrig.config.is_cldfb == 0 ) &&
             ( hIvasRend->inputsMasa[0].base.inConfig == IVAS_REND_AUDIO_CONFIG_UNKNOWN ) )
@@ -9270,6 +9271,7 @@ ivas_error IVAS_REND_GetSamples(
            outAudio.config.is_cldfb = 0;
            outAudio.config.numSamplesPerChannel >>= 1;
        }
#endif
        ivas_renderSplitGetMultiBinPoseData(
            &hIvasRend->hRendererConfig->split_rend_config,
            &hIvasRend->splitRendWrapper.multiBinPoseData,
@@ -9402,14 +9404,23 @@ ivas_error IVAS_REND_GetSplitBinauralBitstream(
    IVAS_REND_BitstreamBuffer *hBits /* o  : buffer for output bitstream */
)
{
    IVAS_REND_AudioBuffer dummyBuffer;
    /* Dummy values, just to satisfy checks in getSamplesInternal */
    dummyBuffer.data = (void *) hIvasRend;
    dummyBuffer.config.is_cldfb = 0;
    dummyBuffer.config.numChannels = BINAURAL_CHANNELS;
    dummyBuffer.config.numSamplesPerChannel = L_FRAME48k;
    int16_t cldfb_in;

    cldfb_in = 0;
    if ( hIvasRend->hRendererConfig->split_rend_config.rendererSelection == IVAS_SPLIT_REND_RENDERER_SELECTION_FASTCONV )
    {
#ifdef DEBUGGING
        cldfb_in = 1;
#endif
        if ( hIvasRend->outputConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_SPLIT_CODED )
        {
            cldfb_in = 1;
        }
    }
    hIvasRend->splitRendEncBuffer.config.is_cldfb = cldfb_in;
    hIvasRend->splitRendEncBuffer.config.numSamplesPerChannel = ( cldfb_in ? 2 : 1 ) * hIvasRend->hRendererConfig->split_rend_config.codec_frame_size_ms * ( hIvasRend->sampleRateOut / 1000 );

    return getSamplesInternal( hIvasRend, dummyBuffer, hBits );
    return getSamplesInternal( hIvasRend, hIvasRend->splitRendEncBuffer, hBits );
}

ivas_error IVAS_REND_GetSplitBinauralSamples(
+3 −3

File changed.

Contains only whitespace changes.

+4 −4

File changed.

Contains only whitespace changes.