Commit 7daeb3eb authored by Devansh Kandpal's avatar Devansh Kandpal
Browse files

Merge branch 'main' of https://forge.3gpp.org/rep/sa4/audio/ivas-basop into 1864_basop_port_fl1731

parents 77013d34 494a65f4
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -124,7 +124,7 @@
  <ItemGroup>
    <ClCompile Include="..\lib_isar\isar_lcld_decoder.c" />
    <ClCompile Include="..\lib_isar\isar_lcld_encoder.c" />
    <ClCompile Include="..\lib_isar\isar_lcld_rom_tables.c" />
    <ClCompile Include="..\lib_isar\isar_rom_lcld_tables.c" />
    <ClCompile Include="..\lib_isar\isar_splitRend_lcld_enc.c" />
    <ClCompile Include="..\lib_isar\isar_splitRend_lcld_dec.c" />
    <ClCompile Include="..\lib_isar\isar_lc3plus_common.c" />
@@ -150,7 +150,7 @@
    <ClInclude Include="..\lib_isar\isar_prot.h" />
    <ClInclude Include="..\lib_isar\isar_stat.h" />
    <ClInclude Include="..\lib_isar\isar_cnst.h" />
    <ClInclude Include="..\lib_isar\isar_lcld_rom_tables.h" />
    <ClInclude Include="..\lib_isar\isar_rom_lcld_tables.h" />
    <ClInclude Include="..\lib_isar\isar_lc3plus_common.h" />
    <ClInclude Include="..\lib_isar\isar_lc3plus_dec.h" />
    <ClInclude Include="..\lib_isar\isar_lc3plus_enc.h" />
+1 −0
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@
#include "split_rend_bfi_file_reader.h"
#include "vector3_pair_file_reader.h"
#include "wmc_auto.h"
#include "basop32.h"


#define WMC_TOOL_SKIP
+4 −0
Original line number Diff line number Diff line
@@ -271,7 +271,11 @@ void tcx_arith_scale_envelope(

    tmp2 = BASOP_Util_Add_MantExp( negate( b ), b_e, tmp, tmp2, &scale ); /* exp(scale) */
    scale = BASOP_Util_Divide1616_Scale( scale, round_fx( a ), &tmp );
#ifdef ISSUE_1796_replace_shl_o
    scale = shl_sat( scale, sub( sub( add( tmp, tmp2 ), a_e ), 1 ) ); /* Q15 */
#else
    scale = shl_o( scale, sub( sub( add( tmp, tmp2 ), a_e ), 1 ), &Overflow ); /* Q15 */
#endif

    /* iscale = 1.0f / scale; */
    iscale_e = 0;
+1 −1
Original line number Diff line number Diff line
@@ -1268,7 +1268,7 @@ Word16 round_fx( Word32 L_var1 )
    Word32 L_rounded;

    BASOP_SATURATE_WARNING_OFF
    L_rounded = L_add( L_var1, (Word32) 0x00008000L );
    L_rounded = L_add_sat( L_var1, (Word32) 0x00008000L );
    BASOP_SATURATE_WARNING_ON
    var_out = extract_h( L_rounded );

+21 −0
Original line number Diff line number Diff line
@@ -2085,6 +2085,8 @@ Word32 norm_llQ31( /* o : normalized result Q31 */
    return L_sum;
}

#ifndef FIX_ISSUE_1817_REPLACE_CARRY_OVERFLOW
/* note: now available in basop_util.h */
Word32 w_norm_llQ31( Word64 L_sum, Word16 *exp );
Word32 w_norm_llQ31(               /* o : normalized result              Q31 */
                     Word64 L_sum, /* i : upper and lower bits of accu, unsigned   Q31 */
@@ -2111,6 +2113,7 @@ Word32 w_norm_llQ31( /* o : normalized result Q31 */
    L_tmp = W_extract_h( L64_inp64 );
    return L_tmp;
}
#endif

Word32 Dot_product16HQ(                     /* o : normalized result              Q31 */
                        const Word32 L_off, /* i : initial sum value               Qn */
@@ -2135,6 +2138,24 @@ Word32 Dot_product16HQ( /* o : normalized result
    return L_sum;
}

Word32 sum_array_norm(                   /* o : normalized result              Q31 */
                       const Word32 x[], /* i : x vector                        Qn */
                       const Word16 lg,  /* i : vector length, range [0..7FFF]  Q0 */
                       Word16 *exp       /* o : exponent of result in [-32,31]  Q0 */
)
{
    Word16 i;
    Word64 W_tmp = 0;
    Word32 L_tmp;
    FOR( i = 0; i < lg; i++ )
    {
        W_tmp = W_add( W_tmp, x[i] ); /*Q31*/
    }
    L_tmp = w_norm_llQ31( W_tmp, exp ); /*Q31 - *exp*/
    return L_tmp;
}


Word32 Norm32Norm( const Word32 *x, const Word16 headroom, const Word16 length, Word16 *result_e )
{
    Word32 L_tmp, L_tmp2;
Loading