Skip to content
GitLab
Explore
Sign in
Commits on Source (645)
5b3af368
- Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Jul 19, 2024
631fbf2a
- Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Jul 24, 2024
bc66c3b0
- Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Jul 25, 2024
8335d48c
- Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Aug 05, 2024
97bfda4a
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Aug 07, 2024
df375cee
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Aug 08, 2024
d57af493
- Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Aug 09, 2024
0e4e616e
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Aug 15, 2024
40c2e5b2
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Aug 15, 2024
fcfbdd08
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Aug 15, 2024
41f9e85c
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Sep 03, 2024
b18ddd51
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Sep 23, 2024
c766c4fb
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Sep 26, 2024
34ae3d84
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Oct 10, 2024
61c9d9d9
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Oct 15, 2024
09fa0f5a
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Oct 21, 2024
d519daef
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Oct 22, 2024
2d0db81e
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Oct 31, 2024
93f6329d
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Oct 31, 2024
dc38236e
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Nov 05, 2024
a9c3ccc2
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Nov 05, 2024
19856705
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Nov 08, 2024
1fc5e148
add FIX_1209_SID_SIGNALING when DEBUGGING is activated
Nov 08, 2024
b4860acf
revert
Nov 08, 2024
5f64c63a
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Nov 12, 2024
c3e608b4
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Nov 13, 2024
ba9ce4c2
- Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Nov 14, 2024
9cb7207a
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Nov 21, 2024
23465028
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Nov 26, 2024
81d73473
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Dec 06, 2024
33f32d26
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Dec 10, 2024
376162be
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Dec 15, 2024
dedf0d47
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Dec 17, 2024
6e7a3c29
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Dec 19, 2024
7437fd62
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Jan 06, 2025
7d297fd3
Merge branch 'main' into fix_hrtf_processing_scripts_for_3rd_party_sofa_support
Jan 07, 2025
8a2f952a
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Jan 08, 2025
70ba2df0
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Jan 10, 2025
adbfc316
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Jan 13, 2025
d6a02670
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Jan 14, 2025
a2bcf7c1
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Jan 16, 2025
958d6e8b
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Jan 20, 2025
2f69da05
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Jan 23, 2025
3fb559cc
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Jan 24, 2025
3af9bf1b
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Jan 28, 2025
d31fd963
Merge branch 'fix_hrtf_processing_scripts_for_3rd_party_sofa_support' of...
Feb 03, 2025
28e704ae
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Feb 04, 2025
87411902
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Feb 04, 2025
6c0edc8e
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Feb 18, 2025
620cf5a9
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Feb 19, 2025
958f8d52
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Feb 25, 2025
d301e381
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Mar 03, 2025
7fde38a8
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Mar 10, 2025
b7e4464d
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Mar 14, 2025
e1d71154
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Mar 17, 2025
4ed2df8d
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Mar 19, 2025
7d1329d0
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Mar 20, 2025
14ac2a23
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Mar 22, 2025
d593fa63
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Apr 05, 2025
442999b9
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Apr 08, 2025
318885cd
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Apr 09, 2025
7e7609d2
issue 916: optimization of RAM in the JBM decoder; under
Apr 09, 2025
ced6fc06
second try to reduce stack
Apr 09, 2025
8a9105d3
revert part of previous commit
Apr 09, 2025
e2ea4d39
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Apr 15, 2025
88e2b78e
- Merge remote-tracking branch 'remotes/origin/main' into...
Apr 15, 2025
c04ee29b
OPT_TC, step 1
Apr 15, 2025
3565ea33
- fix FIX_OSBA_BR_SW_FLUSH
Apr 16, 2025
d0ce969d
updates
Apr 16, 2025
f3bd9671
Call apa_exec() with 'hTcBuffer->tc_buffer' instead of 'apaExecBuffer'
Apr 16, 2025
8f4678da
- REMOVE_APA_BUFFER2
Apr 18, 2025
e08c7c0b
remove hIvasDec->apaExecBuffer; under REMOVE_APA_BUFFER2
Apr 18, 2025
fda46f0d
merge REMOVE_APA_BUFFER2 into REMOVE_APA_BUFFER
Apr 18, 2025
65a89248
cleaning
Apr 18, 2025
07c8f8e7
update hTcBuffer->tc_buffer_old[] only in ivas_jbm_dec_feed_tc_to_renderer()
Apr 18, 2025
ef201687
- reduce size of hTcBuffer->tc[]
Apr 18, 2025
fb1a4375
remove OPT_TC and MY_DEBUG
Apr 18, 2025
4e53867f
Merge remote-tracking branch 'remotes/origin/main' into...
Apr 18, 2025
8d74dcff
fix build
Apr 18, 2025
5c933c90
fix memory to NULL
Apr 18, 2025
b1e3c824
fix init
Apr 18, 2025
a7e57fa6
fix st_ivas->hTcBuffer->tc[] init
Apr 18, 2025
4dc42bc7
fix max number of hTcBuffer->tc[] channels
Apr 18, 2025
d7582a1f
fix + activate FIX_OSBA_BR_SW_FLUSH
Apr 19, 2025
238e16ef
serial to parallel conversion, under SER2PAR
Apr 19, 2025
c1fb3a04
cleaning
Apr 19, 2025
4b0d2cd2
tuning
Apr 22, 2025
23d83be2
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Apr 22, 2025
173041d2
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Apr 22, 2025
71069177
- Merge remote-tracking branch 'remotes/origin/main' into...
Apr 22, 2025
4516ec22
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Apr 22, 2025
dbee22de
Merge branch 'main' of
https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec
Apr 25, 2025
fcaa0ed2
Merge remote-tracking branch 'remotes/origin/main' into...
Apr 26, 2025
412a0695
remove 'flushbuffer'; under JBM_MEMORY_OPT_FLUSH
Apr 26, 2025
9db9af55
issue 1319: Optimize the definition of buffer lengths in the SBA decoder;...
Apr 29, 2025
7239ea60
Merge remote-tracking branch 'remotes/origin/main' into 1319-stack-size-in-sba-decoder
Apr 29, 2025
bf945fb3
fix
Apr 29, 2025
43bb8350
fix
Apr 29, 2025
9e490750
- Merge remote-tracking branch 'remotes/origin/main' into 1319-stack-size-in-sba-decoder
Apr 29, 2025
82fdad6d
issue 1320: Optimize the stack memory consumption in the CPE decoder; under...
May 01, 2025
Expand all
Show whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
600f3f77
variables
:
# note: GitLab cannot reference variables defined by users in the include ref:, we need to use a YAML anchor for this
# see https://docs.gitlab.com/ci/yaml/includes/#use-variables-with-include for more information
IVAS_CODEC_CI_REF
:
&IVAS_CODEC_CI_REF
4eb4c0dfbdc845280a9994b5f7540f69c737537b
IVAS_CODEC_CI_REF
:
&IVAS_CODEC_CI_REF
main
include
:
-
local
:
.gitlab-ci/variables.yml
...
...
@@ -352,6 +352,13 @@ build-codec-instrumented-linux:
-
bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh
-
./scripts/prepare_instrumentation.sh
-
make -j -C scripts/c-code_instrument
artifacts
:
when
:
always
access
:
all
expire_in
:
"
30
days"
paths
:
-
wmc_tool_output.txt
# make sure that the codec builds with msan, asan and usan
build-codec-sanitizers-linux
:
...
...
@@ -419,7 +426,7 @@ codec-smoke-test:
-
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
:
"
mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--
stage
-$CI_JOB_
STAG
E--results"
name
:
"
mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--
job
-$CI_JOB_
NAM
E--results"
expire_in
:
1 week
when
:
always
paths
:
...
...
@@ -477,7 +484,7 @@ pytest-compare-20ms-and-5ms-rendering:
needs
:
[
"
build-codec-linux-cmake"
,
"
build-codec-linux-make"
,
"
build-codec-instrumented-linux"
,
"
build-codec-sanitizers-linux"
]
script
:
-
bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh
-
bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/
float/
disable-limiter.sh
-
bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/disable-limiter.sh
-
make clean
-
make -j
### prepare pytest
...
...
@@ -501,7 +508,7 @@ pytest-compare-20ms-and-5ms-rendering:
-
if [ $exit_code10 -ne 0 ]; then echo "Non-bitexact cases encountered with 10ms rendering!"; exit_code=1; fi
-
if [ $exit_code -ne 0 ]; then exit $EXIT_CODE_FAIL; fi
artifacts
:
name
:
"
mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--
stage
-$CI_JOB_
STAG
E--results"
name
:
"
mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--
job
-$CI_JOB_
NAM
E--results"
expire_in
:
1 week
when
:
always
expose_as
:
"
pytest
5ms
and
10ms
vs
20ms
results"
...
...
@@ -537,81 +544,69 @@ renderer-smoke-test:
junit
:
-
report-junit.xml
# test renderer executable with cmake + asan
renderer-asan
:
.renderer-sanitizer-job
:
extends
:
-
.test-job-linux
-
.rules-merge-request-to-main
needs
:
[
"
build-codec-linux-cmake"
]
stage
:
test
script
:
-
cmake -B cmake-build -G "Unix Makefiles" -DCLANG=asan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true
-
cmake --build cmake-build -- -j
-
testcase_timeout=180
-
python3 -m pytest -q -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py --testcase_timeout=$testcase_timeout
timeout
:
"
1
hour"
artifacts
:
name
:
"
mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results"
expire_in
:
1 week
when
:
always
paths
:
-
report-junit.xml
expose_as
:
"
renderer
asan
pytest
results"
-
report.html
reports
:
junit
:
-
report-junit.xml
before_script
:
-
cmake -B cmake-build -G "Unix Makefiles" -DCLANG=$SANITIZER_BUILD_STRING -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true
-
cmake --build cmake-build -- -j
# rename files to fit naming convention
# en- and decoder needed because of split rendering testcases
-
mv IVAS_cod IVAS_cod_ref
-
mv IVAS_dec IVAS_dec_ref
-
mv IVAS_rend IVAS_rend_ref
-
mv ISAR_post_rend ISAR_post_rend_ref
-
testcase_timeout=180
# test renderer executable with cmake + asan
renderer-asan
:
extends
:
-
.renderer-sanitizer-job
variables
:
SANITIZER_BUILD_STRING
:
"
asan"
script
:
-
python3 -m pytest -q --tb=no -n auto --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer/test_renderer.py tests/split_rendering/test_split_rendering.py --create_ref --testcase_timeout=$testcase_timeout
artifacts
:
expose_as
:
"
renderer
asan
result"
# test renderer executable with cmake + msan
renderer-msan
:
extends
:
-
.test-job-linux
-
.rules-merge-request-to-main
needs
:
[
"
build-codec-linux-cmake"
]
stage
:
test
-
.renderer-sanitizer-job
variables
:
SANITIZER_BUILD_STRING
:
"
msan"
script
:
-
cmake -B cmake-build -G "Unix Makefiles" -DCLANG=msan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true
-
cmake --build cmake-build -- -j
-
testcase_timeout=180
-
python3 -m pytest -q -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py --testcase_timeout=$testcase_timeout
-
python3 -m pytest -q --tb=no -n auto --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer/test_renderer.py tests/split_rendering/test_split_rendering.py --create_ref --testcase_timeout=$testcase_timeout
artifacts
:
name
:
"
mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results"
expire_in
:
1 week
when
:
always
paths
:
-
report-junit.xml
expose_as
:
"
renderer
msan
pytest
results"
reports
:
junit
:
-
report-junit.xml
expose_as
:
"
renderer
msan
result"
# test renderer executable with cmake + usan
renderer-usan
:
extends
:
-
.test-job-linux
-
.rules-merge-request-to-main
needs
:
[
"
build-codec-linux-cmake"
]
stage
:
test
-
.renderer-sanitizer-job
variables
:
SANITIZER_BUILD_STRING
:
"
usan"
script
:
-
cmake -B cmake-build -G "Unix Makefiles" -DCLANG=usan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true
-
cmake --build cmake-build -- -j
-
testcase_timeout=180
-
UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1,log_path=usan_log_catchall python3 -m pytest -q -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py --testcase_timeout=$testcase_timeout
-
grep_exit_code=0
-
touch usan_log_empty
# Creates an empty file, this is to avoid "grep: usan_log_*: No such file or directory" in case no USAN failures are reported from pytest
-
grep UndefinedBehaviorSanitizer usan_log_* || grep_exit_code=$?
-
if [ $grep_exit_code != 1 ] ; then echo "Run errors in test_renderer.py with Clang undefined-behavior-sanitizer"; exit 1; fi
-
UBSAN_OPTIONS=suppressions=scripts/ubsan.supp,report_error_type=1 python3 -m pytest -q --tb=no -n auto --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer/test_renderer.py tests/split_rendering/test_split_rendering.py --create_ref --testcase_timeout=$testcase_timeout
artifacts
:
name
:
"
mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results"
expire_in
:
1 week
when
:
always
paths
:
-
report-junit.xml
expose_as
:
"
renderer
usan
pytest
results"
reports
:
junit
:
-
report-junit.xml
expose_as
:
"
renderer
usan
result"
# compare renderer bitexactness between target and source branch
renderer-pytest-on-merge-request
:
...
...
@@ -730,6 +725,7 @@ split-rendering-pytest-on-merge-request:
-
mv IVAS_cod IVAS_cod_ref
-
mv IVAS_dec IVAS_dec_ref
-
mv IVAS_rend IVAS_rend_ref
-
mv ISAR_post_rend ISAR_post_rend_ref
### If ref_using_main is not set, checkout the source branch to use scripts and input from there
-
if [ $ref_using_main == 0 ]; then git restore lib_com/options.h; fi
# Revert changes back before checking out another branch to avoid conflicts
...
...
@@ -777,6 +773,12 @@ ivas-pytest-on-merge-request:
stage
:
compare
needs
:
[
"
build-codec-linux-cmake"
,
"
codec-smoke-test"
]
timeout
:
"
14
minutes"
parallel
:
matrix
:
# note: keep in sync with list in $TESTS_DIR_CODEC_BE_ON_MR
-
PYTEST_SCRIPT
:
-
test_param_file.py
-
test_sba.py
script
:
-
bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/print-common-info.sh
-
commits_behind_count="$(bash "${CI_PROJECT_DIR}"/ivas-codec-ci/snippets/get-commits-behind-count.sh)"
...
...
@@ -794,7 +796,7 @@ ivas-pytest-on-merge-request:
### prepare pytest
# create references
-
python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --update_ref
1
-
python3 -m pytest
"
$TESTS_DIR_CODEC_BE_ON_MR
"/"$PYTEST_SCRIPT"
-v --update_ref
1
### Run test using branch scripts and input
-
if [ $ref_using_main == 1 ]; then git checkout $source_branch_commit_sha; fi
...
...
@@ -802,7 +804,7 @@ ivas-pytest-on-merge-request:
### run pytest
-
exit_code=0
-
testcase_timeout=60
-
python3 -m pytest $TESTS_DIR_CODEC_BE_ON_MR -v --html=report.html --self-contained-html --junit-xml=report-junit.xml --testcase_timeout=$testcase_timeout || exit_code=$?
-
python3 -m pytest
"
$TESTS_DIR_CODEC_BE_ON_MR
"/"$PYTEST_SCRIPT"
-v --html=report.html --self-contained-html --junit-xml=report-junit.xml --testcase_timeout=$testcase_timeout || exit_code=$?
-
zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') ||
true
-
*merge-request-comparison-check
...
...
@@ -811,7 +813,7 @@ ivas-pytest-on-merge-request:
exit_codes
:
-
123
artifacts
:
name
:
"
mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--
stage
-$CI_JOB_
STAG
E--results"
name
:
"
mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--
job
-$CI_JOB_
NAM
E--results"
expire_in
:
1 week
when
:
always
paths
:
...
...
@@ -862,7 +864,7 @@ ivas-interop-on-merge-request:
exit_codes
:
-
123
artifacts
:
name
:
"
mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--
stage
-$CI_JOB_
STAG
E--results"
name
:
"
mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--
job
-$CI_JOB_
NAM
E--results"
expire_in
:
1 week
when
:
always
paths
:
...
...
@@ -914,7 +916,7 @@ evs-pytest-on-merge-request:
exit_codes
:
-
123
artifacts
:
name
:
"
mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--
stage
-$CI_JOB_
STAG
E--results"
name
:
"
mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--
job
-$CI_JOB_
NAM
E--results"
expire_in
:
1 week
when
:
always
paths
:
...
...
@@ -1010,7 +1012,7 @@ check-first-frame-is-sid:
expose_as
:
"
logs-sidstart"
expire_in
:
"
5
days"
.
lc3plus-ensure-no-code-changes
:
lc3plus-ensure-no-code-changes
:
extends
:
-
.test-job-linux
-
.rules-merge-request-to-main
...
...
@@ -1022,7 +1024,7 @@ check-first-frame-is-sid:
-
./scripts/lc3plus_lib_setup/get_lc3plus.sh
# Ensure git reports no changes
-
modified_files=$(git status -s)
-
modified_files=$(git status -s
u lib_lc3plus
)
-
if [[ $modified_files ]]; then printf 'LC3plus codebase was modified!\n\n'"$modified_files"'\n\n'; exit $EXIT_CODE_FAIL; fi
check-bitexactness-hrtf-rom-and-file
:
...
...
@@ -1196,7 +1198,7 @@ codec-comparison-on-main-push:
exit_codes
:
-
123
artifacts
:
name
:
"
main-push--sha-$CI_COMMIT_SHORT_SHA--
stage
-$CI_JOB_
STAG
E--results"
name
:
"
main-push--sha-$CI_COMMIT_SHORT_SHA--
job
-$CI_JOB_
NAM
E--results"
expire_in
:
1 week
when
:
always
paths
:
...
...
@@ -1255,6 +1257,7 @@ ivas-conformance:
-
cp -force IVAS_cod.exe IVAS_cod_ref.exe
-
cp -force IVAS_dec.exe IVAS_dec_ref.exe
-
cp -force IVAS_rend.exe IVAS_rend_ref.exe
-
cp -force ISAR_post_rend.exe ISAR_post_rend_ref.exe
# Reference creation
-
python scripts/prepare_combined_format_inputs.py
...
...
@@ -1320,6 +1323,7 @@ ivas-conformance:
expire_in
:
1 week
when
:
always
paths
:
-
report_cmd.html
-
report-junit.xml
-
report.html
-
Readme_IVAS_dec.txt
...
...
@@ -1348,6 +1352,7 @@ ivas-conformance-linux:
-
cp IVAS_cod IVAS_cod_ref
-
cp IVAS_dec IVAS_dec_ref
-
cp IVAS_rend IVAS_rend_ref
-
cp ISAR_post_rend ISAR_post_rend_ref
# Reference creation
-
python3 scripts/prepare_combined_format_inputs.py
...
...
Workspace_msvc/lib_com.vcxproj
View file @
600f3f77
Workspace_msvc/lib_lc3plus.vcxproj
View file @
600f3f77
...
...
@@ -106,7 +106,6 @@
<ClCompile
Include=
"..\lib_lc3plus\apply_global_gain.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\ari_codec.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\attack_detector.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_compute_stab_fac.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\constants.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\cutoff_bandwidth.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\dct4.c"
/>
...
...
@@ -116,13 +115,13 @@
<ClCompile
Include=
"..\lib_lc3plus\enc_entropy.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\enc_lc3_fl.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\estimate_global_gain.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\lc3plus_fft.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\imdct.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\lc3.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\lc3plus_fft.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\lc3plus.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\ltpf_coder.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\ltpf_decoder.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\mdct.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\mdct_shaping.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\mdct.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\near_nyquist_detector.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\noise_factor.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\noise_filling.c"
/>
...
...
@@ -133,35 +132,36 @@
<ClCompile
Include=
"..\lib_lc3plus\pc_update.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\per_band_energy.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_classify.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_compute_stab_fac.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_damping_scrambling.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_main.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_noise_substitution.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_tdc_tdac.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_update.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_phecu_f0_refine_first.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_phecu_fec_hq.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_phecu_hq_ecu.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_phecu_lf_peak_analysis.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_phecu_rec_frame.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_phecu_setf0hz.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_phecu_subst_spec.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_phecu_spec_ana.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_phecu_subst_spec.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_phecu_tba_per_band_gain.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_phecu_tba_spect_Xavg.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_phecu_tba_trans_dect_gains.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_phecu_trans_burst_ana_sub.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_tdc_tdac.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_tdc.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_update.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\quantize_spec.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\reorder_bitstream.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\resamp12k8.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\residual_coding.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\residual_decoding.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\setup_
dec
_lc3.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\setup_e
n
c_lc3.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\setup_
com
_lc3.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\setup_
com
_lc3
plus
.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\setup_
d
ec_lc3
plus
.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\setup_
enc
_lc3
plus
.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\sns_compute_scf.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\sns_interpolate_scf.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\sns_quantize_scf.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\plc_tdc.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\tns_coder.c"
/>
<ClCompile
Include=
"..\lib_lc3plus\tns_decoder.c"
/>
</ItemGroup>
...
...
@@ -169,14 +169,12 @@
<ClInclude
Include=
"..\lib_lc3plus\clib.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\constants.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\defines.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\file_io.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\functions.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\lc3.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\setup_dec_lc3.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\setup_enc_lc3.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\lc3plus.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\license.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\setup_dec_lc3plus.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\setup_enc_lc3plus.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\structs.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\tinywavein_c.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\tinywaveout_c.h"
/>
<ClInclude
Include=
"..\lib_lc3plus\util.h"
/>
</ItemGroup>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.targets"
/>
...
...
Workspace_msvc/lib_rend.vcxproj
View file @
600f3f77
...
...
@@ -175,6 +175,7 @@
<ClCompile
Include=
"..\lib_rend\ivas_rom_rend.c"
/>
<ClCompile
Include=
"..\lib_rend\ivas_shoebox.c"
/>
<ClCompile
Include=
"..\lib_rend\ivas_td_decorr.c"
/>
<ClCompile
Include=
"..\lib_rend\ivas_td_ring_buffer.c"
/>
<ClCompile
Include=
"..\lib_rend\ivas_vbap.c"
/>
<ClCompile
Include=
"..\lib_rend\lib_rend.c"
/>
</ItemGroup>
...
...
Workspace_msvc/lib_rend.vcxproj.filters
View file @
600f3f77
...
...
@@ -32,30 +32,12 @@
<ClCompile
Include=
"..\lib_rend\ivas_hrtf.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_lc3plus_common.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_lc3plus_dec.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_lc3plus_enc.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_limiter.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_masa_merge.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_mcmasa_ana.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_MSPred.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_NoiseGen.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_objectRenderer.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
...
...
@@ -83,15 +65,6 @@
<ClCompile
Include=
"..\lib_rend\ivas_output_init.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_PerceptualModel.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_PredDecoder.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_PredEncoder.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_render_config.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
...
...
@@ -113,9 +86,6 @@
<ClCompile
Include=
"..\lib_rend\ivas_reverb_utils.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_RMSEnvGrouping.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_rom_binaural_crend_head.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
...
...
@@ -134,24 +104,6 @@
<ClCompile
Include=
"..\lib_rend\ivas_sba_rendering.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_splitRend_lcld_dec.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_splitRend_lcld_enc.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_splitRenderer_utils.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_splitRendererPLC.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_splitRendererPost.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_splitRendererPre.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_shoebox.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
...
...
@@ -161,30 +113,15 @@
<ClCompile
Include=
"..\lib_rend\ivas_vbap.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_lcld_rom_tables.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_lcld_decoder.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_lcld_encoder.c"
>
<ClCompile
Include=
"..\lib_rend\ivas_td_decorr.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
<ClCompile
Include=
"..\lib_rend\ivas_td_
decor
r.c"
>
<ClCompile
Include=
"..\lib_rend\ivas_td_
ring_buffe
r.c"
>
<Filter>
rend_c
</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude
Include=
"..\lib_rend\lib_rend.h"
/>
<ClInclude
Include=
"..\lib_rend\ivas_lc3plus_common.h"
>
<Filter>
rend_h
</Filter>
</ClInclude>
<ClInclude
Include=
"..\lib_rend\ivas_lc3plus_enc.h"
>
<Filter>
rend_h
</Filter>
</ClInclude>
<ClInclude
Include=
"..\lib_rend\ivas_lc3plus_dec.h"
>
<Filter>
rend_h
</Filter>
</ClInclude>
<ClInclude
Include=
"..\lib_rend\ivas_prot_rend.h"
>
<Filter>
rend_h
</Filter>
</ClInclude>
...
...
@@ -203,12 +140,6 @@
<ClInclude
Include=
"..\lib_rend\ivas_rom_TdBinauralRenderer.h"
>
<Filter>
rend_h
</Filter>
</ClInclude>
<ClInclude
Include=
"..\lib_rend\ivas_lcld_prot.h"
>
<Filter>
rend_h
</Filter>
</ClInclude>
<ClInclude
Include=
"..\lib_rend\ivas_lcld_rom_tables.h"
>
<Filter>
rend_h
</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter
Include=
"rend_h"
>
...
...
apps/decoder.c
View file @
600f3f77
...
...
@@ -1617,6 +1617,18 @@ static bool parseCmdlIVAS_dec(
return
false
;
}
#ifdef SUPPORT_JBM_TRACEFILE
/* Validate options that depend on other options */
if
(
arg
->
jbmTraceFilename
!=
NULL
&&
arg
->
delayCompensationEnabled
/* This decMode check should be removed once timestamp sync issues between JBM trace and audio are fixed in EVS */
&&
arg
->
decMode
!=
IVAS_DEC_MODE_EVS
)
{
fprintf
(
stderr
,
"Error: Writing to a JBM trace file requires delay compensation to be disabled with -no_delay_cmp
\n\n
"
);
usage_dec
();
return
false
;
}
#endif
return
true
;
}
...
...
@@ -1653,7 +1665,8 @@ static void usage_dec( void )
fprintf
(
stdout
,
" EVS RTP Payload Format. The SDP parameter hf_only is required.
\n
"
);
fprintf
(
stdout
,
" Reading RFC4867 AMR/AMR-WB RTP payload format is not supported.
\n
"
);
#ifdef SUPPORT_JBM_TRACEFILE
fprintf
(
stdout
,
"-Tracefile TF : VoIP mode: Generate trace file named TF
\n
"
);
fprintf
(
stdout
,
"-Tracefile TF : VoIP mode: Generate trace file named TF. Requires -no_delay_cmp to
\n
"
);
fprintf
(
stdout
,
" be enabled so that trace contents remain in sync with audio output.
\n
"
);
#endif
#ifdef DEBUGGING
#ifdef VARIABLE_SPEED_DECODING
...
...
@@ -1858,13 +1871,13 @@ static ivas_error initOnFirstGoodFrame(
return
error
;
}
int16_t
*
zeroBuf
=
malloc
(
pcmFrameSize
*
sizeof
(
int16_t
)
);
/* Write zeros to the output audio buffer */
int16_t
*
zeroBuf
=
calloc
(
pcmFrameSize
,
sizeof
(
int16_t
)
);
if
(
zeroBuf
==
NULL
)
{
fprintf
(
stdout
,
"Error: Unable to allocate memory for output buffer.
\n
"
);
return
IVAS_ERR_FAILED_ALLOC
;
}
memset
(
zeroBuf
,
0
,
pcmFrameSize
*
sizeof
(
int16_t
)
);
for
(
int16_t
i
=
0
;
i
<
numInitialBadFrames
;
++
i
)
{
...
...
@@ -1888,7 +1901,6 @@ static ivas_error initOnFirstGoodFrame(
}
else
{
if
(
*
pRemainingDelayNumSamples
<
*
numOutSamples
)
{
if
(
(
error
=
AudioFileWriter_write
(
*
ppAfWriter
,
zeroBuf
,
*
numOutSamples
*
*
pNumOutChannels
-
(
*
pRemainingDelayNumSamples
*
*
pNumOutChannels
)
)
)
!=
IVAS_ERR_OK
)
...
...
apps/encoder.c
View file @
600f3f77
...
...
@@ -15,6 +15,7 @@
the software. This notice grants no license of any kind, including but not limited to patent
license, nor is any license granted by implication, estoppel or otherwise.
Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
contributions.
...
...
apps/isar_post_rend.c
View file @
600f3f77
...
...
@@ -681,6 +681,7 @@ int main(
int
argc
,
char
**
argv
)
{
bool
mainFailed
=
true
;
/* Assume main failed until cleanup is reached without errors */
ISAR_POST_REND_HANDLE
hIsarPostRend
=
NULL
;
RotFileReader
*
headRotReader
=
NULL
;
RotFileReader
*
externalOrientationFileReader
=
NULL
;
...
...
@@ -1222,6 +1223,8 @@ int main(
* Close files and deallocate resources
*------------------------------------------------------------------------------------------*/
mainFailed
=
false
;
/* This will stay set to true if cleanup is reached via a goto due to an error */
cleanup:
free
(
inpInt16Buffer
);
...
...
@@ -1252,7 +1255,7 @@ cleanup:
print_mem
(
NULL
);
#endif
return
0
;
return
mainFailed
?
-
1
:
0
;
}
...
...
apps/renderer.c
View file @
600f3f77
This diff is collapsed.
Click to expand it.
ci/basop-pages/basop_index.html
View file @
600f3f77
...
...
@@ -5,6 +5,10 @@
<body>
<h1>
Ivas BASOP code Development
</h1>
<h2>
Regression tracking
</h2>
<li><a
href=
"long_term_regression.html"
>
Long term regression
</a></li>
<h2>
Daily long testvector tests
</h2>
<ul>
...
...
ci/get_float_ref_branch_name.sh
View file @
600f3f77
...
...
@@ -53,7 +53,7 @@ fi
# Replace only the first occurrence, as "basop" may be present in the later description
# If the format is correct, then before "_basop", only numbers can occur
float_ref_branchname
=
"
${
branchname
/basop/ref
}
"
git_result
=
$(
git branch
-a
v
)
git_result
=
$(
git branch
-a
)
# If the branch does not exist, default to "float-pc"
if
[[
"
$git_result
"
=
~
"
$float_ref_branchname
"
]]
;
then
...
...
ci/process_long_term_logs.py
0 → 100644
View file @
600f3f77
import
os
import
pandas
as
pd
import
argparse
import
plotly.express
as
px
import
plotly.graph_objects
as
go
from
plotly.subplots
import
make_subplots
def
read_csv_files
(
root_dir
):
"""
Read csv files as dictionary of panda dataframes.
"""
csv_data
=
{}
for
subdir
,
dirs
,
files
in
os
.
walk
(
root_dir
):
for
file
in
files
:
if
file
.
endswith
(
"
.csv
"
):
file_path
=
os
.
path
.
join
(
subdir
,
file
)
try
:
df
=
pd
.
read_csv
(
file_path
)
csv_data
[
file_path
]
=
df
except
Exception
as
e
:
print
(
f
"
Failed to read
{
file_path
}
:
{
e
}
"
)
exit
(
-
1
)
return
csv_data
def
parse_csv_data
(
csv_data
):
"""
keep
'
testcase
'
,
'
format
'
,
'
MLD
'
,
'
MAX_ABS_DIFF
'
and add
'
date
'
column.
"""
cols_to_keep
=
[
"
testcase
"
,
"
format
"
,
"
MLD
"
,
"
MAX_ABS_DIFF
"
]
parsed_data
=
{}
for
key
,
df
in
csv_data
.
items
():
cols
=
[
col
for
col
in
cols_to_keep
if
col
in
df
.
columns
]
date
=
os
.
path
.
basename
(
os
.
path
.
dirname
(
key
))
new_df
=
df
[
cols
].
copy
()
new_df
[
"
date
"
]
=
date
parsed_data
[
key
]
=
new_df
# concatenate all dataframe in the dictionary
concat_df
=
pd
.
concat
(
parsed_data
.
values
(),
ignore_index
=
True
)
return
concat_df
def
plot_data
(
df
,
output_filename
):
"""
plot max values for
'
MLD
'
and
'
MAX_ABS_DIFF
'
data and save
to html file.
"""
# Convert 'date' to datetime
df
[
"
date
"
]
=
pd
.
to_datetime
(
df
[
"
date
"
],
errors
=
"
coerce
"
)
df
[
"
MLD
"
]
=
pd
.
to_numeric
(
df
[
"
MLD
"
],
errors
=
"
coerce
"
)
df
[
"
MAX_ABS_DIFF
"
]
=
pd
.
to_numeric
(
df
[
"
MAX_ABS_DIFF
"
],
errors
=
"
coerce
"
)
# Drop rows with NaT and NaN
clean_df
=
df
.
dropna
(
subset
=
[
"
date
"
,
"
MLD
"
,
"
MAX_ABS_DIFF
"
])
# Group by 'format' and 'date' to get rows with max 'MLD' per group
max_mld
=
(
clean_df
.
groupby
([
"
format
"
,
"
date
"
])
.
apply
(
lambda
x
:
x
.
loc
[
x
[
"
MLD
"
].
idxmax
()])
.
reset_index
(
drop
=
True
)
)
# Group by 'format' and 'date' to get rows with max 'MAX_ABS_DIFF' per
# group
max_abs_diff
=
(
clean_df
.
groupby
([
"
format
"
,
"
date
"
])
.
apply
(
lambda
x
:
x
.
loc
[
x
[
"
MAX_ABS_DIFF
"
].
idxmax
()])
.
reset_index
(
drop
=
True
)
)
formats
=
sorted
(
clean_df
[
"
format
"
].
unique
())
fig
=
make_subplots
(
rows
=
5
,
cols
=
2
,
specs
=
[[{
"
secondary_y
"
:
True
}]
*
2
]
*
5
,
subplot_titles
=
[
f
"
{
i
}
"
for
i
in
formats
],
shared_xaxes
=
"
columns
"
,
)
for
i
,
fmt
in
enumerate
(
formats
):
row
=
i
//
2
+
1
col
=
i
%
2
+
1
data_mld
=
max_mld
[
max_mld
[
"
format
"
]
==
fmt
].
sort_values
(
"
date
"
)
data_diff
=
max_abs_diff
[
max_abs_diff
[
"
format
"
]
==
fmt
].
sort_values
(
"
date
"
)
# Add max 'MLD' to primary y-axis
fig
.
add_trace
(
go
.
Scatter
(
x
=
data_mld
[
"
date
"
],
y
=
data_mld
[
"
MLD
"
],
mode
=
"
lines+markers
"
,
name
=
f
"
{
fmt
}
- Max MLD
"
,
hovertext
=
[
f
"
Testcase:
{
tc
}
<br>MLD:
{
mld
:
.
4
f
}
<br>MAX_ABS_DIFF:
"
f
"
{
abs_diff
}
<br>Format:
"
f
"
{
format
}
<br>Date:
{
date
.
date
()
}
"
for
tc
,
mld
,
abs_diff
,
format
,
date
in
zip
(
data_mld
[
"
testcase
"
],
data_mld
[
"
MLD
"
],
data_mld
[
"
MAX_ABS_DIFF
"
],
data_mld
[
"
format
"
],
data_mld
[
"
date
"
],
)
],
hoverinfo
=
"
text
"
,
),
row
=
row
,
col
=
col
,
secondary_y
=
False
,
)
# Add max 'MAX_ABS_DIFF' to secondary y-axis
fig
.
add_trace
(
go
.
Scatter
(
x
=
data_diff
[
"
date
"
],
y
=
data_diff
[
"
MAX_ABS_DIFF
"
],
mode
=
"
lines+markers
"
,
name
=
f
"
{
fmt
}
- Max MAX_ABS_DIFF
"
,
hovertext
=
[
f
"
Testcase:
{
tc
}
<br>MLD:
{
mld
:
.
4
f
}
<br>MAX_ABS_DIFF:
"
f
"
{
abs_diff
:
.
4
f
}
<br>Format:
"
f
"
{
format
}
<br>Date:
{
date
.
date
()
}
"
for
tc
,
mld
,
abs_diff
,
format
,
date
in
zip
(
data_diff
[
"
testcase
"
],
data_diff
[
"
MLD
"
],
data_diff
[
"
MAX_ABS_DIFF
"
],
data_diff
[
"
format
"
],
data_diff
[
"
date
"
],
)
],
hoverinfo
=
"
text
"
,
),
row
=
row
,
col
=
col
,
secondary_y
=
True
,
)
fig
.
update_layout
(
title_text
=
"
Long-term regression: max MLD and max MAX_ABS_DIFF
"
,
legend
=
dict
(
x
=
1
,
y
=
1
,
orientation
=
"
v
"
),
hovermode
=
"
x unified
"
,
)
fig
.
update_xaxes
(
automargin
=
True
)
fig
.
update_yaxes
(
automargin
=
True
)
# Update y-axes titles per subplot
for
i
in
range
(
10
):
yaxis_num
=
i
*
2
+
1
yaxis2_num
=
yaxis_num
+
1
fig
[
"
layout
"
][
f
"
yaxis
{
yaxis_num
}
"
].
update
(
title
=
"
Max MLD
"
,
titlefont
=
dict
(
color
=
"
blue
"
),
tickfont
=
dict
(
color
=
"
blue
"
)
)
fig
[
"
layout
"
][
f
"
yaxis
{
yaxis2_num
}
"
].
update
(
title
=
"
Max MAX_ABS_DIFF
"
,
titlefont
=
dict
(
color
=
"
green
"
),
tickfont
=
dict
(
color
=
"
green
"
),
)
# Save to html
fig
.
write_html
(
output_filename
)
if
__name__
==
"
__main__
"
:
parser
=
argparse
.
ArgumentParser
(
description
=
"
Plot long term logs
"
)
parser
.
add_argument
(
"
root_dir
"
,
type
=
str
,
help
=
"
Root directory containing subdirectories
"
"
with CSV log files
"
,
)
parser
.
add_argument
(
"
output_filename
"
,
type
=
str
,
help
=
"
Filename of the generated plot. e.g
"
"
. long_term_regression.html
"
,
)
args
=
parser
.
parse_args
()
csv_data
=
read_csv_files
(
args
.
root_dir
)
data
=
parse_csv_data
(
csv_data
)
plot_data
(
data
,
args
.
output_filename
)
ci/remove_unsupported_testcases.py
View file @
600f3f77
...
...
@@ -104,8 +104,9 @@ TESTCASES_MAIN_PC = [
"
Multi-channel 5_1 bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 16kHz out, BINAURAL_ROOM_REVERB out
"
,
"
OSBA 2OA 2ISM bitrate switching, 32kHz in, 48kHz out, BINAURAL_ROOM_REVERB out, JBM Prof 5
"
,
]
TESTCASES_MAIN_PC_REENABLE
=
[
"
4 ISM with extended metadata at 128 kbps, 48 kHz in, 48 kHz out, BINAURAL_ROOM_REVERB out, rendconf dir w id
"
,
]
def
remove_testcases
(
cfg
:
Path
,
testcases
:
list
):
"""
Go through file line by line and copy all testcases except the given ones
...
...
@@ -136,7 +137,11 @@ if __name__ == "__main__":
testcases
=
TESTCASES_MAIN
if
args
.
use_main_pc_set
:
# Add further unsupported test cases
testcases
.
extend
(
TESTCASES_MAIN_PC
)
# Re-enable test cases that are now supported
for
case
in
TESTCASES_MAIN_PC_REENABLE
:
testcases
.
remove
(
case
)
for
f
in
args
.
cfg_files
:
remove_testcases
(
f
,
testcases
)
ci/setup_pages.py
View file @
600f3f77
...
...
@@ -69,6 +69,7 @@ JOBS_BASOP_REPO = {
"
complexity-stereo-in-stereo-out
"
:
"
Stereo in, Stereo out
"
,
# "timeless" jobs (not complexity)
"
coverage-test-on-main-scheduled
"
:
"
Coverage
"
,
"
ivas-long-term-job-logs-overview
"
:
"
Long term logs
"
,
}
JOBS_FOR_PROJECT_ID
=
{
...
...
ci/smoke_test.sh
View file @
600f3f77
...
...
@@ -52,7 +52,6 @@ else
usage
fi
cfg
=
./scripts/config/ci_linux.json
dly_profile
=
./scripts/dly_error_profiles/dly_error_profile_10_smoke_test.dat
ism_md_cmd
=
"--ism_metadata_files /usr/local/ltv/ltvISM1.csv /usr/local/ltv/ltvISM2.csv /usr/local/ltv/ltvISM3.csv /usr/local/ltv/ltvISM4.csv"
...
...
@@ -77,10 +76,6 @@ if [ $BUILD -eq 1 ];then
fi
# prepare combined format test signals
echo
-e
"
\n
======================= 0. preparing combined format test inputs =======================
\n\n
"
./scripts/prepare_combined_format_inputs.py
# run all modes vanilla-fashion
# treat ISM modes separately because passing the metadata files to MASA modes causes crashes
readarray
-t
ism_modes < <
(
./scripts/runIvasCodec.py
-l
|
grep
ISM
)
...
...
ci/smoke_test_complexity.sh
View file @
600f3f77
...
...
@@ -61,10 +61,6 @@ duration_arg=""
complexity_cmd
=
"--checks COMPLEXITY --create_complexity_tables"
max_num_workers
=
"--max_workers
$MAX_CORES
"
# prepare combined format test signals
echo
"
\n
======================= 0. preparing combined format test inputs =======================
\n\n
"
./scripts/prepare_combined_format_inputs.py
# Modes
mono_modes
=
$(
./scripts/IvasBuildAndRunChecks.py
-l
|
grep
^mono
)
FOA_modes
=
$(
./scripts/IvasBuildAndRunChecks.py
-l
|
grep
^FOA
)
...
...
@@ -91,7 +87,6 @@ ISM_plus2_modes=$(./scripts/IvasBuildAndRunChecks.py -l | grep ^ISM+2)
ISM_plus3_modes
=
$(
./scripts/IvasBuildAndRunChecks.py
-l
|
grep
^ISM+3
)
ISM_plus4_modes
=
$(
./scripts/IvasBuildAndRunChecks.py
-l
|
grep
^ISM+4
)
echo
"
\n
======================= 1. Mono =======================
\n\n
"
./scripts/IvasBuildAndRunChecks.py
$complexity_cmd
ltv_complexity_mono_no_fec
-m
$mono_modes
-p
$cfg
$duration_arg
$max_num_workers
|
tee
smoke_test_output_mono.txt
rm
-r
./COMPLEXITY/dec/
...
...
lib_com/bits_alloc.c
View file @
600f3f77
...
...
@@ -552,7 +552,6 @@ ivas_error config_acelp1(
const
int16_t
tdm_lp_reuse_flag
,
/* i : LPC reuse flag (can be 1 only with secondary channel */
const
int16_t
tdm_low_rate_mode
,
/* i : secondary channel low rate mode flag */
const
int16_t
idchan
,
/* i : stereo channel ID */
const
int16_t
active_cnt
,
/* i : Active frame counter */
const
int16_t
tdm_Pitch_reuse_flag
,
/* i : primary channel pitch reuse flag*/
const
int16_t
tdm_LRTD_flag
,
/* i : LRTD stereo mode flag */
const
int16_t
GSC_IVAS_mode
/* i : GSC IVAS mode */
...
...
@@ -770,7 +769,7 @@ ivas_error config_acelp1(
bits
-=
acelp_cfg
->
mid_lsf_bits
;
}
else
if
(
tdm_lp_reuse_flag
==
1
&&
idchan
==
1
&&
active_cnt
!=
1
)
else
if
(
tdm_lp_reuse_flag
==
1
&&
idchan
==
1
)
{
bits
-=
TDM_IC_LSF_PRED_BITS
;
}
...
...
lib_com/bitstream.c
View file @
600f3f77
This diff is collapsed.
Click to expand it.
lib_com/cnst.h
View file @
600f3f77
...
...
@@ -524,6 +524,7 @@ enum
#define ACELP_TCX_TRANS_NS 1250000
/* Duration of the ACELP->TCX overlap - 1.25 ms */
#define L_FRAME_MAX L_FRAME48k
/* Max 20ms frame size @48kHz */
#define L_FRAME_PLUS 1200
/* Max frame size (long TCX frame) */
#define L_FRAME_PLUS_INTERNAL 800
/* Max frame size (long TCX frame) at maximum internal sampling rate */
#define L_MDCT_OVLP_MAX NS2SA( 48000, ACELP_LOOK_NS )
/* = Max mdct overlap */
#define N_TCX10_MAX 480
/* Max size of TCX10 MDCT spectrum */
#define BITS_TEC 1
/* number of bits for TEC */
...
...
lib_com/common_api_types.h
View file @
600f3f77
...
...
@@ -50,8 +50,7 @@
#define IVAS_MAX_BITS_PER_FRAME ( 512000 / IVAS_NUM_FRAMES_PER_SEC )
/* maximum bits per frame; corresponds to maximum bitrate of 512 kbps */
#define IVAS_MAX_NUM_OBJECTS 4
#define IVAS_MAX_INPUT_CHANNELS 16
#define IVAS_MAX_OUTPUT_CHANNELS 16
/* Note: there is an exception for OSBA and EXT otuput where it can be 20 (HOA3 + 4 ISM channels) */
#define IVAS_MAX_LS_CHANNELS 16
#define IVAS_CLDFB_NO_COL_MAX 16
#define IVAS_CLDFB_NO_CHANNELS_MAX 60
...
...
@@ -190,10 +189,10 @@ typedef struct ivas_LS_setup_custom IVAS_LSSETUP_CUSTOM_STRUCT;
typedef
struct
_IVAS_LS_CUSTOM_LAYOUT
{
int16_t
num_spk
;
float
azimuth
[
IVAS_MAX_
OUTPUT
_CHANNELS
];
float
elevation
[
IVAS_MAX_
OUTPUT
_CHANNELS
];
float
azimuth
[
IVAS_MAX_
LS
_CHANNELS
];
float
elevation
[
IVAS_MAX_
LS
_CHANNELS
];
int16_t
num_lfe
;
int16_t
lfe_idx
[
IVAS_MAX_
OUTPUT
_CHANNELS
];
int16_t
lfe_idx
[
IVAS_MAX_
LS
_CHANNELS
];
}
IVAS_CUSTOM_LS_DATA
;
...
...
Prev
1
2
3
4
5
…
30
Next