Commit 9dd4211a authored by TYAGIRIS's avatar TYAGIRIS
Browse files

harmonizing SBA split rend with MC and ISM split rend

parent ada10dd0
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -5165,7 +5165,7 @@ void ivas_binaural_cldfb_sf(
void ivas_binRenderer(
    BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: binaural renderer handle    */
#ifdef SPLIT_REND_WITH_HEAD_ROT
    MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData,
    const MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData,
#endif
#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG
    HEAD_TRACK_DATA_HANDLE hPostRendHeadTrackData,
+7 −7
Original line number Diff line number Diff line
@@ -684,7 +684,7 @@ ivas_error ivas_rend_openCldfbRend(
    CLDFB_REND_WRAPPER *pCldfbRend,
    const IVAS_REND_AudioConfig inConfig,
    const IVAS_REND_AudioConfig outConfig,
    MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData,
    const MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData,
    const int32_t output_Fs )
{
    BINAURAL_RENDERER_HANDLE hBinRenderer;
@@ -1428,7 +1428,7 @@ void ivas_binaural_cldfb_sf(
void ivas_binRenderer(
    BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: binaural renderer handle    */
#ifdef SPLIT_REND_WITH_HEAD_ROT
    MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData,
    const MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData,
#endif
    COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, /* i  : combined head and external orientation handle           */
    int16_t subframe_idx,                                 /* i  : subframe index   */
@@ -1623,11 +1623,11 @@ void ivas_binRenderer(
void ivas_rend_CldfbMultiBinRendProcess(
    const BINAURAL_RENDERER_HANDLE hCldfbRend,
    const COMBINED_ORIENTATION_HANDLE *pCombinedOrientationData,
    MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData,
    const MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData,
    float Cldfb_In_Real[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
    float Cldfb_In_Imag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
    float Cldfb_Out_Real[][BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o  : Binaural signals */
    float Cldfb_Out_Imag[][BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
    float Cldfb_Out_Real[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o  : Binaural signals */
    float Cldfb_Out_Imag[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
    const int16_t low_res_pre_rend_rot )
{
    int16_t sf_idx, slot_idx, ch_idx, idx, pose_idx, i, j;
@@ -1691,8 +1691,8 @@ void ivas_rend_CldfbMultiBinRendProcess(
                idx = sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES + slot_idx;
                for ( ch_idx = 0; ch_idx < BINAURAL_CHANNELS; ch_idx++ )
                {
                    mvr2r( &Cldfb_RealBuffer_Binaural[pose_idx][ch_idx][slot_idx][0], &Cldfb_Out_Real[pose_idx][ch_idx][idx][0], hCldfbRend->max_band );
                    mvr2r( &Cldfb_ImagBuffer_Binaural[pose_idx][ch_idx][slot_idx][0], &Cldfb_Out_Imag[pose_idx][ch_idx][idx][0], hCldfbRend->max_band );
                    mvr2r( &Cldfb_RealBuffer_Binaural[pose_idx][ch_idx][slot_idx][0], &Cldfb_Out_Real[( pose_idx * BINAURAL_CHANNELS ) + ch_idx][idx][0], hCldfbRend->max_band );
                    mvr2r( &Cldfb_ImagBuffer_Binaural[pose_idx][ch_idx][slot_idx][0], &Cldfb_Out_Imag[( pose_idx * BINAURAL_CHANNELS ) + ch_idx][idx][0], hCldfbRend->max_band );
                }
            }
        }
+2 −7
Original line number Diff line number Diff line
@@ -2351,13 +2351,8 @@ void ivas_dirac_dec_render_sf(
    float Cldfb_RealBuffer[MAX_OUTPUT_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX];
    float Cldfb_ImagBuffer[MAX_OUTPUT_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX];
#ifdef SPLIT_REND_WITH_HEAD_ROT
#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG
    float Cldfb_RealBuffer_Binaural[MAX_HEAD_ROT_POSES + 1][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX];
    float Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES + 1][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX];
#else
    float Cldfb_RealBuffer_Binaural[MAX_HEAD_ROT_POSES][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX];
    float Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX];
#endif
#else
    float Cldfb_RealBuffer_Binaural[BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX];
    float Cldfb_ImagBuffer_Binaural[BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX];
@@ -2959,8 +2954,8 @@ void ivas_dirac_dec_render_sf(
                {
                    for ( ch = 0; ch < st_ivas->hDecoderConfig->nchan_out; ch++ )
                    {
                        mvr2r( Cldfb_RealBuffer_Binaural[pos_idx][ch][slot_idx], st_ivas->splitBinRend.hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[pos_idx][ch][slot_idx_start + slot_idx], hDirAC->num_freq_bands );
                        mvr2r( Cldfb_ImagBuffer_Binaural[pos_idx][ch][slot_idx], st_ivas->splitBinRend.hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[pos_idx][ch][slot_idx_start + slot_idx], hDirAC->num_freq_bands );
                        mvr2r( Cldfb_RealBuffer_Binaural[pos_idx][ch][slot_idx], st_ivas->splitBinRend.hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[( pos_idx * BINAURAL_CHANNELS ) + ch][slot_idx_start + slot_idx], hDirAC->num_freq_bands );
                        mvr2r( Cldfb_ImagBuffer_Binaural[pos_idx][ch][slot_idx], st_ivas->splitBinRend.hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[( pos_idx * BINAURAL_CHANNELS ) + ch][slot_idx_start + slot_idx], hDirAC->num_freq_bands );
                    }
                }
            }
+2 −2
Original line number Diff line number Diff line
@@ -1777,8 +1777,8 @@ void ivas_param_mc_dec_render(
                    {
                        for ( ch = 0; ch < nchan_out_cldfb; ch++ )
                        {
                            mvr2r( Cldfb_RealBuffer_Binaural[pos_idx][ch][slot_idx], st_ivas->splitBinRend.hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[pos_idx][ch][slot_idx_start + slot_idx], hParamMC->num_freq_bands );
                            mvr2r( Cldfb_ImagBuffer_Binaural[pos_idx][ch][slot_idx], st_ivas->splitBinRend.hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[pos_idx][ch][slot_idx_start + slot_idx], hParamMC->num_freq_bands );
                            mvr2r( Cldfb_RealBuffer_Binaural[pos_idx][ch][slot_idx], st_ivas->splitBinRend.hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[( pos_idx * BINAURAL_CHANNELS ) + ch][slot_idx_start + slot_idx], hParamMC->num_freq_bands );
                            mvr2r( Cldfb_ImagBuffer_Binaural[pos_idx][ch][slot_idx], st_ivas->splitBinRend.hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[( pos_idx * BINAURAL_CHANNELS ) + ch][slot_idx_start + slot_idx], hParamMC->num_freq_bands );
                        }
                    }
                }
+2 −7
Original line number Diff line number Diff line
@@ -1203,13 +1203,8 @@ typedef struct decoder_config_structure
#ifdef SPLIT_REND_WITH_HEAD_ROT
typedef struct
{
#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG
    float Cldfb_RealBuffer_Binaural[MAX_HEAD_ROT_POSES + 1][BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX];
    float Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES + 1][BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX];
#else
    float Cldfb_RealBuffer_Binaural[MAX_HEAD_ROT_POSES][BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX];
    float Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES][BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX];
#endif
    float Cldfb_RealBuffer_Binaural[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX];
    float Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX];
} IVAS_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA, *IVAS_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA_HANDLE;
typedef struct
{
Loading