Commit 4d5f585a authored by TYAGIRIS's avatar TYAGIRIS
Browse files

move COMBINED_ORIENTATION_DATA to ivas stat rend by removing dependency on ISAR

parent 3cbeff31
Loading
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -328,4 +328,19 @@ typedef struct _IVAS_RENDER_CONFIG

} IVAS_RENDER_CONFIG_DATA, *IVAS_RENDER_CONFIG_HANDLE;

typedef struct
{
    int16_t numSamplesPerChannel;
    int16_t numChannels;
#ifdef SPLIT_REND_WITH_HEAD_ROT
    int16_t is_cldfb;
#endif
} IVAS_REND_AudioBufferConfig;

typedef struct
{
    IVAS_REND_AudioBufferConfig config;
    float *data;
} IVAS_REND_AudioBuffer;

#endif /* COMMON_API_TYPES_H */
+6 −3
Original line number Diff line number Diff line
@@ -279,7 +279,10 @@ static ivas_error isar_set_split_rend_setup(

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

    isar_set_split_rend_ht_setup( &hSplitBinRend->splitrend, hCombinedOrientationData );
    if ( hCombinedOrientationData != NULL )
    {
        isar_set_split_rend_ht_setup( &hSplitBinRend->splitrend, hCombinedOrientationData->Quaternions, hCombinedOrientationData->Rmat );
    }

    return IVAS_ERR_OK;
}
@@ -928,9 +931,9 @@ ivas_error IVAS_DEC_GetSamples(
         * Binaural split rendering setup
         *----------------------------------------------------------------*/

        if ( hIvasDec->st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || hIvasDec->st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM )
        if ( hIvasDec->st_ivas->hCombinedOrientationData != NULL && ( hIvasDec->st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || hIvasDec->st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) )
        {
            isar_set_split_rend_ht_setup( &hIvasDec->st_ivas->hSplitBinRend.splitrend, hIvasDec->st_ivas->hCombinedOrientationData );
            isar_set_split_rend_ht_setup( &hIvasDec->st_ivas->hSplitBinRend.splitrend, hIvasDec->st_ivas->hCombinedOrientationData->Quaternions, hIvasDec->st_ivas->hCombinedOrientationData->Rmat );
        }
#endif

+0 −1
Original line number Diff line number Diff line
@@ -118,7 +118,6 @@ typedef enum
#define SPLIT_REND_384k      384000
#define SPLIT_REND_512k      512000
#define SPLIT_REND_768k      768000
#define SPLIT_REND_MAX_BRATE SPLIT_REND_768k

#endif /*SPLIT_REND_WITH_HEAD_ROT */

+2 −1
Original line number Diff line number Diff line
@@ -274,7 +274,8 @@ void isar_init_split_post_rend_handles(

void isar_set_split_rend_ht_setup(
    SPLIT_REND_WRAPPER *hSplitrend,
    COMBINED_ORIENTATION_HANDLE hCombinedOrientationData );
    IVAS_QUATERNION Quaternions[MAX_PARAM_SPATIAL_SUBFRAMES],
    float Rmat[MAX_PARAM_SPATIAL_SUBFRAMES][3][3] );

int32_t isar_get_lc3plus_bitrate(
    const int32_t SplitRendBitRate,
+5 −4
Original line number Diff line number Diff line
@@ -1617,20 +1617,21 @@ void ivas_splitBinPreRendClose(

void isar_set_split_rend_ht_setup(
    SPLIT_REND_WRAPPER *hSplitrend,
    COMBINED_ORIENTATION_HANDLE hCombinedOrientationData )
    IVAS_QUATERNION Quaternions[MAX_PARAM_SPATIAL_SUBFRAMES],
    float Rmat[MAX_PARAM_SPATIAL_SUBFRAMES][3][3] )
{
    int16_t sf, i, j;
    if ( hCombinedOrientationData != NULL && hSplitrend->multiBinPoseData.poseCorrectionMode == ISAR_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB )
    if ( hSplitrend->multiBinPoseData.poseCorrectionMode == ISAR_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB )
    {
        for ( sf = 1; sf < MAX_PARAM_SPATIAL_SUBFRAMES; sf++ )
        {
            hCombinedOrientationData->Quaternions[sf] = hCombinedOrientationData->Quaternions[0];
            Quaternions[sf] = Quaternions[0];

            for ( i = 0; i < 3; i++ )
            {
                for ( j = 0; j < 3; j++ )
                {
                    hCombinedOrientationData->Rmat[sf][i][j] = hCombinedOrientationData->Rmat[0][i][j];
                    Rmat[sf][i][j] = Rmat[0][i][j];
                }
            }
        }
Loading