Commit 4f5a8fee authored by multrus's avatar multrus
Browse files

Merge branch 'main' into 20260501_release_FL-3_1__SA4#136

parents 51ef98f4 0688c396
Loading
Loading
Loading
Loading
+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
+2 −1
Original line number Diff line number Diff line
@@ -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 ################################## */

+3 −6
Original line number Diff line number Diff line
@@ -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
@@ -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;
+2 −3
Original line number Diff line number Diff line
@@ -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 );
+19 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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