Commit 7a82a6bb authored by Vidhya V P's avatar Vidhya V P
Browse files

Merge branch 'main' into dlb_sba_vlbr_20ms_optimization

parents bd79a058 45bdd90e
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -4529,7 +4529,7 @@ void ivas_get_spar_md_from_dirac(
/*! r: number of MD subframes */
int16_t ivas_get_spar_dec_md_num_subframes(
    const int16_t sba_order,                                    /* i  : Ambisonic (SBA) order                   */
    const int32_t ivas_total_brate 
    const int32_t ivas_total_brate                              /* i  : IVAS total bitrate                      */
#ifdef VLBR_20MS_MD
    ,
    const int32_t ivas_last_active_brate /* i  : IVAS last active bitrate           */
@@ -4547,6 +4547,7 @@ void ivas_spar_md_dec_matrix_close(
    const int16_t num_channels );            /* i  : number of internal channels */
    
#endif

ivas_error ivas_spar_md_dec_open(
    ivas_spar_md_dec_state_t **hMdDec_out,                      /* i/o: SPAR MD decoder handle                  */
    const DECODER_CONFIG_HANDLE hDecoderConfig,                 /* i  : configuration structure                 */
+2 −0
Original line number Diff line number Diff line
@@ -143,6 +143,7 @@
/* only BE switches wrt operation points tested in selection */

/*#define FIX_I4_OL_PITCH*/                             /* fix open-loop pitch used for EVS core switching */

#define VLBR_20MS_MD                                    /* Dlb: SBA VLBR 20ms Optimization*/
#define FIX_563_PARAMMC_LIMITER                         /* FhG: issue 563: fix ILD limiter when coming from silence w/o transient set             */
#define FIX_560_VAD_FLAG                                /* Eri: Issue 560 - VAD flag issue for unified stereo */
@@ -166,6 +167,7 @@
#define FIX_580_PARAMMC_ENER_BURSTS                     /* FhG: issue 580: energy bursts due to ILD holding when energy relations change too much */
#define FIX_593_STL_INCLUDE                             /* FhG: Issue 593: correct include of stl.h in lib_enc/ivas_stereo_eclvq_enc.c */
#define FIX_583_CLANG_TRANS_DET                         /* FhG: Issue 583: clang left shift on ramp_up_flag in transient detector */
#define NONBE_FIX_589_JBM_TC_OFFSETS                    /* FhG: issue 589: wrong offset into the TC buffers is used in some rendering paths in the JBM main rendering function */

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

+1 −0
Original line number Diff line number Diff line
@@ -395,6 +395,7 @@ ivas_error ivas_dec(
#else
                ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame );
#endif

            }
            else if ( st_ivas->renderer_type != RENDERER_DISABLE )
            {
+19 −2
Original line number Diff line number Diff line
@@ -301,6 +301,7 @@ ivas_error ivas_jbm_dec_tc(
#else
                ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame );
#endif

            }
            else
            {
@@ -719,8 +720,13 @@ ivas_error ivas_jbm_dec_render(
                *nSamplesRendered = min( st_ivas->hTcBuffer->n_samples_available, nSamplesAskedLocal );
                pan_left = ( st_ivas->hDecoderConfig->non_diegetic_pan_gain + 1.f ) * 0.5f;
                pan_right = 1.f - pan_left;
#ifdef NONBE_FIX_589_JBM_TC_OFFSETS
                v_multc( p_tc[0], pan_right, output[1], *nSamplesRendered );
                v_multc( p_tc[0], pan_left, output[0], *nSamplesRendered );
#else
                v_multc( st_ivas->hTcBuffer->tc[0], pan_right, output[1], *nSamplesRendered );
                v_multc( st_ivas->hTcBuffer->tc[0], pan_left, output[0], *nSamplesRendered );
#endif
            }
            else if ( st_ivas->renderer_type == RENDERER_PARAM_ISM || st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC )
            {
@@ -747,8 +753,13 @@ ivas_error ivas_jbm_dec_render(
            {
                pan_left = ( st_ivas->hDecoderConfig->non_diegetic_pan_gain + 1.f ) * 0.5f;
                pan_right = 1.f - pan_left;
#ifdef NONBE_FIX_589_JBM_TC_OFFSETS
                v_multc( p_tc[0], pan_right, output[1], *nSamplesRendered );
                v_multc( p_tc[0], pan_left, output[0], *nSamplesRendered );
#else
                v_multc( st_ivas->hTcBuffer->tc[0], pan_right, output[1], *nSamplesRendered );
                v_multc( st_ivas->hTcBuffer->tc[0], pan_left, output[0], *nSamplesRendered );
#endif
            }
            else if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV )
            {
@@ -834,8 +845,11 @@ ivas_error ivas_jbm_dec_render(
                {
                    return error;
                }

#ifdef NONBE_FIX_589_JBM_TC_OFFSETS
                ivas_binaural_add_LFE( st_ivas, *nSamplesRendered, p_tc, p_output );
#else
                ivas_binaural_add_LFE( st_ivas, *nSamplesRendered, st_ivas->hTcBuffer->tc, p_output );
#endif
            }
            else if ( st_ivas->renderer_type == RENDERER_MC )
            {
@@ -852,8 +866,11 @@ ivas_error ivas_jbm_dec_render(
                {
                    return error;
                }

#ifdef NONBE_FIX_589_JBM_TC_OFFSETS
                ivas_binaural_add_LFE( st_ivas, *nSamplesRendered, p_tc, p_output );
#else
                ivas_binaural_add_LFE( st_ivas, *nSamplesRendered, st_ivas->hTcBuffer->tc, p_output );
#endif
            }
        }
        else if ( st_ivas->mc_mode == MC_MODE_PARAMMC )
+2 −0
Original line number Diff line number Diff line
@@ -1169,6 +1169,7 @@ void ivas_spar_param_to_masa_param_mapping(
        }
        else
        {

#ifdef VLBR_20MS_MD
            mixer_mat_index = ( ivas_get_spar_dec_md_num_subframes( st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate
#ifdef VLBR_20MS_MD
@@ -1179,6 +1180,7 @@ void ivas_spar_param_to_masa_param_mapping(
                                  ? 0
                                  : ( sf - SPAR_META_DELAY_SUBFRAMES );
#else

            mixer_mat_index = sf - SPAR_META_DELAY_SUBFRAMES;
#endif
            for ( band = 0; band < SPAR_DIRAC_SPLIT_START_BAND; band++ )
Loading