Commit c8971187 authored by multrus's avatar multrus
Browse files

Merge branch 'main' into 690-fix-compilation-for-split_rend_with_head_rot-disabled

parents 6ab7a6b8 943754a5
Loading
Loading
Loading
Loading
Loading
+44 −17
Original line number Diff line number Diff line
@@ -394,6 +394,9 @@ static ivas_error acelp_FCB_allocator(
    int16_t nBits_tmp;
    int16_t *p_fixed_cdk_index;
    ivas_error error;
#ifdef FIX_680_ACELP_TABLE_OMASA
    int16_t max_n;
#endif

    error = IVAS_ERR_OK;

@@ -424,13 +427,31 @@ static ivas_error acelp_FCB_allocator(
    }

    /* distribute the bit-budget equally between subframes */
#ifdef FIX_680_ACELP_TABLE_OMASA
    if ( L_subfr > L_SUBFR ) /* access fast_FCB_bits_2sfr */
    {
        max_n = 6;
    }
    else
    {
        max_n = ACELP_FIXED_CDK_NB;
    }
    for ( cdbk = 0; cdbk < max_n; cdbk++ )
    {
        if ( fcb_table( cdbk, L_subfr ) * nb_subfr > *nBits )
        {
            break;
        }
    }
    cdbk--;
#else
    cdbk = 0;
    while ( fcb_table( cdbk, L_subfr ) * nb_subfr <= *nBits )
    {
        cdbk++;
    }
    cdbk--;

#endif
#ifdef DEBUGGING
    if ( cdbk < 0 && coder_type != TRANSITION )
    {
@@ -455,6 +476,10 @@ static ivas_error acelp_FCB_allocator(
    *nBits -= nBits_tmp * nb_subfr;

    /* try to increase the FCB bit-budget of the first subframe(s) */
#ifdef FIX_680_ACELP_TABLE_OMASA
    if ( cdbk < ACELP_FIXED_CDK_NB - 1 )
    {
#endif
        step = fcb_table( cdbk + 1, L_subfr ) - nBits_tmp;
        while ( *nBits >= step )
        {
@@ -477,7 +502,9 @@ static ivas_error acelp_FCB_allocator(
                *nBits -= step;
            }
        }

#ifdef FIX_680_ACELP_TABLE_OMASA
    }
#endif
    /* TRANSITION coding: allocate highest FCBQ bit-budget to the subframe with the glottal-shape codebook */
    if ( tc_subfr >= L_SUBFR )
    {
+4 −0
Original line number Diff line number Diff line
@@ -1704,6 +1704,10 @@ typedef enum
#define MAX_ANGULAR_STEP_INV                    ( 1.0f / MAX_ANGULAR_STEP )
#define MAX_INTERPOLATION_STEPS                 12

#ifdef FIX_674_MISSING_TABLES_FOR_TDREND_REVERB
#define LR_IAC_LENGTH_NR_FC                     ( RV_LENGTH_NR_FC )
#endif

/* ----- Enums - TD Renderer ----- */

typedef enum

lib_com/options.h

100755 → 100644
+4 −0
Original line number Diff line number Diff line
@@ -245,6 +245,10 @@
#define FIX_675_WB_OMASA                                /* Nokia: Fix for issue 675 solving the crash in OMASA for WB input */
#define FIX_683_JBM_CLEANUP                             /* FhG: Fix for issue 683, add clean up for ISM and MASA file writers */
#define FIX_689_USAN_QSPHERICAL                         /* Nokia: Fix usan error from issue 689 */
#define FIX_680_ACELP_TABLE_OMASA                       /* Nokia: Fix for issue 680 preventing overindexing of PulseConfTable */
#define FIX_685_BER_IN_HVQ                              /* Eri: Fix for issue 685. Invalid configuration in EVS now happening in IVAS with variable rate core. Remove BER warning for IVAS. */

#define FIX_674_MISSING_TABLES_FOR_TDREND_REVERB        /* Eri: add tables for 32kHz, 16kHz (and update 48kHz) for left/right energies and coherence for late reverb in TD renderer path. Also read tables from binary when hrtf binaries are used. */

/* ################## End BE DEVELOPMENT switches ######################### */

+4 −0
Original line number Diff line number Diff line
@@ -1944,7 +1944,11 @@ ivas_error ivas_init_decoder(

        if ( st_ivas->hIntSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
        {
#ifdef FIX_674_MISSING_TABLES_FOR_TDREND_REVERB
            if ( ( error = ivas_reverb_open( &st_ivas->hReverb, st_ivas->hDecoderConfig->output_config, NULL, st_ivas->hBinRendererTd->HrFiltSet_p->lr_energy_and_iac, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
#else
            if ( ( error = ivas_reverb_open( &st_ivas->hReverb, st_ivas->hDecoderConfig->output_config, NULL, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
#endif
            {
                return error;
            }
+4 −0
Original line number Diff line number Diff line
@@ -198,7 +198,11 @@ static ivas_error ivas_ism_bitrate_switching(
#ifdef FIX_571_REVERB_NOT_ACTIVATED_ISM
                if ( st_ivas->hIntSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
                {
#ifdef FIX_674_MISSING_TABLES_FOR_TDREND_REVERB
                    if ( ( error = ivas_reverb_open( &st_ivas->hReverb, st_ivas->hDecoderConfig->output_config, NULL, st_ivas->hBinRendererTd->HrFiltSet_p->lr_energy_and_iac, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
#else
                    if ( ( error = ivas_reverb_open( &st_ivas->hReverb, st_ivas->hDecoderConfig->output_config, NULL, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
#endif
                    {
                        return error;
                    }
Loading