Commit 65ebb129 authored by TYAGIRIS's avatar TYAGIRIS
Browse files

Merge branch 'main' into isar_selection_branch

parents 35730234 1df9e4c3
Loading
Loading
Loading
Loading
Loading
+35 −7
Original line number Diff line number Diff line
@@ -201,7 +201,23 @@ stages:
    - make clean
    - make -j CLANG=$CLANG_NUM
    - testcase_timeout=$SELFTEST_SANITY_TIMEOUT
    - UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1 python3 -m pytest $SELF_TEST_PRM_FILE -v --update_ref 1 -m create_ref --html=report.html --self-contained-html --junit-xml=report-junit.xml --testcase_timeout=$testcase_timeout --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec
    - export UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1

    - exit_code20=0
    - exit_code10=0
    - exit_code5=0

    - if [ $CLANG_NUM -eq 1 ]; then sanitizer_type="MemorySanitizer"; elif [ $CLANG_NUM -eq 2 ]; then sanitizer_type="AddressSanitizer"; elif [ $CLANG_NUM -eq 3 ]; then sanitizer_type="UndefinedBehaviorSanitizer"; else echo "Wrong CLANG_NUM $CLANG_NUM given!"; exit 1; fi

    # run encoder and decoder with 20ms renderer framesize first, use reference creation mode
    - python3 -m pytest $SELF_TEST_PRM_FILE -v --update_ref 1 -m create_ref --html=report-20ms.html --self-contained-html --junit-xml=report-junit-20ms.xml --testcase_timeout=$testcase_timeout --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec || exit_code20=$?
    # for 10ms and 5ms renderer framesize, we only need to run the decoder part as renderer framesize is a decoder-only option
    # set tolerance very high do ignore any BE differences due to the different renderer framesizes, those can appear due to the limiter being active
    # we are only interested in runtime errors from the sanitizers and ignore the diffs
    - python3 -m pytest $SELF_TEST_PRM_FILE -v --html=report-5ms.html --self-contained-html --junit-xml=report-junit-5ms.xml --dut_fr 5 --decoder_only --abs_tol 100000 || exit_code5=$?
    - python3 -m pytest $SELF_TEST_PRM_FILE -v --html=report-10ms.html --self-contained-html --junit-xml=report-junit-10ms.xml --dut_fr 10 --decoder_only --abs_tol 100000 || exit_code10=$?

    - if [ $exit_code20 -ne 0 ] || [ $exit_code10 -ne 0 ] || [ $exit_code5 -ne 0 ]; then exit 1; fi


# ---------------------------------------------------------------
@@ -283,12 +299,18 @@ stages:
    expire_in: 1 week
    when: always
    paths:
      - report-junit.xml
      - report.html
      - report-junit-20ms.xml
      - report-junit-10ms.xml
      - report-junit-5ms.xml
      - report-20ms.html
      - report-10ms.html
      - report-5ms.html
    expose_as: "Sanitizer selftest results"
    reports:
      junit:
        - report-junit.xml
        - report-junit-20ms.xml
        - report-junit-10ms.xml
        - report-junit-5ms.xml

.sanitizer-selftest-ltv:
  stage: test
@@ -299,12 +321,18 @@ stages:
    expire_in: 2 week
    when: always
    paths:
      - report-junit.xml
      - report.html
      - report-junit-20ms.xml
      - report-junit-10ms.xml
      - report-junit-5ms.xml
      - report-20ms.html
      - report-10ms.html
      - report-5ms.html
    expose_as: "Sanitizer selftest results"
    reports:
      junit:
        - report-junit.xml
        - report-junit-20ms.xml
        - report-junit-10ms.xml
        - report-junit-5ms.xml

# ---------------------------------------------------------------
# .pre jobs for setting up things
+0 −1
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@
# 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.
import csv
import re
import sys

newsletterFilename = ""
+0 −1
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@
# 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.
import csv
import re
import sys

newsletterFilename = ""
+7 −7
Original line number Diff line number Diff line
@@ -1096,11 +1096,13 @@ void ivas_param_ism_dec_close(
    const AUDIO_CONFIG output_config                            /* i  : output audio configuration                  */
);

#ifndef FIX_1022_REMOVE_PARAMISM_DEC
void ivas_param_ism_dec(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                      */
    float *output_f[]                                           /* i/o: synthesized core-coder transport channels/DirAC output  */
);

#endif
void ivas_ism_dec_digest_tc(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                      */
);
@@ -3498,13 +3500,6 @@ ivas_error ivas_cldfb_dec_reconfig(
    const int16_t numCldfbSyntheses_old                         /* i  : number of CLDFB synthesis instances in previous frame */
);

#ifndef FIX_993_REMOVE_SBA_GET_ORDER
/*! r: Ambisonic (SBA) order */
int16_t ivas_sba_get_order(
    const int16_t nb_channels,                                  /* i  : Number of ambisonic channels            */
    const int16_t sba_planar                                    /* i  : SBA planar flag                         */
);
#endif
/*! r: Ambisonic (SBA) order used for analysis and coding */
int16_t ivas_sba_get_analysis_order(
    const int32_t ivas_total_brate,                             /* i  : IVAS total bitrate                      */
@@ -3875,11 +3870,13 @@ void ivas_param_mc_dec_render(
    float *output_f[]                                           /* o  : rendered time signal                                */
);

#ifndef FIX_1023_REMOVE_PARAMMC_DEC
void ivas_param_mc_dec(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder handle                                     */
    float *output_f[]                                           /* i/o: synthesized core-coder transport channels/DirAC output  */
);

#endif
/*! r: number of cldfb synthesis instances */
int16_t param_mc_get_num_cldfb_syntheses( 
    Decoder_Struct *st_ivas                                     /* i  : IVAS decoder structure                              */
@@ -5222,6 +5219,9 @@ void ivas_ism_renderer_close(

void ivas_ism_render_sf(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                          */
#ifdef NONBE_FIX_1021_ISM_BRIR_RS_FLUSH
    const RENDERER_TYPE renderer_type,                          /* i  : active renderer type                            */
#endif
    float *output_f[],                                          /* i/o: core-coder transport channels/object output     */
    const int16_t n_samples_to_render                           /* i  : output frame length per channel                 */
);
+0 −47
Original line number Diff line number Diff line
@@ -64,23 +64,7 @@ void ivas_sba_config(
    int16_t *element_mode          /* o  : element mode of the core coder           */
)
{
#ifndef FIX_993_REMOVE_SBA_GET_ORDER
    if ( ( sba_order < 0 ) && ( nb_channels < 0 ) )
    {
        assert( 0 && "Either order or number of channels must be positive" );
    }
    else if ( sba_order < 0 )
    {
        sba_order = ivas_sba_get_order( nb_channels, sba_planar );
    }
    else if ( nb_channels < 0 )
    {
        nb_channels = ivas_sba_get_nchan( sba_order, sba_planar );
    }
    else
#else
    if ( nb_channels > 0 )
#endif
    {
        if ( sba_planar )
        {
@@ -121,37 +105,6 @@ void ivas_sba_config(
    return;
}

#ifndef FIX_993_REMOVE_SBA_GET_ORDER
/*-------------------------------------------------------------------*
 * ivas_sba_get_order()
 *
 * Get Ambisonic order from number of ambisonic channels
 *-------------------------------------------------------------------*/

/*! r: Ambisonic (SBA) order */
int16_t ivas_sba_get_order(
    const int16_t nb_channels, /* i  : Number of ambisonic channels     */
    const int16_t sba_planar   /* i  : SBA Planar flag                  */
)
{
    int16_t sba_order;

    if ( sba_planar )
    {
        sba_order = ( nb_channels - 1 ) / 2;
        assert( ( 2 * sba_order + 1 == nb_channels ) && "Number of channels not supported in Planar SBA!" );
    }
    else
    {
        sba_order = (int16_t) sqrtf( (float) nb_channels ) - 1;
        assert( ( ( sba_order + 1 ) * ( sba_order + 1 ) == nb_channels ) && "Number of channels not supported in SBA!" );
    }

    assert( ( sba_order <= 3 ) && "Error: SBA order must be <= 3!" );

    return ( sba_order );
}
#endif

/*-------------------------------------------------------------------*
 * ivas_sba_get_analysis_order()
Loading