Commit 8837f06b authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'main' into ci/create-parallel-lc3plus-tests-for-basop

parents da3a4a52 aff3a56f
Loading
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -6,9 +6,10 @@ make -j IVAS_cod
mv IVAS_cod IVAS_cod_nosan

# run all modes and cut bitstream to start with an SID. Use mono output to limit runtime, test is only about decoding the first frame
modes_no_sba=$(scripts/runIvasCodec.py -l | grep dtx | grep -vE "FOA|HOA" )
modes_no_sba=$(scripts/runIvasCodec.py -l | grep dtx | grep -vE "stereo|FOA|HOA" )
modes_hoa=$(scripts/runIvasCodec.py -l | grep dtx | grep -E "HOA")
modes_foa=$(scripts/runIvasCodec.py -l | grep dtx | grep "FOA")
modes_stereo=$(scripts/runIvasCodec.py -l | grep dtx | grep "stereo")

# config vars
testcase_timeout=20
@@ -25,12 +26,14 @@ cp IVAS_cod_nosan CLANG1/IVAS_cod

exit_code_msan=0
echo "-------------- 1. Encoder + Msan decoder -------------- "
echo "-------------- 1.1 all DTX modes except SBA -------------- "
echo "-------------- 1.1 all DTX modes except SBA and stereo -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG1 -m $modes_no_sba -U 0:20 $common_args || exit_code_msan=$?
echo "-------------- 1.2 HOA2 + HOA3 DTX modes -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG1 -m $modes_hoa -U 70:80 $common_args || exit_code_msan=$?
echo "-------------- 1.3 FOA DTX modes -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG1 -m $modes_foa -U 75:110 $common_args || exit_code_msan=$?
echo "-------------- 1.4 stereo DTX modes -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG1 -m $modes_stereo -U 40:60 $common_args || exit_code_msan=$?
# archive encoder logs separately
mkdir logs_enc logs_dec_msan
mv CLANG1/logs/*.enc.txt logs_enc/
@@ -44,12 +47,14 @@ cp -r CLANG1/enc CLANG3/enc

exit_code_asan_usan=0
echo "-------------- 2. Asan + Usan decoder -------------- "
echo "-------------- 2.1 all DTX modes except SBA -------------- "
echo "-------------- 2.1 all DTX modes except SBA and stereo -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG2 CLANG3 --decoder_only -m $modes_no_sba -U 0:20 $common_args || exit_code_asan_usan=$?
echo "-------------- 2.2 HOA2 + HOA3 DTX modes -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG2 CLANG3 --decoder_only -m $modes_hoa -U 70:80 $common_args || exit_code_asan_usan=$?
echo "-------------- 2.3 FOA DTX modes -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG2 CLANG3 --decoder_only -m $modes_foa -U 75:110 $common_args || exit_code_asan_usan=$?
echo "-------------- 2.4 stereo DTX modes -------------- "
scripts/IvasBuildAndRunChecks.py --checks CLANG2 CLANG3 --decoder_only -m $modes_stereo -U 40:60 $common_args || exit_code_asan_usan=$?
mv CLANG2/logs logs_dec_asan
mv CLANG3/logs logs_dec_usan

+4 −0
Original line number Diff line number Diff line
@@ -1142,8 +1142,12 @@ enum
#define MASA_TRANSP_BITS                        1
#define NO_BITS_MASA_ISM_NO_OBJ                 2
#define MASA2TOTAL_THR                          0.98f

#define BITS_MASA2TOTTAL_DCT0                   6
#define STEP_M2T                                0.1f
#ifdef NONBE_1231_BASOP_819_THRESHOLD_MASA2TOTAL 
#define STEP_M2T_FX                             214748365 // Q31
#endif
#define MASA_HEADER_BITS                        2
#define MASA_SUBFRAME_BITS                      1
#define MASA_LOWBITRATE_MODE_BITS               1
+26 −0
Original line number Diff line number Diff line
@@ -756,6 +756,32 @@ int16_t get_igf_startline(

float rand_triangular_signed(
    int16_t *seed );
#ifdef NONBE_1231_BASOP_819_THRESHOLD_MASA2TOTAL
Word16 matrix_product_fx(
    const Word32 *X_fx,   /* i  : left hand matrix                                                                       Qx*/
    const Word16 rowsX,   /* i  : number of rows of the left hand matrix                                                 Q0*/
    const Word16 colsX,   /* i  : number of columns of the left hand matrix                                              Q0*/
    const Word16 transpX, /* i  : flag indicating the transposition of the left hand matrix prior to the multiplication  Q0*/
    const Word32 *Y_fx,   /* i  : right hand matrix                                                                      Qy*/
    const Word16 rowsY,   /* i  : number of rows of the right hand matrix                                                Q0*/
    const Word16 colsY,   /* i  : number of columns of the right hand matrix                                             Q0*/
    const Word16 transpY, /* i  : flag indicating the transposition of the right hand matrix prior to the multiplication Q0*/
    Word32 *Z_fx          /* o  : resulting matrix after the matrix multiplication                                       Qx + Qy - 31*/
);

Word16 matrix_product_q30_fx(
    const Word32 *X_fx,   /* i  : left hand matrix                                                                       Q31*/
    const Word16 rowsX,   /* i  : number of rows of the left hand matrix                                                 Q0*/
    const Word16 colsX,   /* i  : number of columns of the left hand matrix                                              Q0*/
    const Word16 transpX, /* i  : flag indicating the transposition of the left hand matrix prior to the multiplication  Q0*/
    const Word32 *Y_fx,   /* i  : right hand matrix                                                                      Q25*/
    const Word16 rowsY,   /* i  : number of rows of the right hand matrix                                                Q0*/
    const Word16 colsY,   /* i  : number of columns of the right hand matrix                                             Q0*/
    const Word16 transpY, /* i  : flag indicating the transposition of the right hand matrix prior to the multiplication Q0*/
    Word32 *Z_fx          /* o  : resulting matrix after the matrix multiplication                                       Q30*/
);
#endif


void dtx_read_padding_bits(
    DEC_CORE_HANDLE st,
+42 −0
Original line number Diff line number Diff line
@@ -2778,6 +2778,48 @@ const int32_t sep_object_brate[][MAX_NUM_OBJECTS] =
};
/* column wise DCT matrices for 4 5, and 8 dim */
#ifdef NONBE_1231_BASOP_819_THRESHOLD_MASA2TOTAL 
const Word32 dct4_fx[4 * 4] = { // Q31
    1073741824, 1402951040, 1073741824, 581109056,
    1073741824, 581109056, -1073741824, -1402951040,
    1073741824, -581109056, -1073741824, 1402951040,
    1073741824, -1402951040, 1073741824, -581109056
};
const Word32 dct5_fx[5 * 5] = { // Q31
    960354688, 1291711360, 1098867328, 798219648, 419618304,
    960354688, 798219648, -419618304, -1291711360, -1098867328,
    960354688, 0, -1358283392, 0, 1358283392,
    960354688, -798219648, -419618304, 1291711360, -1098867328,
    960354688, -1291711360, 1098867328, -798219648, 419618304
};
const Word32 dct8_fx[8 * 8] = { // Q31
    759350208, 1053125952, 991922688, 892708928, 759350208, 596570944, 410813632, 209379648,
    759350208, 892708928, 410813632, -209379648, -759350208, -1053125952, -991922688, -596570944,
    759350208, 596570944, -410813632, -1053125952, -759350208, 209379648, 991922688, 892708928,
    759350208, 209379648, -991922688, -596570944, 759350208, 892708928, -410813632, -1053125952,
    759350208, -209379648, -991922688, 596570944, 759350208, -892708928, -410813632, 1053125952,
    759350208, -596570944, -410813632, 1053125952, -759350208, -209379648, 991922688, -892708928,
    759350208, -892708928, 410813632, 209379648, -759350208, 1053125952, -991922688, 596570944,
    759350208, -1053125952, 991922688, -892708928, 759350208, -596570944, 410813632, -209379648
};
const Word32 dct12_fx[12 * 12] = { // Q31
    619978560, 869301376, 846752832, 810030848, 759350208, 695569984, 619978560, 533649696, 438301408, 335436960, 226989024, 114460880,
    619978560, 810030848, 619978560, 335436960, 0, -335436960, -619978560, -810030848, -876602816, -810030848, -619978560, -335436960,
    619978560, 695569984, 226989024, -335436960, -759350208, -869301376, -619978560, -114460880, 438301408, 810030848, 846752832, 533649696,
    619978560, 533649696, -226989024, -810030848, -759350208, -114460880, 619978560, 869301376, 438301408, -335436960, -846752832, -695569984,
    619978560, 335436960, -619978560, -810030848, 0, 810030848, 619978560, -335436960, -876602816, -335436960, 619978560, 810030848, 619978560,
    114460880, -846752832, -335436960, 759350208, 533649696, -619978560, -695569984, 438301408, 810030848, -226989024, -869301376, 619978560,
    -114460880, -846752832, 335436960, 759350208, -533649696, -619978560, 695569984, 438301408, -810030848, -226989024, 869301376, 619978560,
    -335436960, -619978560, 810030848, 0, -810030848, 619978560, 335436960, -876602816, 335436960, 619978560, -810030848, 619978560, -533649696,
    -226989024, 810030848, -759350208, 114460880, 619978560, -869301376, 438301408, 335436960, -846752832, 695569984, 619978560, -695569984,
    226989024, 335436960, -759350208, 869301376, -619978560, 114460880, 438301408, -810030848, 846752832, -533649696, 619978560, -810030848,
    619978560, -335436960, 0, 335436960, -619978560, 810030848, -876602816, 810030848, -619978560, 335436960, 619978560, -869301376, 846752832,
    -810030848, 759350208, -695569984, 619978560, -533649696, 438301408, -335436960, 226989024, -114460880
};
#endif
const float dct4[4*4] = 
{
    0.5000f,  0.6533f,  0.5000f,  0.2706f,
+6 −0
Original line number Diff line number Diff line
@@ -325,6 +325,12 @@ extern const float McMASA_LFEGain_vectors[64];
 *----------------------------------------------------------------------------------*/

extern const int32_t sep_object_brate[][MAX_NUM_OBJECTS];
#ifdef NONBE_1231_BASOP_819_THRESHOLD_MASA2TOTAL
extern const Word32 dct4_fx[];
extern const Word32 dct5_fx[];
extern const Word32 dct8_fx[];
extern const Word32 dct12_fx[];
#endif
extern const float dct4[];
extern const float dct5[];
extern const float dct8[];
Loading