Commit 59f2d9e1 authored by fotopoulou's avatar fotopoulou
Browse files

Merge branch 'main' into 874-phase-inversion-in-the-left-channel-of-the-32kbps-stereo-synthesis

parents 8792e362 7fdbf113
Loading
Loading
Loading
Loading
Loading
+107 −11
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ variables:
      - 'default'
      - 'pytest-compare'
      - 'pytest-compare-long'
      - 'pytest-compare-to-input'
      - 'pytest-saturation-smoke-test'
      - 'evs-26444'
      - 'sanitizer-stv'
@@ -66,6 +67,9 @@ workflow:
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-compare-long'
      variables:
        IVAS_PIPELINE_NAME: 'Run comparison tools against float ref (long test vectors): $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-compare-to-input'
      variables:
        IVAS_PIPELINE_NAME: 'Run comparison tools against input (pass-through only): $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-saturation-smoke-test'
      variables:
        IVAS_PIPELINE_NAME: 'Run saturation smoke-test: $CI_COMMIT_BRANCH'
@@ -174,6 +178,14 @@ stages:
    - if: $CI_PIPELINE_SOURCE == 'schedule'
      when: never

.rules-pytest-to-input-short:
  rules:
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "pytest-compare-to-input"
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never
    - if: $CI_PIPELINE_SOURCE == 'schedule'
      when: never

# TODO: only temporary as long the MR encoder tests should not compare to main
.rules-pytest-to-ref-enc-short-temp:
  rules:
@@ -254,7 +266,6 @@ stages:
    - else
    -    testcase_timeout=$TESTCASE_TIMEOUT_STV
    - fi
    - HISTORY_ARTIFACT_NAME="daily_results_$(date +%Y-%m-%d)"

    - python3 ci/remove_unsupported_testcases.py $PRM_FILES
    - if [ $LEVEL_SCALING != "1.0" ];then
@@ -269,8 +280,7 @@ stages:

    - python3 scripts/parse_xml_report.py report-junit.xml $CSV_ARTIFACT_NAME
    - mkdir $IMAGES_ARTIFACT_NAME
    - mkdir $HISTORY_ARTIFACT_NAME
    - for MEASURE in MLD DIFF SSNR;do python3 scripts/create_histogram_summary.py $CSV_ARTIFACT_NAME $IMAGES_ARTIFACT_NAME/summary_"$MEASURE".csv $IMAGES_ARTIFACT_NAME/summary_"$MEASURE".png --measure $MEASURE; done
    - for MEASURE in MLD DIFF SSNR ODG;do python3 scripts/create_histogram_summary.py $CSV_ARTIFACT_NAME $IMAGES_ARTIFACT_NAME/summary_"$MEASURE".csv $IMAGES_ARTIFACT_NAME/summary_"$MEASURE".png --measure $MEASURE; done
    - python3 ci/basop-pages/create_summary_page.py $SUMMARY_HTML_ARTIFACT_NAME $CI_JOB_ID $CI_JOB_NAME

    - if [ $USE_LTV -eq 1 ] && [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then
@@ -281,8 +291,6 @@ stages:
    # This wildcard thingy relies on only one csv file being present per job
    -    file_previous="previous_artifacts/mld--$CI_JOB_NAME-$id_previous--sha-*.csv"
    -    python3 ci/basop-pages/create_report_pages.py $PAGES_HTML_ARTIFACT_NAME $MERGED_CSV_ARTIFACT_NAME $CSV_ARTIFACT_NAME $file_previous $CI_JOB_ID $id_previous $CI_JOB_NAME
    # Store MLD file for history, such that pages job will only pick these if found in this folder
    -    cp $CSV_ARTIFACT_NAME $HISTORY_ARTIFACT_NAME
    - else
    # create empty file for artifacts to avoid errors
    -    touch $PAGES_HTML_ARTIFACT_NAME
@@ -316,7 +324,6 @@ stages:
      - $MERGED_CSV_ARTIFACT_NAME
      - $SUMMARY_HTML_ARTIFACT_NAME
      - $IMAGES_ARTIFACT_NAME
      - $HISTORY_ARTIFACT_NAME
    expose_as: "pytest compare results"
    reports:
      junit:
@@ -368,7 +375,7 @@ stages:

    # create the summary based on the branch
    - mkdir $IMAGES_ARTIFACT_NAME
    - for MEASURE in MLD DIFF SSNR;do python3 scripts/create_histogram_summary.py $CSV_BRANCH $IMAGES_ARTIFACT_NAME/summary_"$MEASURE".csv $IMAGES_ARTIFACT_NAME/summary_"$MEASURE".png --measure $MEASURE; done
    - for MEASURE in MLD DIFF SSNR ODG;do python3 scripts/create_histogram_summary.py $CSV_BRANCH $IMAGES_ARTIFACT_NAME/summary_"$MEASURE".csv $IMAGES_ARTIFACT_NAME/summary_"$MEASURE".png --measure $MEASURE; done
    - python3 ci/basop-pages/create_summary_page.py $SUMMARY_HTML_ARTIFACT_NAME $CI_JOB_ID $CI_JOB_NAME

    ### run main now
@@ -383,11 +390,17 @@ stages:
    - diff_sba=0
    - diff_param=0
    - diff_report=0
    - python3 scripts/batch_comp_audio.py --tool pyaudio3dtools -sd tests/dut/sba_bs/syn tests/dut_branch/sba_bs/syn || diff_sba=$?
    - python3 scripts/batch_comp_audio.py --tool pyaudio3dtools -sd tests/dut/sba_bs/raw tests/dut_branch/sba_bs/raw || diff_sba=$?
    - python3 scripts/batch_comp_audio.py --tool pyaudio3dtools -sd tests/dut/param_file/dec tests/dut_branch/param_file/dec || diff_param=$?
    - diff $CSV_BRANCH $CSV_MAIN || diff_report=$?
    - if [ $diff_param -eq 0 ] && [ $diff_sba -eq 0 ] && [ $diff_report -eq 0 ] && [ $zero_errors_branch -eq 1 ]; then
    -    echo "Output BE to main, identical report and no run errors encountered."
         # Add dummy files to avoid warning on missing artifacts
    -    touch changes_crashes.csv
    -    touch changes_MLD.csv
    -    touch changes_MAXIMUM_ABS_DIFF.csv
    -    touch changes_MIN_SSNR.csv
    -    touch changes_MIN_ODG.csv
    -    exit 0;
    - fi

@@ -470,6 +483,70 @@ stages:
      junit:
        - report-junit.xml

.ivas-pytest-compare-to-input-anchor: &ivas-pytest-compare-to-input-anchor
  stage: test
  needs: ["build-codec-linux-make"]
  timeout: "240 minutes"
  variables:
    SUMMARY_HTML_ARTIFACT_NAME: "summary_$CI_JOB_NAME.html"
    IMAGES_ARTIFACT_NAME: "images_$CI_JOB_NAME"
  script:
    - *print-common-info
    - *update-scripts-repo
    - if [ $USE_LTV -eq 1 ]; then
    -    *update-ltv-repo
    -    *copy-ltv-files-to-testv-dir
    -    testcase_timeout=$TESTCASE_TIMEOUT_LTV
    - else
    -    testcase_timeout=$TESTCASE_TIMEOUT_STV
    - fi

    - python3 ci/remove_unsupported_testcases.py $PRM_FILES
    - if [ $LEVEL_SCALING != "1.0" ];then
    -   *apply-testv-scaling
    - fi
    - *build-reference-and-dut-binaries

    ### run pytest
    - exit_code=0
    - python3 -m pytest --tb=no $TEST_SUITE -v --create_cut --html=report-ref.html --self-contained-html --junit-xml=report-junit-ref.xml --mld --ssnr --odg -n auto --testcase_timeout $testcase_timeout --dut_encoder_path $REF_ENCODER_PATH --dut_decoder_path $REF_DECODER_PATH  --compare_to_input || exit_code=$?
    - python3 -m pytest --tb=no $TEST_SUITE -v --create_cut --html=report-dut.html --self-contained-html --junit-xml=report-junit-dut.xml --mld --ssnr --odg -n auto --testcase_timeout $testcase_timeout --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH  --compare_to_input || exit_code=$?
    - zero_errors_ref=$(cat report-junit-ref.xml | grep -c 'errors="0"') || true
    - zero_errors_dut=$(cat report-junit-dut.xml | grep -c 'errors="0"') || true
    - python3 scripts/parse_xml_report.py report-junit-ref.xml report-ref.csv
    - python3 scripts/parse_xml_report.py report-junit-dut.xml report-dut.csv
    - python3 scripts/diff_report.py report-ref.csv report-dut.csv report-diff.csv

    # create summary
    - mkdir $IMAGES_ARTIFACT_NAME
    - for MEASURE in MLD DIFF SSNR ODG;do python3 scripts/create_histogram_summary.py report-diff.csv $IMAGES_ARTIFACT_NAME/summary_"$MEASURE".csv $IMAGES_ARTIFACT_NAME/summary_"$MEASURE".png --measure $MEASURE --diff; done
    - python3 ci/basop-pages/create_summary_page.py $SUMMARY_HTML_ARTIFACT_NAME $CI_JOB_ID $CI_JOB_NAME

    - exit 0

  allow_failure:
    exit_codes:
      - 123
  artifacts:
    name: "$CI_JOB_NAME--sha-$CI_COMMIT_SHORT_SHA--results"
    expire_in: 1 week
    when: always
    paths:
      - report-junit-ref.xml
      - report-ref.html
      - report-ref.csv
      - report-junit-dut.xml
      - report-dut.html
      - report-dut.csv
      - report-diff.csv
      - $IMAGES_ARTIFACT_NAME
      - $SUMMARY_HTML_ARTIFACT_NAME
    expose_as: "pytest compare to input results"
    reports:
      junit:
        - report-junit-ref.xml
        - report-junit-dut.xml

# ---------------------------------------------------------------
# .pre jobs for setting up things
# ---------------------------------------------------------------
@@ -761,6 +838,28 @@ ivas-pytest-compare_to_ref-short-dec-lev+10:
    - LEVEL_SCALING=3.162
  <<: *ivas-pytest-anchor

ivas-pytest-compare-to-input-short-dec:
  extends:
    - .rules-pytest-to-input-short
    - .test-job-linux
  before_script:
    - USE_LTV=0
    - DUT_ENCODER_PATH=./$REF_ENCODER_PATH
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=1.0
  <<: *ivas-pytest-compare-to-input-anchor

ivas-pytest-compare-to-input-short-enc:
  extends:
    - .rules-pytest-to-input-short
    - .test-job-linux
  before_script:
    - USE_LTV=0
    - DUT_DECODER_PATH=./$REF_DECODER_PATH
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=1.0
  <<: *ivas-pytest-compare-to-input-anchor

ivas-pytest-dec-msan-short:
  extends:
    - .test-job-linux
@@ -1331,9 +1430,6 @@ pages:
    - *print-common-info
    - *update-scripts-repo
    - python3 ci/setup_pages.py
    # Copy logs
    - mkdir -p public/history
    - if [ -e daily_results_* ]; then cp -r daily_results_* public/history; fi
    - ls
    - ls public
  artifacts:
+23 −0
Original line number Diff line number Diff line
@@ -2170,6 +2170,7 @@ uint16_t get_indice_1(
 * Reset the buffer of encoder indices
 *-------------------------------------------------------------------*/

#ifndef IVAS_FLOAT_FIXED
void reset_indices_enc(
    BSTR_ENC_HANDLE hBstr,       /* i/o: encoder bitstream handle    */
    const Word16 max_num_indices /* i  : max number of indices       */
@@ -2187,6 +2188,28 @@ void reset_indices_enc(

    return;
}
#else
void reset_indices_enc(
    BSTR_ENC_HANDLE hBstr,       /* i/o: encoder bitstream handle    */
    const Word16 max_num_indices /* i  : max number of indices       */
)
{
    Word16 i;

    hBstr->nb_bits_tot = 0;
    move16();
    hBstr->nb_ind_tot = 0;
    move16();

    FOR( i = 0; i < max_num_indices; i++ )
    {
        hBstr->ind_list[i].nb_bits = -1;
        move16();
    }

    return;
}
#endif

/*-------------------------------------------------------------------*
 * reset_indices_dec()
+85 −17
Original line number Diff line number Diff line
@@ -61,7 +61,9 @@ static void cldfb_init_proto_and_twiddles( HANDLE_CLDFB_FILTER_BANK hs );

static void cldfb_init_proto_and_twiddles_enc( HANDLE_CLDFB_FILTER_BANK hs );

#ifndef IVAS_FLOAT_FIXED
static float GetEnergyCldfb_ivas( float *energyValuesSum, float *energyLookahead, float **realValues, float **imagValues, const int16_t numberBands, int16_t numberCols, TEC_ENC_HANDLE hTecEnc );
#endif

/*-------------------------------------------------------------------*
 * cplxMult()
@@ -1917,6 +1919,7 @@ void resampleCldfb_ivas_fx(
}
#endif

#ifndef IVAS_FLOAT_FIXED
/*-------------------------------------------------------------------*
 * analysisCLDFBEncoder()
 *
@@ -1947,10 +1950,13 @@ void analysisCldfbEncoder_ivas(

    return;
}
#endif

void analysisCldfbEncoder_ivas_fx(
    Encoder_State *st, /* i/o: encoder state structure   */
    const Word16 *timeIn,
    Word32 *timeIn,    /*q11*/
    Word16 timeInq,
    Word16 samplesToProcess,
    Word32 realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
    Word32 imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
    Word16 realBuffer16[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX],
@@ -1965,7 +1971,11 @@ void analysisCldfbEncoder_ivas_fx(
    Word32 *ppBuf_Imag[CLDFB_NO_COL_MAX];
    Word16 *ppBuf_Real16[CLDFB_NO_COL_MAX];
    Word16 *ppBuf_Imag16[CLDFB_NO_COL_MAX];
    Word32 workBuffer[256];
    Word32 l_timeIn[L_FRAME48k];
    Word16 norm_timeIn = L_norm_arr( timeIn, samplesToProcess );
    Word16 guard_bits = find_guarded_bits_fx( shl( samplesToProcess, 1 ) );
    Word16 shift = 0;
    move16();

    FOR( i = 0; i < CLDFB_NO_COL_MAX; i++ )
    {
@@ -1974,13 +1984,24 @@ void analysisCldfbEncoder_ivas_fx(
        ppBuf_Real16[i] = &realBuffer16[i][0];
        ppBuf_Imag16[i] = &imagBuffer16[i][0];
    }
    IF( GT_16( guard_bits, norm_timeIn ) )
    {
        shift = sub( guard_bits, norm_timeIn );
        v_shr_32( timeIn, l_timeIn, samplesToProcess, shift );
    }
    ELSE
    {
        Copy32( timeIn, l_timeIn, samplesToProcess );
    }

    cldfbAnalysisFiltering( st->cldfbAnaEnc, ppBuf_Real, ppBuf_Imag, scale, timeIn, 0, CLDFB_NO_COL_MAX, workBuffer );
    cldfbAnalysis_ivas_fx( l_timeIn, ppBuf_Real, ppBuf_Imag, samplesToProcess, st->cldfbAnaEnc );

    scale->lb_scale = sub( 16 + 5, sub( timeInq, shift ) );
    enerScale.lb_scale = negate( scale->lb_scale );
    enerScale.lb_scale16 = negate( scale->lb_scale );
    move16();
    move16();
    move16();

    AnalysisPostSpectrumScaling_Fx( st->cldfbAnaEnc, ppBuf_Real, ppBuf_Imag, ppBuf_Real16, ppBuf_Imag16, &enerScale.lb_scale16 );

@@ -1988,6 +2009,8 @@ void analysisCldfbEncoder_ivas_fx(

    return;
}

#ifndef IVAS_FLOAT_FIXED
/*-------------------------------------------------------------------*
 * GetEnergyCldfb_ivas()
 *
@@ -2061,6 +2084,7 @@ static float GetEnergyCldfb_ivas(

    return 65535.0f;
}
#endif


/*-------------------------------------------------------------------*
@@ -2791,9 +2815,13 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re = NULL;
                hs->rot_vec_syn_delay_im = NULL;
#ifdef IVAS_FLOAT_FIXED
                hs->rot_vec_ana_delay_re_fx = NULL;
                hs->rot_vec_ana_delay_im_fx = NULL;
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->rot_vec_syn_delay_im_fx = NULL;
                hs->p_filter_sf = (Word16) 17036;
                hs->scale = cldfb_scale_2_5ms[0];
                hs->p_filter = cldfb_protoFilter_2_5ms[0];
                hs->p_filter = CLDFB80_10_fx;
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2807,8 +2835,12 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re = rot_vec_delay_re_LDQMF;
                hs->rot_vec_syn_delay_im = rot_vec_delay_im_LDQMF;
#ifdef IVAS_FLOAT_FIXED
                hs->rot_vec_ana_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_ana_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15388;
                hs->p_filter = cldfb_protoFilter_5_0ms[0];
                hs->p_filter = LDQMF_10_fx;
                hs->scale = cldfb_scale_5_0ms[0];
#endif
            }
@@ -2842,8 +2874,12 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re = NULL;
                hs->rot_vec_syn_delay_im = NULL;
#ifdef IVAS_FLOAT_FIXED
                hs->rot_vec_ana_delay_re_fx = NULL;
                hs->rot_vec_ana_delay_im_fx = NULL;
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->rot_vec_syn_delay_im_fx = NULL;
                hs->p_filter_sf = (Word16) 17051;
                hs->p_filter = cldfb_protoFilter_2_5ms[1];
                hs->p_filter = CLDFB80_16_fx;
                hs->scale = cldfb_scale_2_5ms[1];
#endif
            }
@@ -2858,8 +2894,12 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re = rot_vec_delay_re_LDQMF;
                hs->rot_vec_syn_delay_im = rot_vec_delay_im_LDQMF;
#ifdef IVAS_FLOAT_FIXED
                hs->rot_vec_ana_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_ana_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15388;
                hs->p_filter = cldfb_protoFilter_5_0ms[1];
                hs->p_filter = LDQMF_16_fx;
                hs->scale = cldfb_scale_5_0ms[1];
#endif
            }
@@ -2899,8 +2939,12 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re = NULL;
                hs->rot_vec_syn_delay_im = NULL;
#ifdef IVAS_FLOAT_FIXED
                hs->rot_vec_ana_delay_re_fx = NULL;
                hs->rot_vec_ana_delay_im_fx = NULL;
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->rot_vec_syn_delay_im_fx = NULL;
                hs->p_filter_sf = (Word16) 17050;
                hs->p_filter = cldfb_protoFilter_2_5ms[2];
                hs->p_filter = CLDFB80_20_fx;
                hs->scale = cldfb_scale_2_5ms[2];
#endif
            }
@@ -2915,8 +2959,12 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re = rot_vec_delay_re_LDQMF;
                hs->rot_vec_syn_delay_im = rot_vec_delay_im_LDQMF;
#ifdef IVAS_FLOAT_FIXED
                hs->rot_vec_ana_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_ana_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15390;
                hs->p_filter = cldfb_protoFilter_5_0ms[2];
                hs->p_filter = LDQMF_20_fx;
                hs->scale = cldfb_scale_5_0ms[2];
#endif
            }
@@ -2956,9 +3004,13 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re = NULL;
                hs->rot_vec_syn_delay_im = NULL;
#ifdef IVAS_FLOAT_FIXED
                hs->rot_vec_ana_delay_re_fx = NULL;
                hs->rot_vec_ana_delay_im_fx = NULL;
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->rot_vec_syn_delay_im_fx = NULL;
                hs->p_filter_sf = (Word16) 17051;
                hs->scale = cldfb_scale_2_5ms[6];
                hs->p_filter = cldfb_protoFilter_2_5ms[6];
                hs->p_filter = CLDFB80_30_fx;
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2972,9 +3024,13 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re = rot_vec_delay_re_LDQMF;
                hs->rot_vec_syn_delay_im = rot_vec_delay_im_LDQMF;
#ifdef IVAS_FLOAT_FIXED
                hs->rot_vec_ana_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_ana_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15388;
                hs->scale = cldfb_scale_5_0ms[6];
                hs->p_filter = cldfb_protoFilter_5_0ms[6];
                hs->p_filter = LDQMF_30_fx;
#endif
            }
            break;
@@ -3007,8 +3063,12 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re = NULL;
                hs->rot_vec_syn_delay_im = NULL;
#ifdef IVAS_FLOAT_FIXED
                hs->rot_vec_ana_delay_re_fx = NULL;
                hs->rot_vec_ana_delay_im_fx = NULL;
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->rot_vec_syn_delay_im_fx = NULL;
                hs->p_filter_sf = (Word16) 17050;
                hs->p_filter = cldfb_protoFilter_2_5ms[3];
                hs->p_filter = CLDFB80_32_fx;
                hs->scale = cldfb_scale_2_5ms[3];
#endif
            }
@@ -3023,9 +3083,13 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re = rot_vec_delay_re_LDQMF;
                hs->rot_vec_syn_delay_im = rot_vec_delay_im_LDQMF;
#ifdef IVAS_FLOAT_FIXED
                hs->rot_vec_ana_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_ana_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15392;
                hs->scale = cldfb_scale_5_0ms[3];
                hs->p_filter = cldfb_protoFilter_5_0ms[3];
                hs->p_filter = LDQMF_32_fx;
#endif
            }
            break;
@@ -3064,10 +3128,14 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re = NULL;
                hs->rot_vec_syn_delay_im = NULL;
#ifdef IVAS_FLOAT_FIXED
                hs->rot_vec_ana_delay_re_fx = NULL;
                hs->rot_vec_ana_delay_im_fx = NULL;
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->rot_vec_syn_delay_im_fx = NULL;
                hs->p_filter_sf = (Word16) 17051;
                hs->q_scale = norm_s( (Word16) CLDFB80_40_SCALE );
                hs->scale = cldfb_scale_2_5ms[4];
                hs->p_filter = cldfb_protoFilter_2_5ms[4];
                hs->p_filter = CLDFB80_40_fx;
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -3086,7 +3154,7 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15391;
                hs->p_filter = cldfb_protoFilter_5_0ms[4];
                hs->p_filter = LDQMF_40_fx;
                hs->scale = cldfb_scale_5_0ms[4];
#endif
            }
@@ -3131,7 +3199,7 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->rot_vec_syn_delay_im_fx = NULL;
                hs->p_filter_sf = (Word16) 17051;
                hs->p_filter = cldfb_protoFilter_2_5ms[5];
                hs->p_filter = CLDFB80_60_fx;
                hs->scale = cldfb_scale_2_5ms[5];
#endif
            }
@@ -3151,7 +3219,7 @@ static void cldfb_init_proto_and_twiddles_enc(
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_re_LDQMF_fx;
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15391;
                hs->p_filter = cldfb_protoFilter_5_0ms[5];
                hs->p_filter = LDQMF_60_fx;
                hs->scale = cldfb_scale_5_0ms[5];
#endif
            }
+2 −0
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@
#define A2       0.2f
#define GAIN_VAR 0.000011f

#ifndef IVAS_FLOAT_FIXED
/*-------------------------------------------------------*
 * CNG_exc()
 *
@@ -469,6 +470,7 @@ void cng_params_postupd(

    return;
}
#endif


/*-------------------------------------------------------*
+25 −1

File changed.

Preview size limit exceeded, changes collapsed.

Loading