Complexity: High complexity overhead for OSBA Decoding
# Basic info - Encoder (float): 311956f313e57b6dbe82612ab3b366dcd9f129ea (ivas-float-update) - Decoder: c52e9fe3d48e95db1c6d2f24f4654d1d836c32a5 # Bug description Big complexity overhead for BASOP, especially when rendering to BINAURAL Float (binaural): \--- Complexity analysis \[WMOPS\] --- ``` |------ SELF ------| |--- CUMULATIVE ---| routine calls min max avg min max avg --------------- ------ ------ ------ ------ ------ ------ ------ ivas_jbm_dec_tc 1.00 5.778 5.778 5.778 37.314 51.918 45.428 ivas_spar_decode 1.00 1.733 1.935 1.849 8.438 9.282 8.971 ivas_spar_dec_MD 1.00 6.592 7.379 7.121 6.592 7.379 7.121 ivas_cpe_dec 1.00 0.867 6.848 3.994 22.845 37.091 30.680 ivas_core_dec 1.00 1.072 1.097 1.096 21.426 30.664 26.686 stereo_mdct_core_dec 1.00 14.992 23.226 19.543 20.329 29.568 25.589 mdct_core_invQ 1.00 4.933 7.197 6.046 4.933 7.197 6.046 ivas_jbm_dec_feed_tc_to_rendererer 1.00 0.425 0.425 0.425 0.425 0.425 0.425 ivas_dec_render 1.00 64.129 67.372 66.516 82.294 86.027 84.731 ivas_sba_prototype_renderer 4.00 8.929 9.649 9.649 8.929 9.649 9.649 dirac_decorr_process 16.00 8.278 9.045 8.566 8.278 9.045 8.566 --------------- ------ ------ ------ ------ total 1000.00 120.955 161.295 130.677 ``` Float (EXT) ``` --- Complexity analysis [WMOPS] --- |------ SELF ------| |--- CUMULATIVE ---| routine calls min max avg min max avg --------------- ------ ------ ------ ------ ------ ------ ------ ivas_jbm_dec_tc 1.00 1.899 1.900 1.899 33.902 48.505 42.015 ivas_spar_decode 1.00 1.733 1.935 1.849 8.698 9.542 9.230 ivas_spar_dec_MD 1.00 6.852 7.639 7.381 6.852 7.639 7.381 ivas_cpe_dec 1.00 0.867 6.848 3.994 22.845 37.091 30.680 ivas_core_dec 1.00 1.072 1.097 1.096 21.426 30.664 26.686 stereo_mdct_core_dec 1.00 14.992 23.226 19.543 20.329 29.568 25.589 mdct_core_invQ 1.00 4.933 7.197 6.046 4.933 7.197 6.046 ivas_spar_dec_agc_pca 1.00 0.206 0.206 0.206 0.206 0.206 0.206 ivas_jbm_dec_feed_tc_to_rendererer 1.00 12.595 13.555 12.715 12.595 13.555 12.715 ivas_dec_render 1.00 20.592 20.601 20.594 199.272 202.268 202.011 ivas_spar_dec_upmixer_sf 4.00 125.806 128.804 128.547 178.677 181.675 181.417 ivas_dirac_dec_render 4.00 49.830 49.869 49.869 52.832 52.870 52.870 dirac_decorr_process 16.00 3.002 3.002 3.002 3.002 3.002 3.002 --------------- ------ ------ ------ ------ total 1000.00 247.473 290.528 256.839 ``` BASOP (Binaural): ``` Weighted MOPS Analysis: |------ SELF ------| |--- CUMULATIVE ---| routine calls/fr min max avg min max avg ------------------------ ------ ------ ------ ------ ------ ------ ------ ivas_jbm_dec_tc 1.00 9.540 9.837 9.617 58.601 72.182 66.205 ivas_spar_decode 1.00 1.985 2.156 2.088 7.699 8.132 7.957 ivas_spar_dec_MD 1.00 5.640 6.007 5.869 5.640 6.007 5.869 ivas_cpe_dec 1.00 1.952 7.491 4.836 41.139 54.556 48.631 ivas_core_dec 1.00 4.721 4.915 4.913 38.968 48.155 43.795 stereo_mdct_core_dec 1.00 28.539 36.535 32.831 34.055 43.242 38.882 mdct_core_invQ 1.00 5.259 6.882 6.051 5.259 6.882 6.051 ivas_jbm_dec_feed_tc_to_rendererer 1.00 0.211 0.211 0.211 0.211 0.211 0.211 ivas_dec_render 1.00 189.033 231.877 229.215 231.030 277.622 273.539 ivas_sba_prototype_renderer 4.00 10.441 10.693 10.693 2.643 2.673 2.673 dirac_decorr_process 16.00 30.770 35.933 33.631 1.916 2.281 2.103 ----------------- ------ ------ ------ ------ total 1000.00 296.862 347.733 339.954 ``` BASOP (EXT) ``` Weighted MOPS Analysis: |------ SELF ------| |--- CUMULATIVE ---| routine calls/fr min max avg min max avg ------------------------ ------ ------ ------ ------ ------ ------ ------ ivas_jbm_dec_tc 1.00 8.269 8.565 8.346 57.580 71.160 65.184 ivas_spar_decode 1.00 1.985 2.156 2.088 7.750 8.182 8.007 ivas_spar_dec_MD 1.00 5.690 6.058 5.919 5.690 6.058 5.919 ivas_cpe_dec 1.00 1.952 7.491 4.836 41.139 54.556 48.631 ivas_core_dec 1.00 4.721 4.915 4.913 38.968 48.155 43.795 stereo_mdct_core_dec 1.00 28.539 36.535 32.831 34.055 43.242 38.882 mdct_core_invQ 1.00 5.259 6.882 6.051 5.259 6.882 6.051 ivas_spar_dec_agc_pca 1.00 0.200 0.200 0.199 0.200 0.200 0.199 ivas_jbm_dec_feed_tc_to_rendererer 1.00 16.314 29.260 17.931 16.314 29.260 17.931 ivas_dec_render 1.00 15.694 15.701 15.696 235.267 244.401 242.057 ivas_spar_dec_upmixer_sf 4.00 121.627 125.563 125.309 53.721 56.060 55.447 ivas_dirac_dec_render 4.00 91.021 97.544 95.427 24.181 25.840 25.272 dirac_decorr_process 16.00 5.407 6.366 5.626 0.338 0.399 0.352 ----------------- ------ ------ ------ ------ total 1000.00 313.423 337.662 325.172 ``` For both cases, it's apparently the function `ivas_dirac_dec_render` which has a bigger overhead. # Ways to reproduce * Binaural: IVAS_dec BINAURAL 48 stvOSBA_1ISM_FOA48c_64kbps.192 out.wav * EXT: IVAS_dec EXT 48 stvOSBA_1ISM_FOA48c_64kbps.192 out.wav Bitstream: [stvOSBA_1ISM_FOA48c_64kbps.192](/uploads/1663e77c751c76e513c0b841837e2bd2/stvOSBA_1ISM_FOA48c_64kbps.192)
issue