Unverified Commit 01122a00 authored by Sumeyra Demir Kanik's avatar Sumeyra Demir Kanik
Browse files

Keep radius_fx as Word16 instead of Word32

parent 5eb81405
Loading
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -3561,12 +3561,17 @@ static void do_object_editing_fx(
                    if ( readInfo->obj_radius_relative[obj_idx] )
                    {
                        /* radius: apply relative edit + saturation */
                        Word32 temp_result = L_shl_sat( Mpy_32_32( editableParameters->ism_metadata[obj_idx].radius_fx, (Word32) ( readInfo->obj_radius[obj_idx] * (Word32) 536870912L ) ), 2 ); 
                        editableParameters->ism_metadata[obj_idx].radius_fx = L_max( L_min( temp_result, OBJ_EDIT_RADIUS_MAX_FX ), 0 ); /* Q29*Q29 -> Q27 shift back to Q29 */
                        Word32 temp_radius = L_max( L_min( ( L_shl_sat( Mpy_32_32( (Word32) editableParameters->ism_metadata[obj_idx].radius_fx, (Word32) ( readInfo->obj_radius[obj_idx] * 512 ) ), 2 ) ), OBJ_EDIT_RADIUS_MAX_FX ), 0 );  /* Q9*Q9 -> Q7 shift back to Q9 */
                        // Saturate to 16-bit range
                        if ( temp_radius > 32767 )
                            temp_radius = 32767;
                        if ( temp_radius < -32768 )
                            temp_radius = -32768;
                        editableParameters->ism_metadata[obj_idx].radius_fx = (Word16) temp_radius;
                    }
                    else
                    {
                        editableParameters->ism_metadata[obj_idx].radius_fx = (Word32) ( readInfo->obj_radius[obj_idx] * 536870912 ); /* Q29 */
                        editableParameters->ism_metadata[obj_idx].radius_fx = (Word16) ( readInfo->obj_radius[obj_idx] * 512 ); /* Q9 */
                    }
                }
#endif
+3 −7
Original line number Diff line number Diff line
@@ -127,11 +127,7 @@ typedef struct _IVAS_ISM_METADATA
{
    Word32 azimuth_fx;    /* Q22 */
    Word32 elevation_fx;  /* Q22 */
#ifdef FIX_2192_OBJ_EDITING_EXT_METADATA
    Word32 radius_fx; /* Q29 */
#else
    Word16 radius_fx;     /* Q9 */
#endif
    Word32 spread_fx;     /* Q22 */
    Word32 gainFactor_fx; /* Q29 */
    Word32 yaw_fx;        /* Q22 */
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ the United Nations Convention on Contracts on the International Sales of Goods.

#ifdef FIX_2192_OBJ_EDITING_EXT_METADATA
#define OBJ_EDIT_RADIUS_MAX    15.75f       /* Max radius = (2^ISM_RADIUS_NBITS-1)*0.25 = 15.75 */
#define OBJ_EDIT_RADIUS_MAX_FX 8455716864LL /* Q29, 15.75f */
#define OBJ_EDIT_RADIUS_MAX_FX 8064         /* Q9, 15.75f (15.75  512 = 8064) */ 
#define OBJ_EDIT_RADIUS_MIN_FX 0
#endif