Commit 59b9022e authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Change relative adjustment to fixed point. Change max gain to fit Q29 limit.

parent 8aa0b3b1
Loading
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -3525,7 +3525,7 @@ static void do_object_editing_fx(
                    if ( readInfo->obj_azi_relative[obj_idx] )
                    {
                        /* azimuth: apply relative edit + wrap */
                        editableParameters->ism_metadata[obj_idx].azimuth_fx = float_to_fix( fmodf( fix_to_float( editableParameters->ism_metadata[obj_idx].azimuth_fx, Q22 ) + readInfo->obj_azi[obj_idx] + 540.f, 360.f ) - 180.f, Q22 );
                        editableParameters->ism_metadata[obj_idx].azimuth_fx = ( ( editableParameters->ism_metadata[obj_idx].azimuth_fx + float_to_fix( readInfo->obj_azi[obj_idx], Q22 ) + 2264924160 ) % 1509949440 ) - 754974720;
                    }
                    else
                    {
@@ -3537,7 +3537,7 @@ static void do_object_editing_fx(
                    if ( readInfo->obj_ele_relative[obj_idx] )
                    {
                        /* elevation: apply relative edit + saturation */
                        editableParameters->ism_metadata[obj_idx].elevation_fx = float_to_fix( fmaxf( fix_to_float( fminf( editableParameters->ism_metadata[obj_idx].elevation_fx, Q22 ) + readInfo->obj_ele[obj_idx], 90.f ), -90.f ), Q22 );
                        editableParameters->ism_metadata[obj_idx].elevation_fx = L_max( L_min( editableParameters->ism_metadata[obj_idx].elevation_fx + float_to_fix(readInfo->obj_ele[obj_idx],Q22), 377487360 ), -377487360 );
                    }
                    else
                    {
@@ -3552,7 +3552,7 @@ static void do_object_editing_fx(
                if ( readInfo->obj_gain_relative[obj_idx] )
                {
                    /* gain: apply relative edit + saturation */
                    editableParameters->ism_metadata[obj_idx].gain_fx = float_to_fix( fmaxf( fminf( fix_to_float( editableParameters->ism_metadata[obj_idx].gain_fx, Q29 ) * readInfo->obj_gain[obj_idx], OBJ_EDIT_GAIN_MAX ), OBJ_EDIT_GAIN_MIN ), Q29 );
                    editableParameters->ism_metadata[obj_idx].gain_fx = L_max( L_min( editableParameters->ism_metadata[obj_idx].gain_fx * float_to_fix( readInfo->obj_gain[obj_idx], Q29), OBJ_EDIT_GAIN_MAX_FX ), OBJ_EDIT_GAIN_MIN_FX );
                }
                else
                {
+2 −2
Original line number Diff line number Diff line
/******************************************************************************************************

(C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
(C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
@@ -33,7 +33,7 @@ the United Nations Convention on Contracts on the International Sales of Goods.
#include <stdlib.h>
#include <string.h>
#include "obj_edit_file_reader.h"
#include "prot.h"
#include "prot_fx.h"


#ifdef FIX_1217_OBJECT_EDIT_FILE_INTERFACE
+5 −3
Original line number Diff line number Diff line
/******************************************************************************************************

(C) 2022-2024 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
(C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
@@ -42,8 +42,10 @@ the United Nations Convention on Contracts on the International Sales of Goods.
 * Constants ans structures
 *---------------------------------------------------------------------*/

#define OBJ_EDIT_GAIN_MIN_FX 33874262   /* Q29, 0.06309573f, -24 dB */
#define OBJ_EDIT_GAIN_MAX_FX 2127207375 /* Q29, 3.9622325f,  +12 dB, TODO: align with float */
#define OBJ_EDIT_GAIN_MIN 0.06309573f   /* -24 dB */
#define OBJ_EDIT_GAIN_MAX 15.84893f   /* +24 dB */
#define OBJ_EDIT_GAIN_MAX 3.9622325f    /* +12 dB */

typedef struct ObjectEditFileReader ObjectEditFileReader;
typedef struct ReadObjectEditInfo ReadObjectEditInfo;