Loading lib_com/ivas_cnst.h +4 −0 Original line number Diff line number Diff line Loading @@ -360,6 +360,10 @@ typedef enum #define ISM_Q_STEP_BORDER 5.0f #define ISM_Q_STEP_BORDER_FX ( 20971520 ) // Q22 #ifdef NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA #define ISM_FEC_MAX 10 #endif #define ISM_RADIUS_NBITS 6 #define ISM_RADIUS_MIN 0.0f #define ISM_RADIUS_MIN_Q9 0 Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -186,6 +186,7 @@ #define NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW /* FhG: issue 943: fix crash in BW switchin from WB in MDCT-Stereo core encoder */ #define FIX_911_REMOVE_CREND_DUPLICATION /* VA: issue 911: resolve duplication of CRend binaural external renderer function */ #define FIX_938_GCC_12_WARNINGS /* VA: issue #938: remove set_f(.,.,0) call in which length is always 0 to remove GCC 12.0 warning */ #define NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA /* Nokia: issue 944: fix FEC error in OMASA */ /* #################### End BASOP porting switches ############################ */ Loading lib_enc/ivas_ism_metadata_enc_fx.c +2 −0 Original line number Diff line number Diff line Loading @@ -54,7 +54,9 @@ #define ISM_MAX_ELEVATION_DIFF_IDX ( ISM_ELEVATION_NBITS - 1 /*zero*/ - 1 /*sign*/ ) #define ISM_MAX_RADIUS_DIFF_IDX ( ISM_RADIUS_NBITS - 1 /*zero*/ - 1 /*sign*/ ) #ifndef NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA #define ISM_FEC_MAX 10 #endif #define ISM_MD_FEC_DIFF 10 #define ISM_MD_FEC_DIFF_Q22 41943040 #define ISM_MD_INC_DIFF_CNT_MAX 6 Loading lib_enc/ivas_omasa_enc_fx.c +33 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,14 @@ #endif #ifdef NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA /*------------------------------------------------------------------------- * Local constants *------------------------------------------------------------------------*/ #define OMASA_FEC_MAX 5 #endif /*------------------------------------------------------------------------- * Local function prototypes *------------------------------------------------------------------------*/ Loading Loading @@ -184,6 +192,10 @@ ivas_error ivas_omasa_enc_open_fx( hOMasa->prev_selected_object = 0; hOMasa->changing_object = 0; #ifdef NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA hOMasa->since_obj_change_cnt = 0; move16(); #endif move16(); move16(); Loading Loading @@ -648,6 +660,27 @@ void ivas_omasa_enc_fx( move32(); move16(); } #ifdef NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA /* force absolute MD coding in case of change of separated object */ IF ( NE_16( hOMasa->prev_selected_object, selected_object) ) { hOMasa->since_obj_change_cnt = 0; hIsmMeta[0]->position_angle.angle1_diff_cnt = ISM_FEC_MAX; move16(); move16(); } ELSE { hOMasa->since_obj_change_cnt = add(hOMasa->since_obj_change_cnt, 1); hOMasa->since_obj_change_cnt = s_min( OMASA_FEC_MAX, hOMasa->since_obj_change_cnt ); IF ( LT_16(hOMasa->since_obj_change_cnt, OMASA_FEC_MAX) ) { hIsmMeta[0]->position_angle.angle1_diff_cnt = ISM_FEC_MAX; move16(); } } #endif hOMasa->prev_selected_object = selected_object; move16(); Loading lib_enc/ivas_stat_enc.h +3 −0 Original line number Diff line number Diff line Loading @@ -877,6 +877,9 @@ typedef struct ivas_omasa_enc_state_structure Word16 prev_selected_object; UWord8 changing_object; #ifdef NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA Word16 since_obj_change_cnt; #endif } OMASA_ENC_STATE, *OMASA_ENC_HANDLE; Loading Loading
lib_com/ivas_cnst.h +4 −0 Original line number Diff line number Diff line Loading @@ -360,6 +360,10 @@ typedef enum #define ISM_Q_STEP_BORDER 5.0f #define ISM_Q_STEP_BORDER_FX ( 20971520 ) // Q22 #ifdef NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA #define ISM_FEC_MAX 10 #endif #define ISM_RADIUS_NBITS 6 #define ISM_RADIUS_MIN 0.0f #define ISM_RADIUS_MIN_Q9 0 Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -186,6 +186,7 @@ #define NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW /* FhG: issue 943: fix crash in BW switchin from WB in MDCT-Stereo core encoder */ #define FIX_911_REMOVE_CREND_DUPLICATION /* VA: issue 911: resolve duplication of CRend binaural external renderer function */ #define FIX_938_GCC_12_WARNINGS /* VA: issue #938: remove set_f(.,.,0) call in which length is always 0 to remove GCC 12.0 warning */ #define NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA /* Nokia: issue 944: fix FEC error in OMASA */ /* #################### End BASOP porting switches ############################ */ Loading
lib_enc/ivas_ism_metadata_enc_fx.c +2 −0 Original line number Diff line number Diff line Loading @@ -54,7 +54,9 @@ #define ISM_MAX_ELEVATION_DIFF_IDX ( ISM_ELEVATION_NBITS - 1 /*zero*/ - 1 /*sign*/ ) #define ISM_MAX_RADIUS_DIFF_IDX ( ISM_RADIUS_NBITS - 1 /*zero*/ - 1 /*sign*/ ) #ifndef NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA #define ISM_FEC_MAX 10 #endif #define ISM_MD_FEC_DIFF 10 #define ISM_MD_FEC_DIFF_Q22 41943040 #define ISM_MD_INC_DIFF_CNT_MAX 6 Loading
lib_enc/ivas_omasa_enc_fx.c +33 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,14 @@ #endif #ifdef NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA /*------------------------------------------------------------------------- * Local constants *------------------------------------------------------------------------*/ #define OMASA_FEC_MAX 5 #endif /*------------------------------------------------------------------------- * Local function prototypes *------------------------------------------------------------------------*/ Loading Loading @@ -184,6 +192,10 @@ ivas_error ivas_omasa_enc_open_fx( hOMasa->prev_selected_object = 0; hOMasa->changing_object = 0; #ifdef NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA hOMasa->since_obj_change_cnt = 0; move16(); #endif move16(); move16(); Loading Loading @@ -648,6 +660,27 @@ void ivas_omasa_enc_fx( move32(); move16(); } #ifdef NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA /* force absolute MD coding in case of change of separated object */ IF ( NE_16( hOMasa->prev_selected_object, selected_object) ) { hOMasa->since_obj_change_cnt = 0; hIsmMeta[0]->position_angle.angle1_diff_cnt = ISM_FEC_MAX; move16(); move16(); } ELSE { hOMasa->since_obj_change_cnt = add(hOMasa->since_obj_change_cnt, 1); hOMasa->since_obj_change_cnt = s_min( OMASA_FEC_MAX, hOMasa->since_obj_change_cnt ); IF ( LT_16(hOMasa->since_obj_change_cnt, OMASA_FEC_MAX) ) { hIsmMeta[0]->position_angle.angle1_diff_cnt = ISM_FEC_MAX; move16(); } } #endif hOMasa->prev_selected_object = selected_object; move16(); Loading
lib_enc/ivas_stat_enc.h +3 −0 Original line number Diff line number Diff line Loading @@ -877,6 +877,9 @@ typedef struct ivas_omasa_enc_state_structure Word16 prev_selected_object; UWord8 changing_object; #ifdef NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA Word16 since_obj_change_cnt; #endif } OMASA_ENC_STATE, *OMASA_ENC_HANDLE; Loading