Commit 87e6dadf authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Merge branch '1489_basop_port_MR1292' into 'main-pc'

[non-BE][split-non-BE][allow-regression] Port changes from PC float MR 1292 on top of main-pc

See merge request !1418
parents 80c38d61 0adb7760
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -96,6 +96,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 ############################ */

+3 −1
Original line number Diff line number Diff line
@@ -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
+33 −0
Original line number Diff line number Diff line
@@ -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
 *------------------------------------------------------------------------*/
@@ -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();

@@ -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();

+3 −0
Original line number Diff line number Diff line
@@ -873,6 +873,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;