Commit 3a9743d0 authored by bayers's avatar bayers
Browse files

5ms API first step, not completely BE yet

parent 08305d0c
Loading
Loading
Loading
Loading
+695 −100

File changed.

Preview size limit exceeded, changes collapsed.

+5 −0
Original line number Diff line number Diff line
@@ -93,6 +93,11 @@ typedef enum
#ifdef VARIABLE_SPEED_DECODING
    IVAS_ERR_VS_FRAME_NEEDED,
#endif
#ifdef API_5MS
    IVAS_ERR_TSM_NOT_ENABLED,
    IVAS_ERR_FETCH_SIZE_NO_MULTIPLE_OF_5MS,
    IVAS_ERR_NEED_NEW_FRAME,
#endif
#endif

    /*----------------------------------------*
+3 −0
Original line number Diff line number Diff line
@@ -227,6 +227,9 @@
#define FIX_170_DTX_MASA                                /* Nokia: Fix issue 170, relaxing the use of DTX in MASA format */
#define FIX_510                                         /* FhG: fix issue 510, misleading error message for invalid input format */
#define FIX_509                                         /* FhG: fix issue 509, too low number of bitsream indices in SBA */
#define FIX_XXX_JITTER_SBA_BINAURAL_GAIN

#define API_5MS

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
+8 −0
Original line number Diff line number Diff line
@@ -1221,14 +1221,22 @@ void ivas_binRenderer(
    }

    /* Head rotation in HOA3 or CICPx */
#ifdef API_5MS
    if ( hHeadTrackData  && hBinRenderer->rotInCldfb )
#else
    if ( hHeadTrackData && hHeadTrackData->num_quaternions >= 0 && hBinRenderer->rotInCldfb )
#endif
    {
        if ( hBinRenderer->hInputSetup->is_loudspeaker_setup == 0 )
        {
            /* Rotation in SHD (HOA3) */
            if ( hHeadTrackData->shd_rot_max_order == -1 )
            {
#ifdef API_5MS
                QuatToRotMat( hHeadTrackData->Quaternion, hHeadTrackData->Rmat );
#else
                QuatToRotMat( hHeadTrackData->Quaternions[hHeadTrackData->num_quaternions++], hHeadTrackData->Rmat );
#endif
#ifdef JBM_TSM_ON_TCS
                rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, hHeadTrackData->Rmat, hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, 3 );
#else
+16 −8
Original line number Diff line number Diff line
@@ -1166,7 +1166,11 @@ ivas_error ivas_dirac_dec_config(
    /* allocate transport channels*/
    if ( flag_config == DIRAC_OPEN )
    {
#ifdef API_5MS
        if ( st_ivas->hTcBuffer == NULL )
#else
        if ( st_ivas->hDecoderConfig->voip_active == 1 && st_ivas->hTcBuffer == NULL )
#endif
        {
#ifndef SBA_MODE_CLEAN_UP
            if ( st_ivas->sba_mode == SBA_MODE_DIRAC )
@@ -2596,7 +2600,7 @@ void ivas_dirac_dec_render(
    const int16_t nchan_transport,   /* i  : number of transport channels             */
    const uint16_t nSamplesAsked,    /* i  : number of CLDFB slots requested          */
    uint16_t *nSamplesRendered,      /* o  : number of CLDFB slots rendered           */
    uint16_t *nSamplesAvailable,   /* o  : number of CLDFB slots still to render    */
    uint16_t *nSamplesAvailableNext, /* o  : number of CLDFB slots still to render    */
    float *output_f[]                /* o  : rendered time signal                     */
)
{
@@ -2653,7 +2657,7 @@ void ivas_dirac_dec_render(
        }
    }

    *nSamplesAvailable = ( hDirAC->num_slots - hDirAC->slots_rendered ) * slot_size;
    *nSamplesAvailableNext = ( hDirAC->num_slots - hDirAC->slots_rendered ) * slot_size;

    return;
}
@@ -2888,7 +2892,11 @@ void ivas_dirac_dec_render_sf(
        if ( st_ivas->hHeadTrackData )
#endif
    {
#ifdef API_5MS
        QuatToRotMat( st_ivas->hHeadTrackData->Quaternion, st_ivas->hHeadTrackData->Rmat );
#else
            QuatToRotMat( st_ivas->hHeadTrackData->Quaternions[st_ivas->hHeadTrackData->num_quaternions++], st_ivas->hHeadTrackData->Rmat );
#endif

        p_Rmat = &st_ivas->hHeadTrackData->Rmat[0][0];

Loading