Skip to content

Complexity: High complexity overhead for OSBA Decoding

Basic info

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