Loading apps/decoder.c +3 −3 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -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 { Loading @@ -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 { Loading lib_util/obj_edit_file_reader.c +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 Loading Loading @@ -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 Loading lib_util/obj_edit_file_reader.h +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 Loading Loading @@ -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; Loading Loading
apps/decoder.c +3 −3 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -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 { Loading @@ -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 { Loading
lib_util/obj_edit_file_reader.c +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 Loading Loading @@ -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 Loading
lib_util/obj_edit_file_reader.h +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 Loading Loading @@ -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; Loading