Unverified Commit 89ba117e authored by Sumeyra Demir Kanik's avatar Sumeyra Demir Kanik
Browse files

Changes in radius_fx edit

parent 6bae3349
Loading
Loading
Loading
Loading
Loading
+12 −7
Original line number Diff line number Diff line
@@ -3561,13 +3561,18 @@ static void do_object_editing_fx(
                    if ( readInfo->obj_radius_relative[obj_idx] )
                    {
                        /* radius: apply relative edit + saturation */
                        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;
                        #define SQ 9

                        #define SHIFT_DUE_TO_SQxSQ ( SQ - ( SQ + SQ + 1 - 16 ) ) /*  ^shift by 6  == mult by 2^6 = 64.0 */

                        Word32 L_tmp1 = L_mult( editableParameters->ism_metadata[obj_idx].radius_fx, (Word16) ( readInfo->obj_radius[obj_idx] * ( 1L << ( SQ ) ) ) ); /*SQ*SQ*/
                        Word32  L_tmp2 = L_shl_sat( L_tmp1, SHIFT_DUE_TO_SQxSQ); /*shift back to Q(9+16)*/
                        Word16   temp_radius = round_fx(L_tmp2);  /* Q25 -> Q9 */   
                        temp_radius = s_max( s_min( temp_radius , OBJ_EDIT_RADIUS_MAX_FX ), 0 );

                        /*  L_tmp2  is in S31Q25  stored in a signed Word32   
                            temp_radius is in  S15Q9    stored in a signed Word16   
                           */
                    }
                    else
                    {