Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -194,6 +194,8 @@ #endif #define NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA /* Nokia: issue 944: fix FEC error in OMASA */ #define NONBE_FIX_949_MC_5MS_FRAMING /*Dlb: Issue 949: fix for 5ms framing/rendering in MC mode */ #define NONBE_FIX_952_MC_PARAMUPMIX_5MS /* Dlb : issue 952 : Differences between 5ms and 20ms rendering for ParamUpmix*/ /* #################### End BASOP porting switches ############################ */ /* clang-format on */ Loading lib_dec/ivas_mc_paramupmix_dec.c +32 −2 Original line number Diff line number Diff line Loading @@ -113,6 +113,15 @@ void ivas_mc_paramupmix_dec_read_BS( hMCParamUpmix->betas[i][k] = hMCParamUpmix->beta_prev[i][k]; } } #ifdef NONBE_FIX_952_MC_PARAMUPMIX_5MS for ( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ ) { mvr2r( hMCParamUpmix->alpha_prev[i], hMCParamUpmix->alpha_sf[i], IVAS_MAX_NUM_BANDS ); mvr2r( hMCParamUpmix->beta_prev[i], hMCParamUpmix->beta_sf[i], IVAS_MAX_NUM_BANDS ); } #endif hMCParamUpmix->first_frame = 1; } else /* if (!st->bfi) */ Loading @@ -131,6 +140,17 @@ void ivas_mc_paramupmix_dec_read_BS( st0->bits_frame = min( MAX_BITS_METADATA, last_bit_pos + 1 ); st0->total_brate = st_ivas->hDecoderConfig->ivas_total_brate; /* to avoid BER detect */ #ifdef NONBE_FIX_952_MC_PARAMUPMIX_5MS if ( hMCParamUpmix->first_frame == 0 ) { for ( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ ) { mvr2r( hMCParamUpmix->alphas[i], hMCParamUpmix->alpha_prev[i], IVAS_MAX_NUM_BANDS ); mvr2r( hMCParamUpmix->betas[i], hMCParamUpmix->beta_prev[i], IVAS_MAX_NUM_BANDS ); } } #endif for ( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ ) { get_ec_data( st0, ALPHA, hMCParamUpmix->alpha_quant[i], alpha_quant, hMCParamUpmix->alphas[i] ); Loading @@ -150,6 +170,14 @@ void ivas_mc_paramupmix_dec_read_BS( } hMCParamUpmix->first_frame = 0; } #ifdef NONBE_FIX_952_MC_PARAMUPMIX_5MS for ( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ ) { mvr2r( hMCParamUpmix->alpha_prev[i], hMCParamUpmix->alpha_sf[i], IVAS_MAX_NUM_BANDS ); mvr2r( hMCParamUpmix->beta_prev[i], hMCParamUpmix->beta_sf[i], IVAS_MAX_NUM_BANDS ); } #endif } pop_wmops(); Loading Loading @@ -238,13 +266,13 @@ void ivas_mc_paramupmix_dec_render( assert( slots_to_render == 0 ); #endif { #ifndef NONBE_FIX_952_MC_PARAMUPMIX_5MS for ( ch = 0; ch < MC_PARAMUPMIX_COMBINATIONS; ch++ ) { mvr2r( hMCParamUpmix->alpha_prev[ch], hMCParamUpmix->alpha_sf[ch], IVAS_MAX_NUM_BANDS ); mvr2r( hMCParamUpmix->beta_prev[ch], hMCParamUpmix->beta_sf[ch], IVAS_MAX_NUM_BANDS ); } #endif for ( subframe_idx = first_sf; subframe_idx < last_sf; subframe_idx++ ) { Loading @@ -260,11 +288,13 @@ void ivas_mc_paramupmix_dec_render( ivas_combined_orientation_update_index( st_ivas->hCombinedOrientationData, n_samples_sf ); } #ifndef NONBE_FIX_952_MC_PARAMUPMIX_5MS for ( ch = 0; ch < MC_PARAMUPMIX_COMBINATIONS; ch++ ) { mvr2r( hMCParamUpmix->alphas[ch], hMCParamUpmix->alpha_prev[ch], IVAS_MAX_NUM_BANDS ); mvr2r( hMCParamUpmix->betas[ch], hMCParamUpmix->beta_prev[ch], IVAS_MAX_NUM_BANDS ); } #endif } *nSamplesAvailable = ( st_ivas->hTcBuffer->num_slots - st_ivas->hTcBuffer->slots_rendered ) * slot_size; Loading Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -194,6 +194,8 @@ #endif #define NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA /* Nokia: issue 944: fix FEC error in OMASA */ #define NONBE_FIX_949_MC_5MS_FRAMING /*Dlb: Issue 949: fix for 5ms framing/rendering in MC mode */ #define NONBE_FIX_952_MC_PARAMUPMIX_5MS /* Dlb : issue 952 : Differences between 5ms and 20ms rendering for ParamUpmix*/ /* #################### End BASOP porting switches ############################ */ /* clang-format on */ Loading
lib_dec/ivas_mc_paramupmix_dec.c +32 −2 Original line number Diff line number Diff line Loading @@ -113,6 +113,15 @@ void ivas_mc_paramupmix_dec_read_BS( hMCParamUpmix->betas[i][k] = hMCParamUpmix->beta_prev[i][k]; } } #ifdef NONBE_FIX_952_MC_PARAMUPMIX_5MS for ( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ ) { mvr2r( hMCParamUpmix->alpha_prev[i], hMCParamUpmix->alpha_sf[i], IVAS_MAX_NUM_BANDS ); mvr2r( hMCParamUpmix->beta_prev[i], hMCParamUpmix->beta_sf[i], IVAS_MAX_NUM_BANDS ); } #endif hMCParamUpmix->first_frame = 1; } else /* if (!st->bfi) */ Loading @@ -131,6 +140,17 @@ void ivas_mc_paramupmix_dec_read_BS( st0->bits_frame = min( MAX_BITS_METADATA, last_bit_pos + 1 ); st0->total_brate = st_ivas->hDecoderConfig->ivas_total_brate; /* to avoid BER detect */ #ifdef NONBE_FIX_952_MC_PARAMUPMIX_5MS if ( hMCParamUpmix->first_frame == 0 ) { for ( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ ) { mvr2r( hMCParamUpmix->alphas[i], hMCParamUpmix->alpha_prev[i], IVAS_MAX_NUM_BANDS ); mvr2r( hMCParamUpmix->betas[i], hMCParamUpmix->beta_prev[i], IVAS_MAX_NUM_BANDS ); } } #endif for ( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ ) { get_ec_data( st0, ALPHA, hMCParamUpmix->alpha_quant[i], alpha_quant, hMCParamUpmix->alphas[i] ); Loading @@ -150,6 +170,14 @@ void ivas_mc_paramupmix_dec_read_BS( } hMCParamUpmix->first_frame = 0; } #ifdef NONBE_FIX_952_MC_PARAMUPMIX_5MS for ( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ ) { mvr2r( hMCParamUpmix->alpha_prev[i], hMCParamUpmix->alpha_sf[i], IVAS_MAX_NUM_BANDS ); mvr2r( hMCParamUpmix->beta_prev[i], hMCParamUpmix->beta_sf[i], IVAS_MAX_NUM_BANDS ); } #endif } pop_wmops(); Loading Loading @@ -238,13 +266,13 @@ void ivas_mc_paramupmix_dec_render( assert( slots_to_render == 0 ); #endif { #ifndef NONBE_FIX_952_MC_PARAMUPMIX_5MS for ( ch = 0; ch < MC_PARAMUPMIX_COMBINATIONS; ch++ ) { mvr2r( hMCParamUpmix->alpha_prev[ch], hMCParamUpmix->alpha_sf[ch], IVAS_MAX_NUM_BANDS ); mvr2r( hMCParamUpmix->beta_prev[ch], hMCParamUpmix->beta_sf[ch], IVAS_MAX_NUM_BANDS ); } #endif for ( subframe_idx = first_sf; subframe_idx < last_sf; subframe_idx++ ) { Loading @@ -260,11 +288,13 @@ void ivas_mc_paramupmix_dec_render( ivas_combined_orientation_update_index( st_ivas->hCombinedOrientationData, n_samples_sf ); } #ifndef NONBE_FIX_952_MC_PARAMUPMIX_5MS for ( ch = 0; ch < MC_PARAMUPMIX_COMBINATIONS; ch++ ) { mvr2r( hMCParamUpmix->alphas[ch], hMCParamUpmix->alpha_prev[ch], IVAS_MAX_NUM_BANDS ); mvr2r( hMCParamUpmix->betas[ch], hMCParamUpmix->beta_prev[ch], IVAS_MAX_NUM_BANDS ); } #endif } *nSamplesAvailable = ( st_ivas->hTcBuffer->num_slots - st_ivas->hTcBuffer->slots_rendered ) * slot_size; Loading