Commit 24b0a9b0 authored by sagnowski's avatar sagnowski
Browse files

Merge branch 'main' into 2102_basop_split-rendering-in-voip-mode

parents 4eea9cef bbb2908e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -184,7 +184,7 @@ target_include_directories(lib_util PRIVATE lib_lc3plus lib_isar)

if(NOT WMOPS)
  add_executable(ivas_lc3plus_unit_test ${CMAKE_SOURCE_DIR}/scripts/split_rendering/lc3plus_basop/ivas_lc3plus_unit_test.c)
  target_link_libraries(ivas_lc3plus_unit_test lib_rend lib_dec lib_util lib_basop lib_com lib_debug lib_isar)
  target_link_libraries(ivas_lc3plus_unit_test lib_rend lib_dec lib_util lib_com lib_basop lib_debug lib_isar)
endif()

file(GLOB libISARSrcs "lib_isar/*.c")
+11 −11
Original line number Diff line number Diff line
@@ -109,19 +109,20 @@
    <ClCompile Include="..\lib_lc3plus\basop_mpy_lc3plus.c" />
    <ClCompile Include="..\lib_lc3plus\basop_util_lc3plus.c" />
    <ClCompile Include="..\lib_lc3plus\constants.c" />
    <ClCompile Include="..\lib_lc3plus\com_entropy.c" />
    <ClCompile Include="..\lib_lc3plus\cutoff_bandwidth.c" />
    <ClCompile Include="..\lib_lc3plus\dct2_fx.c" />
    <ClCompile Include="..\lib_lc3plus\dct4_fx.c" />
    <ClCompile Include="..\lib_lc3plus\dec_entropy.c" />
    <ClCompile Include="..\lib_lc3plus\dec_lc3.c" />
    <ClCompile Include="..\lib_lc3plus\dec_lc3plus.c" />
    <ClCompile Include="..\lib_lc3plus\detect_cutoff_warped_fx.c" />
    <ClCompile Include="..\lib_lc3plus\dynmem.c" />
    <ClCompile Include="..\lib_lc3plus\enc_entropy.c" />
    <ClCompile Include="..\lib_lc3plus\enc_lc3.c" />
    <ClCompile Include="..\lib_lc3plus\enc_lc3plus.c" />
    <ClCompile Include="..\lib_lc3plus\estimate_global_gain_fx.c" />
    <ClCompile Include="..\lib_lc3plus\fft_lc3plus.c" />
    <ClCompile Include="..\lib_lc3plus\imdct_fx.c" />
    <ClCompile Include="..\lib_lc3plus\lc3.c" />
    <ClCompile Include="..\lib_lc3plus\lc3plus.c" />
    <ClCompile Include="..\lib_lc3plus\levinson_fx.c" />
    <ClCompile Include="..\lib_lc3plus\ltpf_coder_fx.c" />
    <ClCompile Include="..\lib_lc3plus\ltpf_decoder_fx.c" />
@@ -166,8 +167,9 @@
    <ClCompile Include="..\lib_lc3plus\residual_decoding_fx.c" />
    <ClCompile Include="..\lib_lc3plus\rom_basop_util_lc3plus.c" />
    <ClCompile Include="..\lib_lc3plus\scale_signal24_fx.c" />
    <ClCompile Include="..\lib_lc3plus\setup_dec_lc3.c" />
    <ClCompile Include="..\lib_lc3plus\setup_enc_lc3.c" />
    <ClCompile Include="..\lib_lc3plus\setup_com_lc3plus.c" />
    <ClCompile Include="..\lib_lc3plus\setup_dec_lc3plus.c" />
    <ClCompile Include="..\lib_lc3plus\setup_enc_lc3plus.c" />
    <ClCompile Include="..\lib_lc3plus\sns_compute_scf_fx.c" />
    <ClCompile Include="..\lib_lc3plus\sns_interpolate_scf_fx.c" />
    <ClCompile Include="..\lib_lc3plus\sns_quantize_scf_fx.c" />
@@ -181,13 +183,11 @@
    <ClInclude Include="..\lib_lc3plus\defines.h" />
    <ClInclude Include="..\lib_lc3plus\dynmem.h" />
    <ClInclude Include="..\lib_lc3plus\functions.h" />
    <ClInclude Include="..\lib_lc3plus\lc3.h" />
    <ClInclude Include="..\lib_lc3plus\lc3plus.h" />
    <ClInclude Include="..\lib_lc3plus\license.h" />
    <ClInclude Include="..\lib_lc3plus\rom_basop_util_lc3plus.h" />
    <ClInclude Include="..\lib_lc3plus\setup_dec_lc3.h" />
    <ClInclude Include="..\lib_lc3plus\setup_enc_lc3.h" />
    <ClInclude Include="..\lib_lc3plus\tinywavein_c.h" />
    <ClInclude Include="..\lib_lc3plus\tinywaveout_c.h" />
    <ClInclude Include="..\lib_lc3plus\setup_dec_lc3plus.h" />
    <ClInclude Include="..\lib_lc3plus\setup_enc_lc3plus.h" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
+2 −0
Original line number Diff line number Diff line
@@ -86,6 +86,8 @@
#define FIX_2166_ASSERT_OSBA_PLC_STEREO_OUT                  /* FhG: fix for issue 2166 - add missing averaging factor 0.5 in for the sum of energies in function stereo_dft_dmx_swb_nrg_fx()*/

#define FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE                /* FhG: Use dynamic Q factor for synth_fx and synthFB_fx to prevent overflow */
#define FIX_2082_FP_LEFTOVERS_OMASA_DEC                      /* Nokia: fix for issue 2082, cleaning remaining floating point code */

/* ################### End FIXES switches ########################### */

/* #################### Start BASOP porting switches ############################ */
+7 −1
Original line number Diff line number Diff line
@@ -46,12 +46,18 @@
 * Local constants
 *------------------------------------------------------------------------*/


#ifdef FIX_2082_FP_LEFTOVERS_OMASA_DEC
#define MULT_17_DIV_20_Q15              27853      /* (Word16) ( ( 17.0/20.0 ) * 2^15 + 0.5 ) */
#define MULT_1_DIV_CLDFB_NO_COL_MAX_Q15 2048       /* (Word16) ( ( 1.0 / CLDFB_NO_COL_MAX ) * 2^15 + 0.5 ) */
#define ONEMINUX_EXT_RENDER_IIR_FAC_Q31 107374182  /* (Word32) ( ( 1.0 - 0.95 ) * 2^31 + 0.5f );  0.95 is EXT_RENDER_IIR_FAC  */
#define EXT_RENDER_IIR_FAC_Q31          2040109465 /* (Word32) ( 0.95 * 2^31 + 0.5 ) */
#else
#define EXT_RENDER_IIR_FAC              0.95f
#define MULT_17_DIV_20_Q15              ( Word16 )( ( 17.0 / 20.0f ) * pow( 2, 15 ) + 0.5f )
#define MULT_1_DIV_CLDFB_NO_COL_MAX_Q15 ( Word16 )( ( 1.0 / CLDFB_NO_COL_MAX ) * pow( 2, 15 ) + 0.5f )
#define ONEMINUX_EXT_RENDER_IIR_FAC_Q31 ( Word32 )( ( 1.0f - EXT_RENDER_IIR_FAC ) * pow( 2, 31 ) + 0.5f )
#define EXT_RENDER_IIR_FAC_Q31          ( Word32 )( EXT_RENDER_IIR_FAC * pow( 2, 31 ) + 0.5f )
#endif

// Calculated as (Word16)(((1.0f / (50 * MAX_PARAM_SPATIAL_SUBFRAMES)) * pow(2, 15)) + 0.5f)
#define OMASA_DELAYFRAMES_PER_SEC_Q15 (Word16) 164 // Q15
+31 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@
#include "options.h"
#include "isar_lc3plus_common.h"
#include "ivas_error.h"
#include "lc3.h"
#include "lc3plus.h"

/*-----------------------------------------------------------------------------------------*
 * Function ISAR_LC3PLUS_LC3plusErrToIvasErr()
@@ -58,6 +58,12 @@ ivas_error ISAR_LC3PLUS_LC3plusErrToIvasErr(
}


/*-----------------------------------------------------------------------------------------*
 * Function IVAS_LC3PLUS_LC3plusRtpErrToIvasErr()
 *
 *
 *-----------------------------------------------------------------------------------------*/

ivas_error IVAS_LC3PLUS_LC3plusRtpErrToIvasErr(
    const LC3PLUS_RTP_ERR lc3PlusRtpError )
{
@@ -86,3 +92,27 @@ ivas_error IVAS_LC3PLUS_LC3plusRtpErrToIvasErr(

    return IVAS_ERR_UNKNOWN;
}

/*-----------------------------------------------------------------------------------------*
 * Function IVAS_LC3PLUS_UsToLC3plusFrameDuration()
 *
 *
 *-----------------------------------------------------------------------------------------*/

LC3PLUS_FrameDuration IVAS_LC3PLUS_UsToLC3plusFrameDuration(
    const int16_t lc3PlusFrameDurationUs )
{
    switch ( lc3PlusFrameDurationUs )
    {
        case 2500:
            return LC3PLUS_FRAME_DURATION_2p5MS;
        case 5000:
            return LC3PLUS_FRAME_DURATION_5MS;
        case 10000:
            return LC3PLUS_FRAME_DURATION_10MS;
        default:
            break;
    }

    return LC3PLUS_FRAME_DURATION_UNDEFINED;
}
Loading