Commit 72bb8776 authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

Merge branch 'FhG/external-renderer' of...

Merge branch 'FhG/external-renderer' of forge.3gpp.org:ivas-codec-pc/ivas-codec into Philips/external-renderer-api2
parents 9b0db3bb bce63a80
Loading
Loading
Loading
Loading
Loading
+46 −15
Original line number Diff line number Diff line
@@ -44,8 +44,21 @@ stages:
.get-previous-merge-commit-sha: &get-previous-merge-commit-sha
  - previous_merge_commit=$(git --no-pager log --merges HEAD~1 -n 1 --pretty=format:%H)

.merge_request_comparison_setup:
  &merge_request_comparison_setup ### build test binaries, initial clean for paranoia reasons
.mr-fetch-target-branch: &mr-fetch-target-branch
  # first delete local target branch to avoid conflicts when branch is cached and there are merge conflicts during fetching
  # depending on chaching, the branch may not be there, so prevent failure of this command -> should maybe be done smarter later
  - git branch -D $CI_MERGE_REQUEST_TARGET_BRANCH_NAME || true
  # needed when depth is lower than the number of commits in the branch
  - git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME:$CI_MERGE_REQUEST_TARGET_BRANCH_NAME

.mr-get-target-commit: &mr-get-target-commit
  # compare to last target branch commit before pipeline was created
  - target_commit=$(git log $CI_MERGE_REQUEST_TARGET_BRANCH_NAME -1 --oneline --before=${CI_PIPELINE_CREATED_AT} --format=%H)



.merge-request-comparison-setup-codec:
  &merge-request-comparison-setup-codec ### build test binaries, initial clean for paranoia reasons
  - make clean
  - mkdir build
  - cd build
@@ -61,14 +74,9 @@ stages:
  - source_branch_commit_sha=$(git rev-parse HEAD)

  ### checkout version to compare against
  # first delete local target branch to avoid conflicts when branch is cached and there are merge conflicts during fetching
  # depending on chaching, the branch may not be there, so prevent failure of this command -> should maybe be done smarter later
  - git branch -D $CI_MERGE_REQUEST_TARGET_BRANCH_NAME || true
  # needed when depth is lower than the number of commits in the branch
  - git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME:$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
  - *mr-fetch-target-branch

  ### compare to last target branch commit before pipeline was created
  - target_commit=$(git log $CI_MERGE_REQUEST_TARGET_BRANCH_NAME -1 --oneline --before=${CI_PIPELINE_CREATED_AT} --format=%H)
  - *mr-get-target-commit
  - git checkout $target_commit

  ### build reference binaries
@@ -394,23 +402,46 @@ external-renderer-cmake-msan-pytest:
        - report-junit.xml

# compare external renderer bitexactness between target and source branch
# TODO @knj please update
# TODO: to be tested after first merge
.external-renderer-pytest-on-merge-request:
  extends:
    - .test-job-linux
    - .rules-merge-request
  needs: ["build-codec-linux-make"]
  timeout: "12 minutes"
  stage: compare
  script:
    - *print-common-info

    # some helper variables - "|| true" to prevent failures from grep not finding anything
    - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[rend(erer)*[ -]*non[ -]*be\]") || true
    - ref_using_main=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[ref[ -]*using[ -]*main\]") || true

    # store the current commit hash
    - source_branch_commit_sha=$(git rev-parse HEAD)

    # TODO: implement ref_using_main

    - *mr-fetch-target-branch
    - *mr-get-target-commit
    - git checkout $target_commit

    # run ext renderer test on target branch
    - make -j IVAS_rend
    - make -j unittests
    - make -j --directory scripts/td_object_renderer/object_renderer_standalone
    - git checkout main
    - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py
    - mv tests/renderer/ref tests/renderer/ref_main
    - git checkout FhG/external-renderer 

    # run ext renderer test on branch to be merged
    - git checkout $source_branch_commit_sha
    - make clean
    - make -j IVAS_rend
    - make -j unittests
    - make -j --directory scripts/td_object_renderer/object_renderer_standalone
    - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py
    - python scripts/batch_comp_audio.py ./tests/renderer/ref_main ./tests/renderer/ref
    - python scripts/batch_comp_audio.py ./tests/renderer/ref_main ./tests/renderer/ref | tee comparison_result.txt
    # TODO: implmement actual comparison
  artifacts:
    name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results"
    when: always
@@ -431,7 +462,7 @@ ivas-pytest-on-merge-request:
  timeout: "10 minutes"
  script:
    - *print-common-info
    - *merge_request_comparison_setup
    - *merge-request-comparison-setup-codec

    # some helper variables - "|| true" to prevent failures from grep not finding anything
    - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[non[ -]*be\]") || true
@@ -479,7 +510,7 @@ evs-pytest-on-merge-request:
  timeout: "10 minutes"
  script:
    - *print-common-info
    - *merge_request_comparison_setup
    - *merge-request-comparison-setup-codec
    
    # some helper variables - "|| true" to prevent failures from grep not finding anything
    - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[evs[ -]*non[ -]*be\]") || true
+4 −2
Original line number Diff line number Diff line
@@ -318,10 +318,12 @@ int main( int argc, char *argv[] )
        }
        st_ivas->hDecoderConfig->Opt_Headrotation = TRUE;
    }
#ifdef EXT_RENDERER
    else
    {
        st_ivas->hDecoderConfig->Opt_Headrotation = 0;
    }
#endif

    /* Init limiter */
    st_ivas->hLimiter = ivas_limiter_open( nChannels, st_ivas->hDecoderConfig->output_Fs );