Loading lib_com/ivas_omasa_com.c +41 −2 Original line number Diff line number Diff line Loading @@ -240,6 +240,25 @@ int32_t ivas_interformat_brate( ( ism_mode == ISM_MASA_MODE_DISC && element_brate == 9600 ) /* this condition corresponds to the ivas_total_brate = 24400 and 1 object */ ) { #ifdef FIX_694_OMASA_EXTREME if ( ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ && element_brate == IVAS_13k2 ) { if ( ism_imp == ISM_LOW_IMP ) { nBits = (int16_t) ( nBits * GAMMA_ISM_LOW_IMP3 ); } else if ( ism_imp == ISM_MEDIUM_IMP ) { nBits = (int16_t) ( nBits * GAMMA_ISM_MEDIUM_IMP3 ); } else /* ISM_HIGH_IMP */ { nBits = (int16_t) ( nBits * GAMMA_ISM_HIGH_IMP4 ); } } else { #endif if ( ism_imp == ISM_LOW_IMP ) { nBits = (int16_t) ( nBits * GAMMA_ISM_LOW_IMP3 ); Loading @@ -252,7 +271,27 @@ int32_t ivas_interformat_brate( { nBits = (int16_t) ( nBits * GAMMA_ISM_HIGH_IMP3 ); } #ifdef FIX_694_OMASA_EXTREME } #endif } #ifdef FIX_694_OMASA_EXTREME else if ( ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ && element_brate == 16000 ) { if ( ism_imp == ISM_LOW_IMP ) { nBits = (int16_t) ( nBits * GAMMA_ISM_LOW_IMP ); } else if ( ism_imp == ISM_MEDIUM_IMP ) { nBits = (int16_t) ( nBits * GAMMA_ISM_MEDIUM_IMP ); } else /* ISM_HIGH_IMP */ { nBits = (int16_t) ( nBits * GAMMA_ISM_HIGH_IMP3 ); } } #endif else { if ( ism_imp == ISM_LOW_IMP ) Loading lib_com/ivas_rom_com.c +2 −0 Original line number Diff line number Diff line Loading @@ -1464,7 +1464,9 @@ const int16_t pr_pd_idx_pairs[3][3][2] = { { { 1, 1 },{ 2, 2 },{ 3, 3 } },{ { 1, const int16_t remix_order_set[1][DIRAC_MAX_ANA_CHANS] = { /* WYZX --> WYXZ... */ { 0, 1, 3, 2, 4, 5, 6, 7, 8, 9, 10 } }; #ifdef SPAR_HOA_DBG const int16_t keep_planar[IVAS_SPAR_MAX_CH - IVAS_SPAR_MAX_DMX_CHS] = { 1, 1, 1, 1, 1, 1 }; #endif const int16_t HOA_keep_ind[IVAS_SPAR_MAX_FB_IN_CHAN] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 15}; const int16_t HOA_keep_ind_spar[IVAS_SPAR_MAX_CH] = {0, 1, 2, 3, 4, 8, 9, 10, 10, 10, 10}; const int16_t HOA_keep_ind_spar512[IVAS_SPAR_MAX_CH] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; Loading lib_com/ivas_rom_com.h +2 −0 Original line number Diff line number Diff line Loading @@ -180,7 +180,9 @@ extern const ivas_huff_models_t ivas_huff_drct_r_consts[TOTAL_DRCT_QUANT_STRATS] extern const ivas_huff_models_t ivas_huff_decd_r_consts[TOTAL_DECD_QUANT_STRATS]; extern const ivas_spar_br_table_t ivas_spar_br_table_consts[IVAS_SPAR_BR_TABLE_LEN]; extern const int16_t remix_order_set[1][DIRAC_MAX_ANA_CHANS]; #ifdef SPAR_HOA_DBG extern const int16_t keep_planar[IVAS_SPAR_MAX_CH - FOA_CHANNELS]; #endif extern const int16_t HOA_keep_ind[IVAS_SPAR_MAX_FB_IN_CHAN]; extern const int16_t HOA_keep_ind_spar[IVAS_SPAR_MAX_CH]; extern const int16_t HOA_keep_ind_spar512[IVAS_SPAR_MAX_CH]; Loading lib_com/ivas_stereo_td_bit_alloc.c +4 −0 Original line number Diff line number Diff line Loading @@ -313,6 +313,10 @@ void tdm_bit_alloc( else { *total_brate_sec = min( *total_brate_sec, element_brate_wo_meta - ( 5900 + BWE_brate ) ); #ifdef FIX_694_OMASA_EXTREME *total_brate_sec = max( *total_brate_sec, tdm_bit_allc_tbl[idx][coder_type] ); /* sanity check to ensure the secondary channel always gets the minimal bitrate it needs */ #endif } /* Secondary channel bitrate adjusment */ Loading lib_com/options.h +7 −2 Original line number Diff line number Diff line Loading @@ -156,6 +156,9 @@ #define SPLIT_REND_PRED_QUANT_63_PNTS #define SPLIT_REND_WITH_HEAD_ROT_PARAMBIN /* Nokia: Issue 623: Split rendering support for parambin renderer */ #define FIX_658_SPLIT_REND_MASA /*Dlb : Fix for issue 658, uninitialized memory access in MASA in Split rendering 0DOF mode*/ #ifdef SBA_AND_OBJECTS #define OSBA_SPLIT_RENDERING #endif #endif #define MASA_AND_OBJECTS /* Nokia: Combination of MASA and objects */ Loading @@ -163,11 +166,13 @@ #define SBA_AND_OBJECTS #ifdef SBA_AND_OBJECTS #define OSBA_BR_SWITCHING #define OSBA_SPLIT_RENDERING #endif #define FIX_264_AUDIO_CHANNELS_TO_HEAP /* VA: issue 243: Move audio channels memory from stack to heap */ #define FIX_691_OSBA_CRASH /* FhG: Fix for issue 691: Crash for OSBA Stereo out */ #define FIX_694_OMASA_EXTREME /* Nokia: fix for crash in OMASA on extreme sample */ /* ################## End BE DEVELOPMENT switches ######################### */ Loading Loading
lib_com/ivas_omasa_com.c +41 −2 Original line number Diff line number Diff line Loading @@ -240,6 +240,25 @@ int32_t ivas_interformat_brate( ( ism_mode == ISM_MASA_MODE_DISC && element_brate == 9600 ) /* this condition corresponds to the ivas_total_brate = 24400 and 1 object */ ) { #ifdef FIX_694_OMASA_EXTREME if ( ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ && element_brate == IVAS_13k2 ) { if ( ism_imp == ISM_LOW_IMP ) { nBits = (int16_t) ( nBits * GAMMA_ISM_LOW_IMP3 ); } else if ( ism_imp == ISM_MEDIUM_IMP ) { nBits = (int16_t) ( nBits * GAMMA_ISM_MEDIUM_IMP3 ); } else /* ISM_HIGH_IMP */ { nBits = (int16_t) ( nBits * GAMMA_ISM_HIGH_IMP4 ); } } else { #endif if ( ism_imp == ISM_LOW_IMP ) { nBits = (int16_t) ( nBits * GAMMA_ISM_LOW_IMP3 ); Loading @@ -252,7 +271,27 @@ int32_t ivas_interformat_brate( { nBits = (int16_t) ( nBits * GAMMA_ISM_HIGH_IMP3 ); } #ifdef FIX_694_OMASA_EXTREME } #endif } #ifdef FIX_694_OMASA_EXTREME else if ( ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ && element_brate == 16000 ) { if ( ism_imp == ISM_LOW_IMP ) { nBits = (int16_t) ( nBits * GAMMA_ISM_LOW_IMP ); } else if ( ism_imp == ISM_MEDIUM_IMP ) { nBits = (int16_t) ( nBits * GAMMA_ISM_MEDIUM_IMP ); } else /* ISM_HIGH_IMP */ { nBits = (int16_t) ( nBits * GAMMA_ISM_HIGH_IMP3 ); } } #endif else { if ( ism_imp == ISM_LOW_IMP ) Loading
lib_com/ivas_rom_com.c +2 −0 Original line number Diff line number Diff line Loading @@ -1464,7 +1464,9 @@ const int16_t pr_pd_idx_pairs[3][3][2] = { { { 1, 1 },{ 2, 2 },{ 3, 3 } },{ { 1, const int16_t remix_order_set[1][DIRAC_MAX_ANA_CHANS] = { /* WYZX --> WYXZ... */ { 0, 1, 3, 2, 4, 5, 6, 7, 8, 9, 10 } }; #ifdef SPAR_HOA_DBG const int16_t keep_planar[IVAS_SPAR_MAX_CH - IVAS_SPAR_MAX_DMX_CHS] = { 1, 1, 1, 1, 1, 1 }; #endif const int16_t HOA_keep_ind[IVAS_SPAR_MAX_FB_IN_CHAN] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 15}; const int16_t HOA_keep_ind_spar[IVAS_SPAR_MAX_CH] = {0, 1, 2, 3, 4, 8, 9, 10, 10, 10, 10}; const int16_t HOA_keep_ind_spar512[IVAS_SPAR_MAX_CH] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; Loading
lib_com/ivas_rom_com.h +2 −0 Original line number Diff line number Diff line Loading @@ -180,7 +180,9 @@ extern const ivas_huff_models_t ivas_huff_drct_r_consts[TOTAL_DRCT_QUANT_STRATS] extern const ivas_huff_models_t ivas_huff_decd_r_consts[TOTAL_DECD_QUANT_STRATS]; extern const ivas_spar_br_table_t ivas_spar_br_table_consts[IVAS_SPAR_BR_TABLE_LEN]; extern const int16_t remix_order_set[1][DIRAC_MAX_ANA_CHANS]; #ifdef SPAR_HOA_DBG extern const int16_t keep_planar[IVAS_SPAR_MAX_CH - FOA_CHANNELS]; #endif extern const int16_t HOA_keep_ind[IVAS_SPAR_MAX_FB_IN_CHAN]; extern const int16_t HOA_keep_ind_spar[IVAS_SPAR_MAX_CH]; extern const int16_t HOA_keep_ind_spar512[IVAS_SPAR_MAX_CH]; Loading
lib_com/ivas_stereo_td_bit_alloc.c +4 −0 Original line number Diff line number Diff line Loading @@ -313,6 +313,10 @@ void tdm_bit_alloc( else { *total_brate_sec = min( *total_brate_sec, element_brate_wo_meta - ( 5900 + BWE_brate ) ); #ifdef FIX_694_OMASA_EXTREME *total_brate_sec = max( *total_brate_sec, tdm_bit_allc_tbl[idx][coder_type] ); /* sanity check to ensure the secondary channel always gets the minimal bitrate it needs */ #endif } /* Secondary channel bitrate adjusment */ Loading
lib_com/options.h +7 −2 Original line number Diff line number Diff line Loading @@ -156,6 +156,9 @@ #define SPLIT_REND_PRED_QUANT_63_PNTS #define SPLIT_REND_WITH_HEAD_ROT_PARAMBIN /* Nokia: Issue 623: Split rendering support for parambin renderer */ #define FIX_658_SPLIT_REND_MASA /*Dlb : Fix for issue 658, uninitialized memory access in MASA in Split rendering 0DOF mode*/ #ifdef SBA_AND_OBJECTS #define OSBA_SPLIT_RENDERING #endif #endif #define MASA_AND_OBJECTS /* Nokia: Combination of MASA and objects */ Loading @@ -163,11 +166,13 @@ #define SBA_AND_OBJECTS #ifdef SBA_AND_OBJECTS #define OSBA_BR_SWITCHING #define OSBA_SPLIT_RENDERING #endif #define FIX_264_AUDIO_CHANNELS_TO_HEAP /* VA: issue 243: Move audio channels memory from stack to heap */ #define FIX_691_OSBA_CRASH /* FhG: Fix for issue 691: Crash for OSBA Stereo out */ #define FIX_694_OMASA_EXTREME /* Nokia: fix for crash in OMASA on extreme sample */ /* ################## End BE DEVELOPMENT switches ######################### */ Loading