Commit 127df93c authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'main' into 62-add-sanitizer-tests-to-ci

parents 06f1edda 7dedf056
Loading
Loading
Loading
Loading
Loading
+27 −2
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ workflow:
    - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Pushes to main
    - if: $CI_PIPELINE_SOURCE == 'schedule' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Scheduled in main


stages:
  - maintenance
  - build
@@ -468,7 +467,7 @@ codec-comparison-on-main-push:


# ---------------------------------------------------------------
# Scheduled sanitizer tests on main
# Scheduled jobs on main
# ---------------------------------------------------------------
.sanitizer-test-template:
  extends:
@@ -642,6 +641,32 @@ sanitizer-test-planarsba:
  script:
    - python3 ci/run_scheduled_sanitizer_test.py PlanarSBA $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS

# GCOV/LCOV coverage analysis of self_test suite
coverage-test-on-main-scheduled:
  extends: 
    - .test-job-linux-needs-testv-dir
    - .rules-main-scheduled    
  tags:
    - coverage-test
  stage: test
  rules:
    # only run in scheduled pipeline that passes this env vars
    - if: $COVERAGE_TEST  
  script:
    - *print-common-info
    - make GCOV=1 -j
    - ./scripts/self_test.py --create -t 1
    - ./scripts/self_test.py --create -t 1 scripts/config/self_test_evs.prm
    - ./scripts/ivas_pytests/self_test_b.py --create_only --numprocesses 1 --encref IVAS_cod --decref IVAS_dec --encdut IVAS_cod --decdut IVAS_dec
    - lcov -c -d obj -o coverage.info
    - genhtml coverage.info -o coverage
  artifacts:
    name: "main-coverage-sha-$CI_COMMIT_SHORT_SHA"
    when: always
    paths:
      - coverage.info
      - coverage

# ---------------------------------------------------------------
# Other jobs
# ---------------------------------------------------------------
+1 −1
Original line number Diff line number Diff line
@@ -1135,7 +1135,7 @@ enum
#define MASA_STEREO_MIN_BITRATE                 IVAS_24k4

#define MASA_BIT_REDUCT_PARAM                   10

#define MASA_MAXIMUM_TWO_DIR_BANDS             18
typedef enum
{
    MASA_STEREO_NOT_DEFINED,
+23 −9
Original line number Diff line number Diff line
@@ -4243,16 +4243,30 @@ int16_t ivas_map_num_decd_r_to_idx( const int16_t num_quant_points_decd_r );

/* Quantization utilities */
void ivas_quantise_real_values(
#ifdef QUANTISE_REAL_FCN_CLEAN_UP
        const float *values,
#else
        float **values,
#endif
        const int16_t q_levels,
        const float min_value,
        const float max_value,
#ifdef QUANTISE_REAL_FCN_CLEAN_UP
        int16_t *index,
        float *quant,
#else
        int16_t **index,
        float **quant,
#endif
#ifdef QUANTISE_REAL_FCN_CLEAN_UP
    const int16_t dim
#else
    const int16_t dim1,
    const int16_t dim2
#endif
);


void ivas_spar_get_uniform_quant_strat(
    ivas_spar_md_com_cfg *pSpar_md_com_cfg,
    const int16_t table_idx
+1 −1
Original line number Diff line number Diff line
@@ -2731,7 +2731,7 @@ const uint8_t masa_twodir_bands[IVAS_NUM_ACTIVE_BRATES] =

const uint8_t masa_twodir_bands_joined[IVAS_NUM_ACTIVE_BRATES] =
{
    0,           0,           0,           0,          0,          2,          2,          3,          4,           6,           8,           9,           12,           18
    0,           0,           0,           0,          0,          2,          2,          3,          4,           6,           8,           9,           12,          MASA_MAXIMUM_TWO_DIR_BANDS
};


+49 −10
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@
#include "ivas_rom_com.h"
#include <assert.h>
#include "wmops.h"

#ifndef QUANTISE_REAL_FCN_CLEAN_UP
/*-----------------------------------------------------------------------------------------*
 * Function ivas_limit_values()
 *
@@ -56,7 +56,6 @@ static void ivas_limit_values(
    const int16_t dim2 )
{
    int16_t i, j;

    for ( i = 0; i < dim1; i++ )
    {
        for ( j = 0; j < dim2; j++ )
@@ -64,48 +63,73 @@ static void ivas_limit_values(
            ppValues[i][j] = max( min_value, min( ppValues[i][j], max_value ) );
        }
    }

    return;
}

#endif

/*-----------------------------------------------------------------------------------------*
 * Function ivas_quantise_real_values()
 *
 * Quantize real values
 *-----------------------------------------------------------------------------------------*/

void ivas_quantise_real_values(
#ifdef QUANTISE_REAL_FCN_CLEAN_UP
    const float *values,
#else
    float **values,
#endif
    const int16_t q_levels,
    const float min_value,
    const float max_value,
#ifdef QUANTISE_REAL_FCN_CLEAN_UP
    int16_t *index,
    float *quant,
#else
    int16_t **index,
    float **quant,
#endif
#ifdef QUANTISE_REAL_FCN_CLEAN_UP
    const int16_t dim
#else
    const int16_t dim1,
    const int16_t dim2 )
    const int16_t dim2
#endif
)
{
#ifndef QUANTISE_REAL_FCN_CLEAN_UP
    int16_t i, j;
#else
    int16_t i;
#endif
    float q_step, one_by_q_step;

    if ( q_levels == 1 )
    {
#ifndef QUANTISE_REAL_FCN_CLEAN_UP
        for ( i = 0; i < dim1; i++ )
        {
            for ( j = 0; j < dim2; j++ )
            {

                quant[i][j] = 0;
                index[i][j] = 0;
            }
        }
#else
        for ( i = 0; i < dim; i++ )
        {
            quant[i] = 0;
            index[i] = 0;
        }
#endif
    }
    else if ( q_levels && max_value != min_value )
    {
#ifndef QUANTISE_REAL_FCN_CLEAN_UP
        ivas_limit_values( values, min_value, max_value, dim1, dim2 );

#endif
        q_step = ( max_value - min_value ) / ( q_levels - 1 );
        one_by_q_step = ( q_levels - 1 ) / ( max_value - min_value );

#ifndef QUANTISE_REAL_FCN_CLEAN_UP
        for ( i = 0; i < dim1; i++ )
        {
            for ( j = 0; j < dim2; j++ )
@@ -114,9 +138,19 @@ void ivas_quantise_real_values(
                quant[i][j] = index[i][j] * q_step;
            }
        }
#else
        float val;
        for ( i = 0; i < dim; i++ )
        {
            val = max( min_value, min( values[i], max_value ) );
            index[i] = (int16_t) round( one_by_q_step * val );
            quant[i] = index[i] * q_step;
        }
#endif
    }
    else
    {
#ifndef QUANTISE_REAL_FCN_CLEAN_UP
        for ( i = 0; i < dim1; i++ )
        {
            for ( j = 0; j < dim2; j++ )
@@ -124,8 +158,13 @@ void ivas_quantise_real_values(
                quant[i][j] = values[i][j];
            }
        }
#else
        for ( i = 0; i < dim; i++ )
        {
            quant[i] = values[i];
        }
#endif
    }

    return;
}

Loading