Commit 48fe06bd authored by vaillancour's avatar vaillancour
Browse files

merge last main

parents c6a8959c baac5076
Loading
Loading
Loading
Loading
+114 −21
Original line number Diff line number Diff line
variables:
  TESTV_DIR: "/usr/local/testv"
  LTV_DIR: "/usr/local/ltv"
  EVS_BE_TEST_DIR_BASOP: "/usr/local/be_2_evs_basop"
  REFERENCE_TAG: "20231128_Update_Ittiam"
@@ -8,8 +9,9 @@ variables:
  EXIT_CODE_FAIL: 1
  LONG_TEST_SUITE: "tests/test_param_file_ltv.py tests/renderer"
  SHORT_TEST_SUITE: "tests/codec_be_on_mr_nonselection"
  USE_REF_ENC: "1"
  TEST_SUITE: ""
  DUT_ENCODER_PATH: "./IVAS_cod"
  DUT_DECODER_PATH: "./IVAS_dec"
  LEVEL_SCALING: "1.0"
  IVAS_PIPELINE_NAME: ''
  BASOP_CI_BRANCH_PC_REPO: "basop-ci-branch"
@@ -20,7 +22,9 @@ variables:
    options:
      - 'default'
      - 'pytest-mld'
      - 'pytest-mld-interop'
      - 'pytest-mld-long'
      - 'pytest-saturation-smoke-test'
      - 'evs-26444'
      - 'sanitizer-stv'

@@ -46,9 +50,15 @@ workflow:
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-mld'
      variables:
        IVAS_PIPELINE_NAME: 'Run MLD tool against float ref: $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-mld-interop'
      variables:
        IVAS_PIPELINE_NAME: 'Run MLD tool agains float ref - interop: $CI_COMMIT_BRANCH'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'pytest-mld-long'
      variables:
        IVAS_PIPELINE_NAME: 'Run MLD tool against float ref (long test vectors): $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'
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == 'evs-26444'
      variables:
        IVAS_PIPELINE_NAME: 'EVS 26.444 test: $CI_COMMIT_BRANCH'
@@ -153,6 +163,24 @@ stages:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
      when: never


.rules-pytest-mld-interop:
  rules:
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "pytest-mld-interop"
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
      when: never

.rules-pytest-saturation-smoke-test:
  rules:
    - if: $PYTEST_SMOKE_TEST # Set by scheduled pipeline
    - if: $CI_PIPELINE_SOURCE == 'web' && $MANUAL_PIPELINE_TYPE == "pytest-saturation-smoke-test"
    - if: $CI_PIPELINE_SOURCE == 'push'
      when: never
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
      when: never

# ---------------------------------------------------------------
# Job templates
# ---------------------------------------------------------------
@@ -173,10 +201,10 @@ stages:
.test-job-linux-needs-testv-dir:
  extends: .test-job-linux
  before_script:
    - *update-scripts-repo
    - if [ ! -d "$TESTV_DIR" ]; then mkdir -p $TESTV_DIR; fi
    - cp -r scripts/testv/* $TESTV_DIR/


.ivas-pytest-mld-anchor: &ivas-pytest-mld-anchor
  stage: test
  needs: ["build-codec-linux-make"]
@@ -198,11 +226,7 @@ stages:
    - exit_code=0
    # timeout of 15 min per individual testcase - hopefully too much, but better be safe for now
    - testcase_timeout=900
    - if [ $USE_REF_ENC -eq 1 ]; then
    -    python3 -m pytest $TEST_SUITE -v --create_cut --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld --dut_encoder_path ./IVAS_cod_ref -n auto --testcase_timeout $testcase_timeout || exit_code=$?
    - else
    -    python3 -m pytest $TEST_SUITE -v --create_cut --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld -n auto --testcase_timeout $testcase_timeout || exit_code=$?
    - fi
    - python3 -m pytest $TEST_SUITE -v --create_cut --html=report.html --self-contained-html --junit-xml=report-junit.xml --mld --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || exit_code=$?
    - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true

    - python3 scripts/parse_mld_xml.py report-junit.xml mld.csv
@@ -215,7 +239,7 @@ stages:
    exit_codes:
      - 123
  artifacts:
    name: "mld--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results"
    name: "mld--sha-$CI_COMMIT_SHORT_SHA--results"
    expire_in: 1 week
    when: always
    paths:
@@ -305,7 +329,6 @@ ivas-pytest-mld-enc-dec:
    - .test-job-linux
  before_script:
    - USE_LTV=0
    - USE_REF_ENC=0
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=1.0
  <<: *ivas-pytest-mld-anchor  
@@ -316,7 +339,7 @@ ivas-pytest-mld-dec:
    - .test-job-linux    
  before_script:
    - USE_LTV=0
    - USE_REF_ENC=1
    - DUT_ENCODER_PATH=./IVAS_cod_ref
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=1.0
  <<: *ivas-pytest-mld-anchor
@@ -327,7 +350,6 @@ ivas-pytest-mld-enc-dec-lev-10:
    - .test-job-linux    
  before_script:
    - USE_LTV=0  
    - USE_REF_ENC=0
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=0.3162
  <<: *ivas-pytest-mld-anchor  
@@ -338,7 +360,7 @@ ivas-pytest-mld-dec-lev-10:
    - .test-job-linux    
  before_script:
    - USE_LTV=0  
    - USE_REF_ENC=1
    - DUT_ENCODER_PATH=./IVAS_cod_ref
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=0.3162
  <<: *ivas-pytest-mld-anchor
@@ -349,7 +371,6 @@ ivas-pytest-mld-enc-dec-lev+10:
    - .test-job-linux    
  before_script:
    - USE_LTV=0  
    - USE_REF_ENC=0
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=3.162
  <<: *ivas-pytest-mld-anchor  
@@ -360,7 +381,40 @@ ivas-pytest-mld-dec-lev+10:
    - .test-job-linux    
  before_script:
    - USE_LTV=0  
    - USE_REF_ENC=1
    - DUT_ENCODER_PATH=./IVAS_cod_ref
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=3.162
  <<: *ivas-pytest-mld-anchor

ivas-pytest-mld-long-enc-fx-dec-flt-interop:
  extends:
    - .rules-pytest-mld-interop
    - .test-job-linux
  before_script:
    - USE_LTV=0
    - DUT_DECODER_PATH=./IVAS_dec_ref
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=1.0
  <<: *ivas-pytest-mld-anchor

ivas-pytest-mld-long-enc-fx-dec-flt-lev-10-interop:
  extends:
    - .rules-pytest-mld-interop
    - .test-job-linux
  before_script:
    - USE_LTV=0
    - DUT_DECODER_PATH=./IVAS_dec_ref
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=0.3162
  <<: *ivas-pytest-mld-anchor

ivas-pytest-mld-long-enc-fx-dec-flt-lev+10-interop:
  extends:
    - .rules-pytest-mld-interop
    - .test-job-linux
  before_script:
    - USE_LTV=0
    - DUT_DECODER_PATH=./IVAS_dec_ref
    - TEST_SUITE="$SHORT_TEST_SUITE"
    - LEVEL_SCALING=3.162
  <<: *ivas-pytest-mld-anchor
@@ -396,7 +450,6 @@ ivas-pytest-mld-long-enc-dec:
    - .test-job-linux    
  before_script:
    - USE_LTV=1  
    - USE_REF_ENC=0
    - TEST_SUITE="$LONG_TEST_SUITE"
    - LEVEL_SCALING=1.0
  <<: *ivas-pytest-mld-anchor  
@@ -407,7 +460,7 @@ ivas-pytest-mld-long-dec:
    - .test-job-linux    
  before_script:
    - USE_LTV=1  
    - USE_REF_ENC=1
    - DUT_ENCODER_PATH=./IVAS_cod_ref
    - TEST_SUITE="$LONG_TEST_SUITE"
    - LEVEL_SCALING=1.0
  <<: *ivas-pytest-mld-anchor
@@ -418,7 +471,6 @@ ivas-pytest-mld-long-enc-dec-lev-10:
    - .test-job-linux    
  before_script:
    - USE_LTV=1  
    - USE_REF_ENC=0
    - TEST_SUITE="$LONG_TEST_SUITE"
    - LEVEL_SCALING=0.3162
  <<: *ivas-pytest-mld-anchor  
@@ -429,7 +481,7 @@ ivas-pytest-mld-long-dec-lev-10:
    - .test-job-linux    
  before_script:
    - USE_LTV=1  
    - USE_REF_ENC=1
    - DUT_ENCODER_PATH=./IVAS_cod_ref
    - TEST_SUITE="$LONG_TEST_SUITE"
    - LEVEL_SCALING=0.3162
  <<: *ivas-pytest-mld-anchor
@@ -440,7 +492,6 @@ ivas-pytest-mld-long-enc-dec-lev+10:
    - .test-job-linux    
  before_script:
    - USE_LTV=1  
    - USE_REF_ENC=0
    - TEST_SUITE="$LONG_TEST_SUITE"
    - LEVEL_SCALING=3.162
  <<: *ivas-pytest-mld-anchor  
@@ -451,11 +502,53 @@ ivas-pytest-mld-long-dec-lev+10:
    - .test-job-linux    
  before_script:
    - USE_LTV=1  
    - USE_REF_ENC=1
    - DUT_ENCODER_PATH=./IVAS_cod_ref
    - TEST_SUITE="$LONG_TEST_SUITE"
    - LEVEL_SCALING=3.162
  <<: *ivas-pytest-mld-anchor

ivas-smoke-test-saturation:
  extends:
    - .rules-pytest-saturation-smoke-test
    - .test-job-linux-needs-testv-dir
  script:
    - USE_LTV=1
    - LEVEL_SCALING=32768

    - *print-common-info
    - *update-scripts-repo
    - if [ $USE_LTV -eq 1 ]; then
    -    *update-ltv-repo
    -    *copy-ltv-files-to-testv-dir
    - fi
    - if [ $LEVEL_SCALING != "1.0" ];then
    -   *apply-testv-scaling
    - fi
    - cp -r scripts/testv/* $TESTV_DIR/

    # skip prepare_mem_dryrun.py script in smoke_test.sh
    - sed -i 's/python3 .\/scripts\/prepare_mem_dryrun.py/#python3 .\/scripts\/prepare_mem_dryrun.py/g' ci/smoke_test.sh

    - bash ci/smoke_test.sh
    ### analyze for failures
    - if ! [ -s smoke_test_output.txt ] || ! [ -s smoke_test_output_plc.txt ] || ! [ -s smoke_test_output_jbm_noEXT.txt ] || ! [ -s smoke_test_output_hrtf.txt ]; then echo "Error in smoke test"; exit 1; fi
    - ret_val=0
    - if cat smoke_test_output.txt | grep -c "failed" ; then echo "Smoke test without PLC failed"; ret_val=1; fi
    - if cat smoke_test_output_plc.txt | grep -c "failed"; then echo "Smoke test with PLC failed"; ret_val=1; fi
    - if cat smoke_test_output_jbm_noEXT.txt | grep -c "failed"; then echo "Smoke test JBM part failed"; ret_val=1; fi
    - if cat smoke_test_output_hrtf.txt | grep -c "failed"; then echo "Smoke test with external hrtf files failed"; ret_val=1; fi
    - exit $ret_val
  artifacts:
    name: "ivas-smoke-test-saturation--sha-$CI_COMMIT_SHORT_SHA--results"
    expire_in: 1 week
    when: always
    paths:
      - smoke_test_output.txt
      - smoke_test_output_plc.txt
      - smoke_test_output_jbm_noEXT.txt
      - smoke_test_output_hrtf.txt
    expose_as: "saturation smoke test results"

# ---------------------------------------------------------------
# EVS 26.444 test job
# ---------------------------------------------------------------
@@ -485,7 +578,7 @@ be-2-evs-26444:
    - exit 0
    
  artifacts:
    name: "evs-26444--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results"
    name: "evs-26444--sha-$CI_COMMIT_SHORT_SHA--results"
    expire_in: 1 week
    when: always
    paths:
+1 −0
Original line number Diff line number Diff line
@@ -144,6 +144,7 @@
    <ClCompile Include="..\lib_dec\acelp_core_dec_fx.c">
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="..\lib_dec\acelp_core_dec_ivas_fx.c" />
    <ClCompile Include="..\lib_dec\acelp_core_switch_dec.c" />
    <ClCompile Include="..\lib_dec\acelp_core_switch_dec_fx.c" />
    <ClCompile Include="..\lib_dec\amr_wb_dec.c" />
+297 −887

File changed.

Preview size limit exceeded, changes collapsed.

+67 −0
Original line number Diff line number Diff line
@@ -1575,6 +1575,72 @@ static Word16 allocate_unused(
 *--------------------------------------------------------------------*/

 /*! r: ACELP16k flag */
#ifdef IVAS_FLOAT_FIXED
Word16 set_ACELP_flag(
    const Word16 element_mode,  /* i  : element mode                */
    const Word32 element_brate, /* i  : element bitrate             */
    const Word32 total_brate,   /* i  : total bitrate per channel   */
    const Word16 idchan,        /* i  : Channel id                  */
    const Word16 tdm_LRTD_flag, /* i  : LRTD stereo mode flag       */
    const Word16 bwidth,        /* i  : audio bandwidth             */
    const Word16 cng_type       /* i  : CNG type                    */
)
{
    // PMT("Not floating point computation, but fixed point operator are still missing ")
    test();
    test();
    test();
    test();
    IF( EQ_16( element_mode, IVAS_CPE_DFT ) && EQ_16( idchan, 0 ) && LE_32( total_brate, SID_2k40 ) && EQ_16( bwidth, WB ) && EQ_16( cng_type, LP_CNG ) )
    {
        return 1;
    }
    ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) )
    {
        test();
        test();
        test();
        IF( GE_32( element_brate, IVAS_24k4 ) && EQ_16( idchan, 0 ) && ( EQ_16( tdm_LRTD_flag, 0 ) || GT_32( element_brate, IVAS_24k4 ) ) )
        {
            return 1;
        }
        ELSE
        {
            return 0;
        }
    }
    ELSE IF( EQ_16( element_mode, IVAS_CPE_DFT ) )
    {
        IF( GE_32( element_brate, IVAS_24k4 ) )
        {
            return 1;
        }
        ELSE
        {
            return 0;
        }
    }
    ELSE IF( EQ_16( element_mode, IVAS_SCE ) )
    {
        IF( GE_32( element_brate, SCE_CORE_16k_LOW_LIMIT ) )
        {
            return 1;
        }
        ELSE
        {
            return 0;
        }
    }
    ELSE IF( GE_32( total_brate, ACELP_16k_LOW_LIMIT ) ) /* EVS_MONO */
    {
        return 1;
    }
    ELSE
    {
        return 0;
    }
}
#else
Word16 set_ACELP_flag(
    const Word16 element_mode,  /* i  : element mode                */
    const Word32 element_brate, /* i  : element bitrate             */
@@ -1633,4 +1699,5 @@ Word16 set_ACELP_flag(
        return 0;
    }
}
#endif
/*#endif IVAS_CODE*/
 No newline at end of file
+61 −2
Original line number Diff line number Diff line
@@ -1598,7 +1598,7 @@ void configureCldfb_ivas_fx(

    // h_cldfb->no_channels = (int16_t) ( sampling_rate * INV_CLDFB_BANDWIDTH + 0.5f );
    Word32 n_sampling_rate = sampling_rate * 2;
    Word32 val = L_add( Mpy_32_16_1( n_sampling_rate, 41 ), 1 );
    Word32 val = L_add( Mpy_32_16_1( n_sampling_rate, 41 /* INV_CLDFB_BANDWIDTH in Q15 */), 1 );
    val = L_shr( val, 1 );
    h_cldfb->no_channels = extract_l( val );

@@ -1687,7 +1687,8 @@ ivas_error openCldfb_ivas_fx(
    hs->prototype = prototype;
    move16();

    configureCldfb_ivas( hs, sampling_rate );
    //configureCldfb_ivas( hs, sampling_rate );
    configureCldfb_ivas_fx( hs, sampling_rate );
    hs->memory_flt = NULL;
    hs->memory_length = 0;
    move16();
@@ -1914,6 +1915,36 @@ void deleteCldfb_ivas(
    return;
}

#ifdef IVAS_FLOAT_FIXED
void deleteCldfb_ivas_fx(
    HANDLE_CLDFB_FILTER_BANK *h_cldfb /* i/o: filter bank handle  */
)
{
    HANDLE_CLDFB_FILTER_BANK hs = *h_cldfb;

    IF ( h_cldfb == NULL || *h_cldfb == NULL )
    {
        return;
    }

    IF ( hs->cldfb_state_fx )
    {
        free( hs->cldfb_state_fx );
    }
#ifdef IVAS_FLOAT_FIXED // TODO : Will be removed later
    IF ( hs->cldfb_state )
    {
        free( hs->cldfb_state );
    }
#endif

    free( hs );
    *h_cldfb = NULL;

    return;
}
#endif


/*-------------------------------------------------------------------*
 * cldfb_init_proto_and_twiddles()
@@ -1956,6 +1987,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->p_filter_sf = (Word16) 17036;
                hs->p_filter = CLDFB80_10_fx;
				hs->q_scale = norm_s((Word16)CLDFB80_10_SCALE);
                hs->scale = (Word16)(CLDFB80_10_SCALE*(1<<hs->q_scale));
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -1975,6 +2008,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15388;
                hs->p_filter = LDQMF_10_fx;
				hs->q_scale = norm_s((Word16)LDQMF_10_SCALE);
				hs->scale = (Word16)(LDQMF_10_SCALE*(1 << hs->q_scale));
#endif
            }
            break;
@@ -2007,6 +2042,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->p_filter_sf = (Word16) 17051;
                hs->p_filter = CLDFB80_16_fx;
				hs->q_scale = norm_s((Word16)CLDFB80_16_SCALE);
				hs->scale = (Word16)(CLDFB80_16_SCALE*(1 << hs->q_scale));
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2026,6 +2063,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15388;
                hs->p_filter = LDQMF_16_fx;
				hs->q_scale = norm_s((Word16)LDQMF_16_SCALE);
				hs->scale = (Word16)(LDQMF_16_SCALE*(1 << hs->q_scale));
#endif
            }
            break;
@@ -2058,6 +2097,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->p_filter_sf = (Word16) 17050;
                hs->p_filter = CLDFB80_20_fx;
				hs->q_scale = norm_s((Word16)CLDFB80_20_SCALE);
				hs->scale = (Word16)(CLDFB80_20_SCALE*(1 << hs->q_scale));
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2077,6 +2118,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15390;
                hs->p_filter = LDQMF_20_fx;
				hs->q_scale = norm_s((Word16)LDQMF_20_SCALE);
				hs->scale = (Word16)(LDQMF_20_SCALE*(1 << hs->q_scale));
#endif
            }
            break;
@@ -2109,6 +2152,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->p_filter_sf = (Word16) 17051;
                hs->p_filter = CLDFB80_30_fx;
				hs->q_scale = norm_s((Word16)CLDFB80_30_SCALE);
				hs->scale = (Word16)(CLDFB80_30_SCALE*(1 << hs->q_scale));
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2128,6 +2173,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15388;
                hs->p_filter = LDQMF_30_fx;
				hs->q_scale = norm_s((Word16)LDQMF_30_SCALE);
				hs->scale = (Word16)(LDQMF_30_SCALE*(1 << hs->q_scale));
#endif
            }
            break;
@@ -2160,6 +2207,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->p_filter_sf = (Word16) 17050;
                hs->p_filter = CLDFB80_32_fx;
				hs->q_scale = norm_s((Word16)CLDFB80_32_SCALE);
				hs->scale = (Word16)(CLDFB80_32_SCALE*(1 << hs->q_scale));
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2179,6 +2228,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15392;
                hs->p_filter = LDQMF_32_fx;
				hs->q_scale = norm_s((Word16)LDQMF_32_SCALE);
				hs->scale = (Word16)(LDQMF_32_SCALE*(1 << hs->q_scale));
#endif
            }
            break;
@@ -2211,6 +2262,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->p_filter_sf = (Word16) 17051;
                hs->p_filter = CLDFB80_40_fx;
				hs->q_scale = norm_s((Word16)CLDFB80_40_SCALE);
				hs->scale = (Word16)(CLDFB80_40_SCALE*(1 << hs->q_scale));
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2230,6 +2283,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15391;
                hs->p_filter = LDQMF_40_fx;
				hs->q_scale = norm_s((Word16)LDQMF_40_SCALE);
				hs->scale = (Word16)(LDQMF_40_SCALE*(1 << hs->q_scale));
#endif
            }
            break;
@@ -2262,6 +2317,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->p_filter_sf = (Word16) 17051;
                hs->p_filter = CLDFB80_60_fx;
				hs->q_scale = norm_s((Word16)CLDFB80_60_SCALE);
				hs->scale = (Word16)(CLDFB80_60_SCALE*(1 << hs->q_scale));
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2281,6 +2338,8 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15391;
                hs->p_filter = LDQMF_60_fx;
				hs->q_scale = norm_s((Word16)LDQMF_60_SCALE);
				hs->scale = (Word16)(LDQMF_60_SCALE*(1 << hs->q_scale));
#endif
            }
            break;
Loading