Complexity: High Complexity Overhead for ParamMC decoding
Basic info
Bug description
Decoding of 7.1.4 for ParamMC exhibits a high complexity overhead compared to float. Overall complexity
BASOP | Float | |
---|---|---|
WMOPS max. | 1341.750 | 338.559 |
WMOPS min. | 1211.355 | 310.099 |
WMOPS avg. | 1281.323 | 326.790 |
Seems that the main culprits are svd, param_mc_dec_render and dirac_decorr_process:
BASOP | Float | |
---|---|---|
svd | 639.624 | 93.648 |
param_mc_dec_render | 267.259 | 90.318 |
dirac_decorr_process | 230.343 | 52.627 |
Full printout Float:
|------ SELF ------| |--- CUMULATIVE ---|
routine calls min max avg min max avg
--------------- ------ ------ ------ ------ ------ ------ ------
ivas_jbm_dec_tc 1.00 18.891 18.891 18.891 59.448 77.968 71.371
param_mc_read_bs 1.00 1.342 1.429 1.378 1.342 1.429 1.378
ivas_mct_dec 1.00 22.562 34.625 29.780 39.144 57.715 51.102
ivas_cpe_dec 2.00 0.106 0.107 0.106 0.990 1.037 1.036
ivas_core_dec 2.00 0.883 0.931 0.930 0.883 0.931 0.930
mdct_core_invQ 2.00 9.161 11.758 10.779 9.161 11.758 10.779
mct_decoding 1.00 3.649 13.618 9.508 3.649 13.618 9.508
ivas_jbm_dec_feed_tc_to_rendererer 1.00 0.007 0.007 0.007 90.074 114.130 102.862
param_mc_dec_digest_tc 1.00 6.542 9.319 9.180 90.067 114.123 102.855
dirac_cov_mix_mat 14.00 6.206 6.209 6.207 34.099 44.136 39.421
svd 64.00 69.497 93.648 82.423 69.497 93.648 82.423
dirac_cov_mix_mat_r 11.00 5.044 5.045 5.044 46.310 61.087 54.253
ivas_dec_render 1.00 13.432 13.438 13.434 151.479 156.381 152.422
param_mc_dec_render 1.00 90.318 90.318 90.318 138.046 142.945 138.989
dirac_decorr_process 16.00 47.728 52.627 48.671 47.728 52.627 48.671
--------------- ------ ------ ------ ------
total 150.00 310.099 338.559 326.790
Full printout BASOP:
Weighted MOPS Analysis:
|------ SELF ------| |--- CUMULATIVE ---|
routine calls/fr min max avg min max avg
------------------------ ------ ------ ------ ------ ------ ------ ------
ivas_jbm_dec_tc 1.00 24.515 24.735 24.551 93.151 109.647 103.730
param_mc_read_bs 1.00 0.922 0.975 0.939 0.922 0.975 0.939
ivas_mct_dec 1.00 41.622 53.147 48.838 67.622 84.167 78.240
ivas_cpe_dec 2.00 1.986 2.178 1.987 2.061 2.132 2.062
ivas_core_dec 2.00 2.087 2.139 2.138 1.044 1.069 1.069
mdct_core_invQ 2.00 9.167 10.983 10.150 2.330 3.757 3.067
mct_decoding 1.00 9.610 19.220 15.127 9.610 19.220 15.127
ivas_jbm_dec_feed_tc_to_rendererer 1.00 0.357 0.357 0.357 615.093 741.416 681.751
param_mc_dec_digest_tc 1.00 18.642 28.350 27.776 614.736 741.059 681.394
dirac_cov_mix_mat 14.00 33.666 33.722 33.699 15.641 23.030 18.574
svd_fx 64.00 513.450 639.624 580.535 1.303 1.865 1.589
dirac_cov_mix_mat_r 11.00 39.302 39.444 39.384 25.426 40.029 32.990
ivas_dec_render 1.00 14.447 15.068 15.058 466.105 512.627 495.842
param_mc_dec_render 1.00 267.204 267.259 267.241 451.658 497.586 480.783
dirac_decorr_process 16.00 184.421 230.343 213.543 13.080 14.811 13.364
----------------- ------ ------ ------ ------
total 150.00 1211.355 1341.750 1281.323
Ways to reproduce
Follow steps to instrument and build case as in https://forge.3gpp.org/rep/sa4/audio/ivas-basop/-/wikis/Complexity-evaluation.
- ./IVAS_cod -mc 7_1_4 128000 48 testv/stv714MC48c.wav stv714MC48c_128kbps.192
- ./IVAS_dec 7_1_4 48 stv714MC48c_128kbps.192 out.wav
Bitstream: stv714MC48c_128kbps.192
Edited by multrus