Commit 02ec59eb authored by Rivukanta Bhattacharya's avatar Rivukanta Bhattacharya
Browse files

SBA VLBR 20ms Optimization

parent 59b30768
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -4395,6 +4395,10 @@ void ivas_sba_mix_matrix_determiner(
    const int16_t bfi,                                          /* i  : BFI flag                                */
    const int16_t nchan_remapped,                               /* i  : num channels after remapping of TCs     */
    const int16_t output_frame                                  /* i  : output frame length                     */
#ifdef VLBR_20MS_MD
    ,
    const int16_t num_md_sub_frames                             /* i : number of subframes in mixing matrix  */
#endif
);

/* AGC */
+4 −0
Original line number Diff line number Diff line
@@ -209,6 +209,8 @@
#define FIX_468_16KHZ_PUPMIX                            /* Dlb: Fix issue 468 for Param Upmix at 16kHz sampling rate */
#define FIX_499_DFT_STEREO_PLC                          /* Eri: Fix for issue 499: Wrong past memory addressed for computing energy of DFT stereo residual ECU frame  */
#define FIX_489_COV_SMOOTHING                           /* Dlb: Fix covariance smoothing for ParamUpmix */
#define FIX_501_TABLE_IDX_INIT                          /* Dlb: Fix for the issue 501 */

#define FIX_485_STATIC_BUFFERS                          /* FhG: move static buffers in DirAC parameter estimator to the DirAC struct */
#define FIX_I503_ASAN_ERROR_IND_LIST                    /* VA: fix issue #503: address sanitizer error with IND_LIST_DYN */
#define FIX_473_JITTER_NONDIEGETIC_PANNING              /* FhG,Orange: add missing non-diegetic panning to JITTER */
@@ -232,6 +234,8 @@
#define FIX_TODO_NON_DIEGETIC_PAN_NOT_IMPLELENTED_IN_RENDERER /* ..\apps\renderer.c(240):  .... (todo: implementation)",*/
#define REMOVE_OBS_CODE                                 /* FhG: Remove unnecessary assignement after LFE cleanup (Issue #451)*/

#define VLBR_20MS_MD                                    /* Dlb: SBA VLBR 20ms Optimization*/

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */

+8 −0
Original line number Diff line number Diff line
@@ -69,6 +69,9 @@ ivas_error ivas_dec(
#ifdef JBM_TSM_ON_TCS
    float *p_output[MAX_OUTPUT_CHANNELS];
#endif
#ifdef VLBR_20MS_MD
    int16_t num_md_sub_frames;
#endif

    error = IVAS_ERR_OK;

@@ -458,7 +461,12 @@ ivas_error ivas_dec(

#endif
            {
#ifdef VLBR_20MS_MD
                num_md_sub_frames = ivas_get_spar_dec_md_num_subframes( st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate );
                ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame, num_md_sub_frames );
#else
                ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame );
#endif
            }
#ifdef JBM_TSM_ON_TCS
#ifndef SBA_MODE_CLEAN_UP
+8 −0
Original line number Diff line number Diff line
@@ -78,6 +78,9 @@ ivas_error ivas_jbm_dec_tc(
    AUDIO_CONFIG output_config;
    ivas_error error;
    float *p_output[MAX_TRANSPORT_CHANNELS];
#ifdef VLBR_20MS_MD
    int16_t num_md_sub_frames;
#endif

    error = IVAS_ERR_OK;

@@ -311,7 +314,12 @@ ivas_error ivas_jbm_dec_tc(
            if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM )
#endif
            {
#ifdef VLBR_20MS_MD
                num_md_sub_frames = ivas_get_spar_dec_md_num_subframes( st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate );
                ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame, num_md_sub_frames );
#else
                ivas_sba_mix_matrix_determiner( st_ivas->hSpar, output, st_ivas->bfi, nchan_remapped, output_frame );
#endif
            }
#ifndef SBA_MODE_CLEAN_UP
            else if ( st_ivas->sba_mode == SBA_MODE_SPAR )
+4 −0
Original line number Diff line number Diff line
@@ -1414,7 +1414,11 @@ void ivas_spar_param_to_masa_param_mapping(
        else
        {
#ifdef JBM_TSM_ON_TCS
#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 ) == 1 ) ? 0 : ( sf - SPAR_META_DELAY_SUBFRAMES );
#else
            mixer_mat_index = sf - SPAR_META_DELAY_SUBFRAMES;
#endif
#else
        mixer_mat_index = subframe - SPAR_META_DELAY_SUBFRAMES;
#endif
Loading