Commit 3bdd4b8b authored by Jan Kiene's avatar Jan Kiene
Browse files

fix build with SPLIT_REND_WITH_HEAD_ROT + OPT_SBA_AVOID_SPAR_RESCALE switches

parent 36660063
Loading
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2023,7 +2023,11 @@ static void isar_rend_CldfbSplitPostRendProcessTdIn(
        Q_cldfb = add( scaleFactor, Q_in );
#endif
        Scale_sig32( hBinHrSplitPostRend->cldfbSyn[ch_idx]->cldfb_state_fx, hBinHrSplitPostRend->cldfbSyn[ch_idx]->p_filter_length, sub( sub( Q_cldfb, 1 ), Q11 ) );
#ifdef OPT_SBA_AVOID_SPAR_RESCALE
        cldfbSynthesis_ivas_fx( RealBuffer_fx, ImagBuffer_fx, &( output_fx[ch_idx][0] ), num_cldfb_bands * CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, 0, hBinHrSplitPostRend->cldfbSyn[ch_idx] ); // Q_cldfb - 1
#else
        cldfbSynthesis_ivas_fx( RealBuffer_fx, ImagBuffer_fx, &( output_fx[ch_idx][0] ), num_cldfb_bands * CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, hBinHrSplitPostRend->cldfbSyn[ch_idx] ); // Q_cldfb - 1
#endif
        Scale_sig32( hBinHrSplitPostRend->cldfbSyn[ch_idx]->cldfb_state_fx, hBinHrSplitPostRend->cldfbSyn[ch_idx]->p_filter_length, sub( Q11, sub( Q_cldfb, 1 ) ) );
        Q_out[ch_idx] = sub( Q_cldfb, 1 );
    }
@@ -2087,7 +2091,11 @@ void isar_rend_CldfbSplitPostRendProcess(
        }
        Q_cldfb = scaleFactor + Q_cldfb_in;
        Scale_sig32( hBinHrSplitPostRend->cldfbSyn[ch_idx]->cldfb_state_fx, hBinHrSplitPostRend->cldfbSyn[ch_idx]->p_filter_length, sub( sub( Q_cldfb, 1 ), Q11 ) );
#ifdef OPT_SBA_AVOID_SPAR_RESCALE
        cldfbSynthesis_ivas_fx( RealBuffer_fx, ImagBuffer_fx, &( output_fx[ch_idx][0] ), num_cldfb_bands * CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, 0, hBinHrSplitPostRend->cldfbSyn[ch_idx] ); // Q_cldfb - 1
#else
        cldfbSynthesis_ivas_fx( RealBuffer_fx, ImagBuffer_fx, &( output_fx[ch_idx][0] ), num_cldfb_bands * CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, hBinHrSplitPostRend->cldfbSyn[ch_idx] ); // Q_cldfb - 1
#endif
        Scale_sig32( hBinHrSplitPostRend->cldfbSyn[ch_idx]->cldfb_state_fx, hBinHrSplitPostRend->cldfbSyn[ch_idx]->p_filter_length, sub( Q11, sub( Q_cldfb, 1 ) ) );
        Q_out[ch_idx] = sub( Q_cldfb, 1 );
    }
+11 −2
Original line number Diff line number Diff line
@@ -1624,11 +1624,20 @@ static ivas_error renderSplitBinauralWithPostRot(
                    }
                    Q_cldfb = scaleFactor + Q_cldfb_final[sf_idx];
                    Scale_sig32( hSplitBin->hBinHrSplitPostRend->cldfbSyn[ch_idx]->cldfb_state_fx, hSplitBin->hBinHrSplitPostRend->cldfbSyn[ch_idx]->p_filter_length, sub( sub( Q_cldfb, 1 ), Q11 ) );
#ifdef OPT_SBA_AVOID_SPAR_RESCALE
                    cldfbSynthesis_ivas_fx( RealBuffer_fx,
                                            ImagBuffer_fx,
                                            &( tmpCrendBuffer_fx[ch_idx][sf_idx * outBufNumSamplesPerChannel] ),
                                            hSplitBin->hBinHrSplitPostRend->cldfbSyn[0]->no_channels * CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES,
                                            0,
                                            hSplitBin->hBinHrSplitPostRend->cldfbSyn[ch_idx] ); // Q_cldfb - 1
#else
                    cldfbSynthesis_ivas_fx( RealBuffer_fx,
                                            ImagBuffer_fx,
                                            &( tmpCrendBuffer_fx[ch_idx][sf_idx * outBufNumSamplesPerChannel] ),
                                            hSplitBin->hBinHrSplitPostRend->cldfbSyn[0]->no_channels * CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES,
                                            hSplitBin->hBinHrSplitPostRend->cldfbSyn[ch_idx] ); // Q_cldfb - 1
#endif
                    Scale_sig32( hSplitBin->hBinHrSplitPostRend->cldfbSyn[ch_idx]->cldfb_state_fx, hSplitBin->hBinHrSplitPostRend->cldfbSyn[ch_idx]->p_filter_length, sub( Q11, sub( Q_cldfb, 1 ) ) );
                    Q_out[sf_idx][ch_idx] = sub( Q_cldfb, 1 );
                }
+8 −0
Original line number Diff line number Diff line
@@ -520,7 +520,11 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural(
                Q_cldfb = q_final;
                move16();
                Scale_sig32( hSplitBin->hCldfbHandles->cldfbSyn[ch]->cldfb_state_fx, hSplitBin->hCldfbHandles->cldfbSyn[ch]->p_filter_length, sub( sub( Q_cldfb, 1 ), hSplitBin->hCldfbHandles->cldfbSyn[ch]->Q_cldfb_state ) );
#ifdef OPT_SBA_AVOID_SPAR_RESCALE
                cldfbSynthesis_ivas_fx( Cldfb_In_BinReal_p_fx, Cldfb_In_BinImag_p_fx, pOutput_fx[ch], hSplitBin->hCldfbHandles->cldfbSyn[0]->no_channels * num_slots, 0, hSplitBin->hCldfbHandles->cldfbSyn[ch] ); // Q_cldfb - 1
#else
                cldfbSynthesis_ivas_fx( Cldfb_In_BinReal_p_fx, Cldfb_In_BinImag_p_fx, pOutput_fx[ch], hSplitBin->hCldfbHandles->cldfbSyn[0]->no_channels * num_slots, hSplitBin->hCldfbHandles->cldfbSyn[ch] ); // Q_cldfb - 1
#endif
                Q_out[ch] = sub( Q_cldfb, 1 );
                move16();
                hSplitBin->hCldfbHandles->cldfbSyn[ch]->Q_cldfb_state = Q_out[ch];
@@ -577,7 +581,11 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural(
            Q_cldfb = q_final;
            move16();
            Scale_sig32( hSplitBin->hCldfbHandles->cldfbSyn[ch]->cldfb_state_fx, hSplitBin->hCldfbHandles->cldfbSyn[ch]->p_filter_length, sub( sub( Q_cldfb, 1 ), hSplitBin->hCldfbHandles->cldfbSyn[ch]->Q_cldfb_state ) );
#ifdef OPT_SBA_AVOID_SPAR_RESCALE
            cldfbSynthesis_ivas_fx( Cldfb_In_BinReal_p_fx, Cldfb_In_BinImag_p_fx, pOutput_fx[ch], hSplitBin->hCldfbHandles->cldfbSyn[0]->no_channels * CLDFB_NO_COL_MAX, 0, hSplitBin->hCldfbHandles->cldfbSyn[ch] ); // Q_cldfb - 1
#else
            cldfbSynthesis_ivas_fx( Cldfb_In_BinReal_p_fx, Cldfb_In_BinImag_p_fx, pOutput_fx[ch], hSplitBin->hCldfbHandles->cldfbSyn[0]->no_channels * CLDFB_NO_COL_MAX, hSplitBin->hCldfbHandles->cldfbSyn[ch] ); // Q_cldfb - 1
#endif
            Q_out[ch] = sub( Q_cldfb, 1 );
            move16();
            hSplitBin->hCldfbHandles->cldfbSyn[ch]->Q_cldfb_state = Q_out[ch];
+96 −87
Original line number Diff line number Diff line
@@ -646,9 +646,11 @@ IVAS_REND_AudioConfigType getAudioConfigType(

static ivas_error validateOutputSampleRate(
    const Word32 sampleRate,
    const AUDIO_CONFIG outConfig ){
    const AUDIO_CONFIG outConfig )
{

    IF( NE_32( getAudioConfigType( outConfig ), IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL ) ){
    IF( NE_32( getAudioConfigType( outConfig ), IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL ) )
    {
        /* If no binaural rendering, any sampling rate is supported */
        return IVAS_ERR_OK;
    }
@@ -1487,13 +1489,16 @@ static ivas_error setRendInputActiveIsm(
    move32();

    test();
    IF( EQ_16( outConfig, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) ){
    IF( EQ_16( outConfig, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) )
    {
#ifdef SPLIT_REND_WITH_HEAD_ROT
        IF( NE_32( ( error = ivas_rend_openCrend( &inputIsm->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate, rendCtx.pSplitRendWrapper->multiBinPoseData.num_poses ) ), IVAS_ERR_OK ) ){
        IF( NE_32( ( error = ivas_rend_openCrend( &inputIsm->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate, rendCtx.pSplitRendWrapper->multiBinPoseData.num_poses ) ), IVAS_ERR_OK ) )
        {
            return error;
        }
#else
        IF( NE_32( ( error = ivas_rend_openCrend( &inputIsm->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate ) ), IVAS_ERR_OK ) ){
        IF( NE_32( ( error = ivas_rend_openCrend( &inputIsm->crendWrapper, IVAS_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate ) ), IVAS_ERR_OK ) )
        {
            return error;
        }
#endif
@@ -9347,7 +9352,11 @@ void IVAS_REND_cldfbSynthesis_wrapper(
{

    Scale_sig32( h_cldfb->cldfb_state_fx, h_cldfb->p_filter_length, sub( sub( Q_cldfb, 1 ), h_cldfb->Q_cldfb_state ) );
#ifdef OPT_SBA_AVOID_SPAR_RESCALE
    cldfbSynthesis_ivas_fx( realBuffer, imagBuffer, timeOut, samplesToProcess, 0, h_cldfb ); // Q_cldfb - 1
#else
    cldfbSynthesis_ivas_fx( realBuffer, imagBuffer, timeOut, samplesToProcess, h_cldfb ); // Q_cldfb - 1
#endif
    *Q_out = sub( Q_cldfb, 1 );
    move16();
    h_cldfb->Q_cldfb_state = *Q_out;