[non-be][rend-non-be][split-non-be][allow-regression] Optimize eig2x2.
Closes #2193
- Requested reviewers: @vaillancour @dettbarn @gerstacker
Reason why this change is needed
The current implementation of eig2x2_fx is too complex and can be simplified.
Description of the change
This non-bit-exact optimisation simplifies the eig2x2_fx function.
Complexity analysis
How to reproduce?
IVAS_cod -sba 3 13200 32 scripts/testv/stv3OA32c.wav enc.bit
IVAS_dec BINAURAL 32 enc.bit dec.wav
Before:
--- Complexity analysis [WMOPS] ---
|------ SELF ------| |--- CUMULATIVE ---|
routine calls min max avg min max avg
--------------- ------ ------ ------ ------ ------ ------ ------
ivas_jbm_dec_tc 1.00 1.891 1.915 1.915 26.345 38.997 29.528
ivas_spar_decode 1.00 1.010 1.041 1.019 2.544 2.684 2.628
ivas_spar_dec_MD 1.00 1.526 1.665 1.609 1.526 1.665 1.609
ivas_sce_dec 1.00 0.246 0.246 0.246 21.794 34.495 24.986
ivas_core_dec 1.00 3.152 11.390 7.909 21.548 34.249 24.739
acelp_core_dec 0.61 12.851 19.168 14.578 12.851 19.168 14.578
ivas_dec_prepare_renderer 1.00 7.068 8.724 7.173 7.068 8.724 7.173
ivas_dec_render 1.00 77.336 88.019 87.518 81.487 92.277 91.775
ivas_sba_prototype_renderer 4.00 3.922 4.258 4.258 3.922 4.258 4.258
stereo_tcx_core_dec 0.39 17.651 31.015 20.324 17.651 31.015 20.324
--------------- ------ ------ ------ ------
total 1000.00 119.955 138.376 128.477
After:
--- Complexity analysis [WMOPS] ---
|------ SELF ------| |--- CUMULATIVE ---|
routine calls min max avg min max avg
--------------- ------ ------ ------ ------ ------ ------ ------
ivas_jbm_dec_tc 1.00 1.891 1.915 1.915 26.345 38.997 29.528
ivas_spar_decode 1.00 1.010 1.041 1.019 2.544 2.684 2.628
ivas_spar_dec_MD 1.00 1.526 1.665 1.609 1.526 1.665 1.609
ivas_sce_dec 1.00 0.246 0.246 0.246 21.794 34.495 24.986
ivas_core_dec 1.00 3.152 11.390 7.909 21.548 34.249 24.739
acelp_core_dec 0.61 12.851 19.168 14.578 12.851 19.168 14.578
ivas_dec_prepare_renderer 1.00 7.068 8.724 7.173 7.068 8.724 7.173
ivas_dec_render 1.00 76.691 84.786 84.385 80.842 89.044 88.643
ivas_sba_prototype_renderer 4.00 3.922 4.258 4.258 3.922 4.258 4.258
stereo_tcx_core_dec 0.39 17.651 31.015 20.324 17.651 31.015 20.324
--------------- ------ ------ ------ ------
total 1000.00 119.309 135.316 125.344
Regressions/Improvements Analysis
Regressions:
- short-dec-0db
3 regressions: max MAX_ABS_DIFF-diff 454 - short-dec-+10db
5 regressions: max MAX_ABS_DIFF-diff 327 - short-dec--10db
5 regressions: max MAX_ABS_DIFF-diff 630
Improvements:
- short-dec-0db
35 improvements: min MAX_ABS_DIFF-diff -886 - short-dec-+10db
22 improvements: min MAX_ABS_DIFF-diff -706 - short-dec--10db
35 improvements: min MAX_ABS_DIFF-diff -1021
Edited by Nicolas Roussin