Loading ci/check_update_copyright.sh 0 → 100755 +63 −0 Original line number Diff line number Diff line #!/bin/bash # (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 # contributors to this repository. All Rights Reserved. # This software is protected by copyright law and by international treaties. # The IVAS codec Public Collaboration consisting of 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 # contributors to this repository retain full ownership rights in their respective contributions in # the software. This notice grants no license of any kind, including but not limited to patent # license, nor is any license granted by implication, estoppel or otherwise. # Contributors are required to enter into the IVAS codec Public Collaboration agreement before making # contributions. # This software is provided "AS IS", without any express or implied warranties. The software is in the # development stage. It is intended exclusively for experts who have experience with such software and # solely for the purpose of inspection. All implied warranties of non-infringement, merchantability # and fitness for a particular purpose are hereby disclaimed and excluded. # Any dispute, controversy or claim arising under or in relation to providing this software shall be # submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. if [[ $# -ne 1 ]]; then echo "USAGE: $0 <PATCH_FILE_NAME>" exit -1 fi PATCH_FILE_NAME=$1 curr_year=$(date +'%Y') changes=0 lfs_files=$(git lfs ls-files -n) sed_list=$(mktemp) # iterate through tracked files for file in $(git ls-files); do # skip LFS files if [[ "$lfs_files" == *"$file"* ]]; then continue fi # process only text files if file "$file" | grep -q 'text'; then echo $file >>$sed_list fi done xargs -n 1 -P 8 sed -i -E "s/\(C\)\s+202[0-9]-202[0-9]/(C) 2022-$curr_year/g" <$sed_list if [[ $(git status --porcelain --untracked-files=no) ]]; then changes=1 git diff >"$PATCH_FILE_NAME" fi exit $changes lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -164,7 +164,8 @@ #define FIX_FLOAT_1539_G192_FORMAT_SWITCH /* Nokia: reintroduce format switching for g192 bitstreams */ #define FIX_2095_REMOVE_UNUSED_ISAR_TABLES /* Dolby: remove unused ISAR */ #define FIX_FLOAT_1582_STEREO_DFT_QUANTIZE_ITD /* FhG: float issue 1582: Remove unncessary statement from stereo_dft_quantize_itd() */ #define FIX_1585_ASAN_FORMAT_SW_ALT /* VA: float issue 1585: alternative fix memory leaks with format switching */ #define FIX_1585_ASAN_FORMAT_SW_ALT /* VA,FhG: float issues 1585,1593: alternative fix memory leaks with format switching */ #define FIX_2570_BUF_OVFL /* Orange: basop issue 2570: global-buffer-overflow in lib_rend/ivas_objectRenderer_sources_fx.c */ /* #################### End BE switches ################################## */ Loading lib_dec/ivas_init_dec.c +3 −6 Original line number Diff line number Diff line Loading @@ -2327,12 +2327,6 @@ ivas_error ivas_init_decoder( set_f( st_ivas->mem_hp20_out[i], 0.0f, L_HP20_MEM ); } #ifdef FIX_1585_ASAN_FORMAT_SW_ALT for ( ; i < MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS; i++ ) { st_ivas->mem_hp20_out[i] = NULL; } #endif /*-------------------------------------------------------------------* * Allocate and initialize rendering handles Loading Loading @@ -2905,6 +2899,9 @@ void ivas_initialize_handles_dec( for ( i = 0; i < MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS; i++ ) { st_ivas->p_output_f[i] = NULL; #ifdef FIX_1585_ASAN_FORMAT_SW_ALT st_ivas->mem_hp20_out[i] = NULL; #endif } return; Loading lib_dec/ivas_mono_dmx_renderer.c +2 −3 Original line number Diff line number Diff line Loading @@ -227,9 +227,8 @@ void ivas_apply_non_diegetic_panning( const int16_t output_frame /* i : output frame length per channel */ ) { float pan_left, pan_right; float pan = ( non_diegetic_pan_gain + 1.f ) * 0.5f; float pan_left, pan_right, pan; pan = ( non_diegetic_pan_gain + 1.f ) * 0.5f; pan_left = sinf( pan * EVS_PI * 0.5f ); pan_right = cosf( pan * EVS_PI * 0.5f ); v_multc( input_f, pan_right, output_f[1], output_frame ); Loading lib_rend/ivas_objectRenderer_sources.c +19 −0 Original line number Diff line number Diff line Loading @@ -318,6 +318,9 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW float pan; #endif #ifdef FIX_2570_BUF_OVFL float wrapped_angle; // -90 <= wrapped_angle <= 90 #endif /* Evaluate the HR filters from the source and listener positions and orientations */ Listener_p = hBinRendererTd->Listener_p; Loading Loading @@ -392,7 +395,23 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( set_f( hrf_left, 0.0f, *filterlength ); set_f( hrf_right, 0.0f, *filterlength ); #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW #ifdef FIX_2570_BUF_OVFL if ( SrcSpatial_p->Pos_p[1] < -1.f ) { wrapped_angle = -2.f - SrcSpatial_p->Pos_p[1]; } else if ( SrcSpatial_p->Pos_p[1] > 1.f ) { wrapped_angle = 2.f - SrcSpatial_p->Pos_p[1]; } else { wrapped_angle = SrcSpatial_p->Pos_p[1]; } pan = ( wrapped_angle + 1.f ) * 0.5f; #else pan = ( SrcSpatial_p->Pos_p[1] + 1.f ) * 0.5f; #endif hrf_left[0] = sinf( pan * EVS_PI * 0.5f ); hrf_right[0] = cosf( pan * EVS_PI * 0.5f ); #else Loading Loading
ci/check_update_copyright.sh 0 → 100755 +63 −0 Original line number Diff line number Diff line #!/bin/bash # (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 # contributors to this repository. All Rights Reserved. # This software is protected by copyright law and by international treaties. # The IVAS codec Public Collaboration consisting of 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 # contributors to this repository retain full ownership rights in their respective contributions in # the software. This notice grants no license of any kind, including but not limited to patent # license, nor is any license granted by implication, estoppel or otherwise. # Contributors are required to enter into the IVAS codec Public Collaboration agreement before making # contributions. # This software is provided "AS IS", without any express or implied warranties. The software is in the # development stage. It is intended exclusively for experts who have experience with such software and # solely for the purpose of inspection. All implied warranties of non-infringement, merchantability # and fitness for a particular purpose are hereby disclaimed and excluded. # Any dispute, controversy or claim arising under or in relation to providing this software shall be # submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. if [[ $# -ne 1 ]]; then echo "USAGE: $0 <PATCH_FILE_NAME>" exit -1 fi PATCH_FILE_NAME=$1 curr_year=$(date +'%Y') changes=0 lfs_files=$(git lfs ls-files -n) sed_list=$(mktemp) # iterate through tracked files for file in $(git ls-files); do # skip LFS files if [[ "$lfs_files" == *"$file"* ]]; then continue fi # process only text files if file "$file" | grep -q 'text'; then echo $file >>$sed_list fi done xargs -n 1 -P 8 sed -i -E "s/\(C\)\s+202[0-9]-202[0-9]/(C) 2022-$curr_year/g" <$sed_list if [[ $(git status --porcelain --untracked-files=no) ]]; then changes=1 git diff >"$PATCH_FILE_NAME" fi exit $changes
lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -164,7 +164,8 @@ #define FIX_FLOAT_1539_G192_FORMAT_SWITCH /* Nokia: reintroduce format switching for g192 bitstreams */ #define FIX_2095_REMOVE_UNUSED_ISAR_TABLES /* Dolby: remove unused ISAR */ #define FIX_FLOAT_1582_STEREO_DFT_QUANTIZE_ITD /* FhG: float issue 1582: Remove unncessary statement from stereo_dft_quantize_itd() */ #define FIX_1585_ASAN_FORMAT_SW_ALT /* VA: float issue 1585: alternative fix memory leaks with format switching */ #define FIX_1585_ASAN_FORMAT_SW_ALT /* VA,FhG: float issues 1585,1593: alternative fix memory leaks with format switching */ #define FIX_2570_BUF_OVFL /* Orange: basop issue 2570: global-buffer-overflow in lib_rend/ivas_objectRenderer_sources_fx.c */ /* #################### End BE switches ################################## */ Loading
lib_dec/ivas_init_dec.c +3 −6 Original line number Diff line number Diff line Loading @@ -2327,12 +2327,6 @@ ivas_error ivas_init_decoder( set_f( st_ivas->mem_hp20_out[i], 0.0f, L_HP20_MEM ); } #ifdef FIX_1585_ASAN_FORMAT_SW_ALT for ( ; i < MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS; i++ ) { st_ivas->mem_hp20_out[i] = NULL; } #endif /*-------------------------------------------------------------------* * Allocate and initialize rendering handles Loading Loading @@ -2905,6 +2899,9 @@ void ivas_initialize_handles_dec( for ( i = 0; i < MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS; i++ ) { st_ivas->p_output_f[i] = NULL; #ifdef FIX_1585_ASAN_FORMAT_SW_ALT st_ivas->mem_hp20_out[i] = NULL; #endif } return; Loading
lib_dec/ivas_mono_dmx_renderer.c +2 −3 Original line number Diff line number Diff line Loading @@ -227,9 +227,8 @@ void ivas_apply_non_diegetic_panning( const int16_t output_frame /* i : output frame length per channel */ ) { float pan_left, pan_right; float pan = ( non_diegetic_pan_gain + 1.f ) * 0.5f; float pan_left, pan_right, pan; pan = ( non_diegetic_pan_gain + 1.f ) * 0.5f; pan_left = sinf( pan * EVS_PI * 0.5f ); pan_right = cosf( pan * EVS_PI * 0.5f ); v_multc( input_f, pan_right, output_f[1], output_frame ); Loading
lib_rend/ivas_objectRenderer_sources.c +19 −0 Original line number Diff line number Diff line Loading @@ -318,6 +318,9 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW float pan; #endif #ifdef FIX_2570_BUF_OVFL float wrapped_angle; // -90 <= wrapped_angle <= 90 #endif /* Evaluate the HR filters from the source and listener positions and orientations */ Listener_p = hBinRendererTd->Listener_p; Loading Loading @@ -392,7 +395,23 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( set_f( hrf_left, 0.0f, *filterlength ); set_f( hrf_right, 0.0f, *filterlength ); #ifdef FIX_1548_HARMONIZE_NON_DIEGETIC_PANNING_LAW #ifdef FIX_2570_BUF_OVFL if ( SrcSpatial_p->Pos_p[1] < -1.f ) { wrapped_angle = -2.f - SrcSpatial_p->Pos_p[1]; } else if ( SrcSpatial_p->Pos_p[1] > 1.f ) { wrapped_angle = 2.f - SrcSpatial_p->Pos_p[1]; } else { wrapped_angle = SrcSpatial_p->Pos_p[1]; } pan = ( wrapped_angle + 1.f ) * 0.5f; #else pan = ( SrcSpatial_p->Pos_p[1] + 1.f ) * 0.5f; #endif hrf_left[0] = sinf( pan * EVS_PI * 0.5f ); hrf_right[0] = cosf( pan * EVS_PI * 0.5f ); #else Loading