Loading .gitlab-ci.yml +36 −11 Original line number Diff line number Diff line Loading @@ -253,6 +253,7 @@ 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 Loading @@ -267,6 +268,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 - python3 ci/basop-pages/create_summary_page.py $SUMMARY_HTML_ARTIFACT_NAME $CI_JOB_ID $CI_JOB_NAME Loading @@ -278,6 +280,8 @@ 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 Loading @@ -286,8 +290,8 @@ stages: - if [ $zero_errors != 1 ]; then - echo "Run errors encountered!" # TODO: temporary only to not fail pipelines on crashes in encoder - if [[ "$CI_JOB_NAME" =~ "ivas-pytest-compare_to_ref-short-enc" ]]; then # TODO: temporary only to not fail MR pipelines on crashes - if [ $CI_PIPELINE_SOURCE == 'merge_request_event' ]; then - exit $EXIT_CODE_NON_BE - else - exit $EXIT_CODE_FAIL Loading @@ -311,6 +315,7 @@ stages: - $MERGED_CSV_ARTIFACT_NAME - $SUMMARY_HTML_ARTIFACT_NAME - $IMAGES_ARTIFACT_NAME - $HISTORY_ARTIFACT_NAME expose_as: "pytest compare results" reports: junit: Loading Loading @@ -353,10 +358,13 @@ stages: # this per default builds the branch and the reference and creates the reference outputs - *build-and-create-reference-outputs - exit_code=0 - python3 -m pytest --tb=no $TEST_SUITE -v --create_cut --html=$HTML_REPORT_BRANCH --self-contained-html --junit-xml=$XML_REPORT_BRANCH --mld --ssnr --odg --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || exit_code=$? - python3 -m pytest --tb=no $TEST_SUITE -v --keep_files --create_cut --html=$HTML_REPORT_BRANCH --self-contained-html --junit-xml=$XML_REPORT_BRANCH --mld --ssnr --odg --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || exit_code=$? - zero_errors_branch=$(cat $XML_REPORT_BRANCH | grep -c 'errors="0"') || true - python3 scripts/parse_xml_report.py $XML_REPORT_BRANCH $CSV_BRANCH # Store branch outputs for comparison - mv tests/dut tests/dut_branch # 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 Loading @@ -367,24 +375,38 @@ stages: - git pull - make clean - make -j - python3 -m pytest --tb=no $TEST_SUITE -v --create_cut --html=$HTML_REPORT_MAIN --self-contained-html --junit-xml=$XML_REPORT_MAIN --mld --ssnr --odg --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || true - python3 -m pytest --tb=no $TEST_SUITE -v --keep_files --create_cut --html=$HTML_REPORT_MAIN --self-contained-html --junit-xml=$XML_REPORT_MAIN --mld --ssnr --odg --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || true - python3 scripts/parse_xml_report.py $XML_REPORT_MAIN $CSV_MAIN # If outputs of main and branch are equal, have equal reports and no run errors were encountered, the job will pass. - diff_sba=0 - diff_param=0 - diff_report=0 - 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." - exit 0; - fi ### compare the two csv files for regressions - regressions_found=0 - python3 scripts/basop_check_for_changes_in_testcases.py $CSV_BRANCH $CSV_MAIN || regressions_found=$? - if [ $exit_code -eq 1 ]; then echo "Differences encountered"; exit_code=$EXIT_CODE_NON_BE; fi - if [ $zero_errors_branch != 1 ]; then echo "Run errors encountered!"; exit_code=$EXIT_CODE_NON_BE; fi - if [ $regressions_found != 0 ]; then - echo "Detected regression wrt to main!" - if [ $allow_regressions_flag == 0 ]; then - exit $EXIT_CODE_FAIL; - echo "Detected regression wrt to main, [allow regression] not set!" - exit_code=$EXIT_CODE_FAIL; - else - exit $EXIT_CODE_NON_BE; - echo "Detected regression wrt to main, [allow regression] set." - exit_code=$EXIT_CODE_NON_BE; - fi - fi - if [ $zero_errors_branch != 1 ]; then echo "Run errors encountered!"; exit $EXIT_CODE_NON_BE; fi - if [ $exit_code -eq 1 ]; then echo "Differences encountered"; exit $EXIT_CODE_NON_BE; fi - exit 0 - exit $exit_code after_script: - rm -rf tests/dut tests/ref allow_failure: Loading Loading @@ -694,7 +716,7 @@ ivas-pytest-compare_to_ref-short-dec: - LEVEL_SCALING=1.0 <<: *ivas-pytest-anchor ivas-pytest-compare_to_ref-short-lev-10: ivas-pytest-compare_to_ref-short-dec-lev-10: extends: - .rules-pytest-to-ref-short - .test-job-linux Loading Loading @@ -1286,6 +1308,9 @@ pages: - *print-common-info - *update-scripts-repo - python3 ci/setup_pages.py # Copy logs - mkdir -p public/history - cp -r daily_results_* public/history - ls - ls public artifacts: Loading lib_com/ivas_prot.h +2 −1 Original line number Diff line number Diff line Loading @@ -148,7 +148,8 @@ ivas_error ivas_sba_enc_reconfigure( ); void destroy_sce_enc( SCE_ENC_HANDLE hSCE /* i/o: SCE encoder structure */ SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ Flag is_evs /* i : Flag to indicate EVS encoder */ ); void destroy_cpe_enc( Loading lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ #define FIX_TMP_714 #define BASOP_NOGLOB_TMP_715 #define EVS_FUNC_MODIFIED #define EVS_FLOAT_ENC //#define EVS_FLOAT_ENC #define FIX_667_DISABLE_INITIAL_PLC_SUPPRESSION #define IVAS_CNST #define REMOVE_IVAS_UNUSED_PARAMETERS_WARNING /*temporary operation on unused EVS parameters to remove warnings, these parameters will be used in IVAS */ Loading lib_enc/ivas_corecoder_enc_reconfig.c +1 −1 Original line number Diff line number Diff line Loading @@ -211,7 +211,7 @@ ivas_error ivas_corecoder_enc_reconfig( mvr2r( st_ivas->hSCE[sce_id]->hCoreCoder[0]->input_buff, input_buff[sce_id], len_inp_memory ); } destroy_sce_enc( st_ivas->hSCE[sce_id] ); destroy_sce_enc( st_ivas->hSCE[sce_id], ( EQ_16( st_ivas->hEncoderConfig->element_mode_init, EVS_MONO ) && !st_ivas->hEncoderConfig->stereo_dmx_evs ) ); st_ivas->hSCE[sce_id] = NULL; } Loading lib_enc/ivas_init_enc.c +33 −15 Original line number Diff line number Diff line Loading @@ -735,20 +735,29 @@ ivas_error ivas_init_encoder( if ( ivas_format == MONO_FORMAT ) { st_ivas->nSCE = 1; /* in mono, there is always only one SCE */ move16(); st_ivas->nCPE = 0; move16(); st_ivas->nchan_transport = 1; move16(); sce_id = 0; #ifdef EVS_FLOAT_ENC if ( ( error = create_sce_enc( st_ivas, sce_id, ivas_total_brate ) ) != IVAS_ERR_OK ) move16(); test(); IF( NE_16( st_ivas->hEncoderConfig->element_mode_init, EVS_MONO ) || st_ivas->hEncoderConfig->stereo_dmx_evs ) { IF( NE_32( ( error = create_sce_enc( st_ivas, sce_id, ivas_total_brate ) ), IVAS_ERR_OK ) ) { return error; } #else if ( ( error = create_evs_sce_enc( st_ivas, sce_id, ivas_total_brate ) ) != IVAS_ERR_OK ) } ELSE { IF( NE_32( ( error = create_evs_sce_enc( st_ivas, sce_id, ivas_total_brate ) ), IVAS_ERR_OK ) ) { return error; } #endif } /* prepare stereo downmix for EVS */ if ( hEncoderConfig->stereo_dmx_evs == 1 ) Loading Loading @@ -1357,20 +1366,29 @@ ivas_error ivas_init_encoder_fx( IF( EQ_16( ivas_format, MONO_FORMAT ) ) { st_ivas->nSCE = 1; /* in mono, there is always only one SCE */ move16(); st_ivas->nCPE = 0; move16(); st_ivas->nchan_transport = 1; move16(); sce_id = 0; #ifndef EVS_FLOAT_ENC if ( ( error = create_evs_sce_enc( st_ivas, sce_id, ivas_total_brate ) ) != IVAS_ERR_OK ) move16(); test(); IF( EQ_16( st_ivas->hEncoderConfig->element_mode_init, EVS_MONO ) && !st_ivas->hEncoderConfig->stereo_dmx_evs ) { IF( NE_32( ( error = create_evs_sce_enc( st_ivas, sce_id, ivas_total_brate ) ), IVAS_ERR_OK ) ) { return error; } #else IF( ( error = create_sce_enc_fx( st_ivas, sce_id, ivas_total_brate ) ) != IVAS_ERR_OK ) } ELSE { IF( NE_32( ( error = create_sce_enc_fx( st_ivas, sce_id, ivas_total_brate ) ), IVAS_ERR_OK ) ) { return error; } #endif } /* prepare stereo downmix for EVS */ IF( hEncoderConfig->stereo_dmx_evs == 1 ) Loading Loading @@ -2024,7 +2042,7 @@ void ivas_destroy_enc( { if ( st_ivas->hSCE[i] != NULL ) { destroy_sce_enc( st_ivas->hSCE[i] ); destroy_sce_enc( st_ivas->hSCE[i], ( EQ_16( st_ivas->hEncoderConfig->element_mode_init, EVS_MONO ) && !st_ivas->hEncoderConfig->stereo_dmx_evs ) ); st_ivas->hSCE[i] = NULL; } } Loading Loading
.gitlab-ci.yml +36 −11 Original line number Diff line number Diff line Loading @@ -253,6 +253,7 @@ 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 Loading @@ -267,6 +268,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 - python3 ci/basop-pages/create_summary_page.py $SUMMARY_HTML_ARTIFACT_NAME $CI_JOB_ID $CI_JOB_NAME Loading @@ -278,6 +280,8 @@ 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 Loading @@ -286,8 +290,8 @@ stages: - if [ $zero_errors != 1 ]; then - echo "Run errors encountered!" # TODO: temporary only to not fail pipelines on crashes in encoder - if [[ "$CI_JOB_NAME" =~ "ivas-pytest-compare_to_ref-short-enc" ]]; then # TODO: temporary only to not fail MR pipelines on crashes - if [ $CI_PIPELINE_SOURCE == 'merge_request_event' ]; then - exit $EXIT_CODE_NON_BE - else - exit $EXIT_CODE_FAIL Loading @@ -311,6 +315,7 @@ stages: - $MERGED_CSV_ARTIFACT_NAME - $SUMMARY_HTML_ARTIFACT_NAME - $IMAGES_ARTIFACT_NAME - $HISTORY_ARTIFACT_NAME expose_as: "pytest compare results" reports: junit: Loading Loading @@ -353,10 +358,13 @@ stages: # this per default builds the branch and the reference and creates the reference outputs - *build-and-create-reference-outputs - exit_code=0 - python3 -m pytest --tb=no $TEST_SUITE -v --create_cut --html=$HTML_REPORT_BRANCH --self-contained-html --junit-xml=$XML_REPORT_BRANCH --mld --ssnr --odg --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || exit_code=$? - python3 -m pytest --tb=no $TEST_SUITE -v --keep_files --create_cut --html=$HTML_REPORT_BRANCH --self-contained-html --junit-xml=$XML_REPORT_BRANCH --mld --ssnr --odg --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || exit_code=$? - zero_errors_branch=$(cat $XML_REPORT_BRANCH | grep -c 'errors="0"') || true - python3 scripts/parse_xml_report.py $XML_REPORT_BRANCH $CSV_BRANCH # Store branch outputs for comparison - mv tests/dut tests/dut_branch # 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 Loading @@ -367,24 +375,38 @@ stages: - git pull - make clean - make -j - python3 -m pytest --tb=no $TEST_SUITE -v --create_cut --html=$HTML_REPORT_MAIN --self-contained-html --junit-xml=$XML_REPORT_MAIN --mld --ssnr --odg --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || true - python3 -m pytest --tb=no $TEST_SUITE -v --keep_files --create_cut --html=$HTML_REPORT_MAIN --self-contained-html --junit-xml=$XML_REPORT_MAIN --mld --ssnr --odg --ref_encoder_path $REF_ENCODER_PATH --ref_decoder_path $REF_DECODER_PATH --dut_encoder_path $DUT_ENCODER_PATH --dut_decoder_path $DUT_DECODER_PATH -n auto --testcase_timeout $testcase_timeout || true - python3 scripts/parse_xml_report.py $XML_REPORT_MAIN $CSV_MAIN # If outputs of main and branch are equal, have equal reports and no run errors were encountered, the job will pass. - diff_sba=0 - diff_param=0 - diff_report=0 - 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." - exit 0; - fi ### compare the two csv files for regressions - regressions_found=0 - python3 scripts/basop_check_for_changes_in_testcases.py $CSV_BRANCH $CSV_MAIN || regressions_found=$? - if [ $exit_code -eq 1 ]; then echo "Differences encountered"; exit_code=$EXIT_CODE_NON_BE; fi - if [ $zero_errors_branch != 1 ]; then echo "Run errors encountered!"; exit_code=$EXIT_CODE_NON_BE; fi - if [ $regressions_found != 0 ]; then - echo "Detected regression wrt to main!" - if [ $allow_regressions_flag == 0 ]; then - exit $EXIT_CODE_FAIL; - echo "Detected regression wrt to main, [allow regression] not set!" - exit_code=$EXIT_CODE_FAIL; - else - exit $EXIT_CODE_NON_BE; - echo "Detected regression wrt to main, [allow regression] set." - exit_code=$EXIT_CODE_NON_BE; - fi - fi - if [ $zero_errors_branch != 1 ]; then echo "Run errors encountered!"; exit $EXIT_CODE_NON_BE; fi - if [ $exit_code -eq 1 ]; then echo "Differences encountered"; exit $EXIT_CODE_NON_BE; fi - exit 0 - exit $exit_code after_script: - rm -rf tests/dut tests/ref allow_failure: Loading Loading @@ -694,7 +716,7 @@ ivas-pytest-compare_to_ref-short-dec: - LEVEL_SCALING=1.0 <<: *ivas-pytest-anchor ivas-pytest-compare_to_ref-short-lev-10: ivas-pytest-compare_to_ref-short-dec-lev-10: extends: - .rules-pytest-to-ref-short - .test-job-linux Loading Loading @@ -1286,6 +1308,9 @@ pages: - *print-common-info - *update-scripts-repo - python3 ci/setup_pages.py # Copy logs - mkdir -p public/history - cp -r daily_results_* public/history - ls - ls public artifacts: Loading
lib_com/ivas_prot.h +2 −1 Original line number Diff line number Diff line Loading @@ -148,7 +148,8 @@ ivas_error ivas_sba_enc_reconfigure( ); void destroy_sce_enc( SCE_ENC_HANDLE hSCE /* i/o: SCE encoder structure */ SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ Flag is_evs /* i : Flag to indicate EVS encoder */ ); void destroy_cpe_enc( Loading
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ #define FIX_TMP_714 #define BASOP_NOGLOB_TMP_715 #define EVS_FUNC_MODIFIED #define EVS_FLOAT_ENC //#define EVS_FLOAT_ENC #define FIX_667_DISABLE_INITIAL_PLC_SUPPRESSION #define IVAS_CNST #define REMOVE_IVAS_UNUSED_PARAMETERS_WARNING /*temporary operation on unused EVS parameters to remove warnings, these parameters will be used in IVAS */ Loading
lib_enc/ivas_corecoder_enc_reconfig.c +1 −1 Original line number Diff line number Diff line Loading @@ -211,7 +211,7 @@ ivas_error ivas_corecoder_enc_reconfig( mvr2r( st_ivas->hSCE[sce_id]->hCoreCoder[0]->input_buff, input_buff[sce_id], len_inp_memory ); } destroy_sce_enc( st_ivas->hSCE[sce_id] ); destroy_sce_enc( st_ivas->hSCE[sce_id], ( EQ_16( st_ivas->hEncoderConfig->element_mode_init, EVS_MONO ) && !st_ivas->hEncoderConfig->stereo_dmx_evs ) ); st_ivas->hSCE[sce_id] = NULL; } Loading
lib_enc/ivas_init_enc.c +33 −15 Original line number Diff line number Diff line Loading @@ -735,20 +735,29 @@ ivas_error ivas_init_encoder( if ( ivas_format == MONO_FORMAT ) { st_ivas->nSCE = 1; /* in mono, there is always only one SCE */ move16(); st_ivas->nCPE = 0; move16(); st_ivas->nchan_transport = 1; move16(); sce_id = 0; #ifdef EVS_FLOAT_ENC if ( ( error = create_sce_enc( st_ivas, sce_id, ivas_total_brate ) ) != IVAS_ERR_OK ) move16(); test(); IF( NE_16( st_ivas->hEncoderConfig->element_mode_init, EVS_MONO ) || st_ivas->hEncoderConfig->stereo_dmx_evs ) { IF( NE_32( ( error = create_sce_enc( st_ivas, sce_id, ivas_total_brate ) ), IVAS_ERR_OK ) ) { return error; } #else if ( ( error = create_evs_sce_enc( st_ivas, sce_id, ivas_total_brate ) ) != IVAS_ERR_OK ) } ELSE { IF( NE_32( ( error = create_evs_sce_enc( st_ivas, sce_id, ivas_total_brate ) ), IVAS_ERR_OK ) ) { return error; } #endif } /* prepare stereo downmix for EVS */ if ( hEncoderConfig->stereo_dmx_evs == 1 ) Loading Loading @@ -1357,20 +1366,29 @@ ivas_error ivas_init_encoder_fx( IF( EQ_16( ivas_format, MONO_FORMAT ) ) { st_ivas->nSCE = 1; /* in mono, there is always only one SCE */ move16(); st_ivas->nCPE = 0; move16(); st_ivas->nchan_transport = 1; move16(); sce_id = 0; #ifndef EVS_FLOAT_ENC if ( ( error = create_evs_sce_enc( st_ivas, sce_id, ivas_total_brate ) ) != IVAS_ERR_OK ) move16(); test(); IF( EQ_16( st_ivas->hEncoderConfig->element_mode_init, EVS_MONO ) && !st_ivas->hEncoderConfig->stereo_dmx_evs ) { IF( NE_32( ( error = create_evs_sce_enc( st_ivas, sce_id, ivas_total_brate ) ), IVAS_ERR_OK ) ) { return error; } #else IF( ( error = create_sce_enc_fx( st_ivas, sce_id, ivas_total_brate ) ) != IVAS_ERR_OK ) } ELSE { IF( NE_32( ( error = create_sce_enc_fx( st_ivas, sce_id, ivas_total_brate ) ), IVAS_ERR_OK ) ) { return error; } #endif } /* prepare stereo downmix for EVS */ IF( hEncoderConfig->stereo_dmx_evs == 1 ) Loading Loading @@ -2024,7 +2042,7 @@ void ivas_destroy_enc( { if ( st_ivas->hSCE[i] != NULL ) { destroy_sce_enc( st_ivas->hSCE[i] ); destroy_sce_enc( st_ivas->hSCE[i], ( EQ_16( st_ivas->hEncoderConfig->element_mode_init, EVS_MONO ) && !st_ivas->hEncoderConfig->stereo_dmx_evs ) ); st_ivas->hSCE[i] = NULL; } } Loading