Commit 0e397341 authored by norvell's avatar norvell
Browse files

Merge branch 'basop_noglob' of...

Merge branch 'basop_noglob' of https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec-basop into basop_noglob
parents fb258835 88366613
Loading
Loading
Loading
Loading

CMakeLists.txt

0 → 100644
+33 −0
Original line number Diff line number Diff line
cmake_minimum_required(VERSION 3.5.0)
project(EVS VERSION 0.1.0 LANGUAGES C)

set(CMAKE_C_STANDARD 99)

include(CTest)
enable_testing()

set(dirs lib_enc lib_dec lib_com basic_op basic_math lib_debug)
include_directories(${dirs})

list(TRANSFORM dirs APPEND "/*.c" OUTPUT_VARIABLE globs)
file(GLOB srcs ${globs})
add_library(lib_evs ${srcs})
if(UNIX)
    target_link_libraries(lib_evs PRIVATE m)
endif()

add_executable(EVS_cod lib_enc/encoder.c)
target_link_libraries(EVS_cod lib_evs)
# if(WIN32)
#   target_link_libraries(EVS_cod Ws2_32)
# endif()

add_executable(EVS_dec lib_dec/decoder.c)
target_link_libraries(EVS_dec lib_evs)
# if(WIN32)
#   target_link_libraries(EVS_dec Ws2_32)
# endif()

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)
+6 −2
Original line number Diff line number Diff line
@@ -134,6 +134,7 @@ Word32 Mpy_32 (Word16 hi1, Word16 lo1, Word16 hi2, Word16 lo2)
    L_32 = L_mac (L_32, mult (hi1, lo2), 1);
    L_32 = L_mac (L_32, mult (lo1, hi2), 1);
#endif

    return (L_32);
}

@@ -163,6 +164,7 @@ Word32 Mac_32 (Word32 L_num, Word16 hi1, Word16 lo1, Word16 hi2, Word16 lo2)
    Word32 L_32;
#ifdef BASOP_NOGLOB
    Flag Overflow = 0;

    L_32 = L_mac_o (L_num, hi1, hi2, &Overflow);
    L_32 = L_mac_o(L_32, mult (hi1, lo2), 1, &Overflow);
    L_32 = L_mac_o(L_32, mult (lo1, hi2), 1, &Overflow);
@@ -171,6 +173,7 @@ Word32 Mac_32 (Word32 L_num, Word16 hi1, Word16 lo1, Word16 hi2, Word16 lo2)
    L_32 = L_mac (L_32, mult (hi1, lo2), 1);
    L_32 = L_mac (L_32, mult (lo1, hi2), 1);
#endif

    return (L_32);
}

@@ -199,6 +202,7 @@ Word32 Sqr_32 (Word16 hi, Word16 lo)
    Word32 L_32;
#ifdef BASOP_NOGLOB
    Flag Overflow = 0;

    L_32 = L_mult_o (hi, hi, &Overflow);
    L_32 = L_mac_o (L_32, mult (hi, lo), 2, &Overflow);
#else 
+6 −4
Original line number Diff line number Diff line
@@ -1882,7 +1882,7 @@ Word32 L_shr (Word32 L_var1, Word16 var2) {
 |___________________________________________________________________________|
*/
#ifdef BASOP_NOGLOB
Word16 shr_r_o (Word16 var1, Word16 var2, Flag* Overflow) {
Word16 shr_ro (Word16 var1, Word16 var2, Flag* Overflow) {
#else
Word16 shr_r (Word16 var1, Word16 var2) {
#endif
@@ -1896,6 +1896,7 @@ Word16 shr_r (Word16 var1, Word16 var2) {
#else
    var_out = shr (var1, var2);
#endif

#if (WMOPS)
    multiCounter[currCounter].shr--;
#endif
@@ -1912,9 +1913,10 @@ Word16 shr_r (Word16 var1, Word16 var2) {
#endif
  return (var_out);
}

#ifdef BASOP_NOGLOB
Word16 shr_r(Word16 var1, Word16 var2) {
    return shr_r_o(var1, var2, NULL);
    return shr_ro(var1, var2, NULL);
}
#endif /* BASOP_NOGLOB */

+1 −1
Original line number Diff line number Diff line
@@ -149,7 +149,7 @@ Word16 add_o (Word16 var1, Word16 var2, Flag * Overflow);
Word16 sub_o (Word16 var1, Word16 var2, Flag * Overflow);
Word16 shl_o (Word16 var1, Word16 var2, Flag * Overflow);
Word16 shr_o (Word16 var1, Word16 var2, Flag * Overflow);
Word16 shr_r_o(Word16 var1, Word16 var2, Flag* Overflow);
Word16 shr_ro(Word16 var1, Word16 var2, Flag* Overflow);
Word16 mult_o (Word16 var1, Word16 var2, Flag * Overflow);
Word32 L_mult_o (Word16 var1, Word16 var2, Flag * Overflow);
Word16 round_fx_o (Word32 L_var1, Flag * Overflow);
+4 −0
Original line number Diff line number Diff line
@@ -228,6 +228,8 @@ void BASOP_Util_Divide_MantExp (Word16 a_m, /*!< Mantissa of dividend
    Flag Overflow = 0;
#endif



    assert(b_m != 0);

    /* normalize b */
@@ -380,6 +382,7 @@ static Word32 ISqrt32_common(Word32 m,
#ifdef BASOP_NOGLOB
    Flag Overflow = 0;
#endif

    assert(m >= 0x40000000);

#ifdef BASOP_NOGLOB
@@ -387,6 +390,7 @@ static Word32 ISqrt32_common(Word32 m,
#else
    m16 = round_fx(m);
#endif

    /* get table index (upper 6 bits minus 32) */
    /* index = (m16 >> 25) - 32; */
    index = mac_r(-32768 - (32 << 16), m16, 1 << 6);
Loading