Skip to content

[Complexity] Investigate Complexity Overhead Stereo Decoding

Basic info

  • Float reference:
  • Fixed point:
    • Encoder (fixed): n/a
    • Decoder (fixed): 4c0dfa80

Bug description

For stereo decoding, there is an approx. 30% complexity overhead for the BASOP decoder over float at 32 kbit/s:

Float:

 --- Complexity analysis [WMOPS] ---  

                                                  |------  SELF  ------|   |---  CUMULATIVE  ---|
                               routine    calls     min     max     avg      min     max     avg 
                       ---------------   ------   ------  ------  ------   ------  ------  ------
                       ivas_jbm_dec_tc     1.00    1.276   1.282   1.276   31.073  63.608  46.188
                          ivas_cpe_dec     1.00    2.435  14.887   7.863   29.797  62.332  44.912
                       residual_decode     0.98    0.013   0.493   0.352    0.013   0.493   0.352
                         ivas_core_dec     1.00    0.401  21.846   6.631   13.837  55.594  27.102
                        acelp_core_dec     0.48   12.216  32.700  16.790   13.773  34.882  18.940
                            ApplyFdCng     0.95    0.008   2.287   2.161    0.008   2.287   2.161
                          DFT_analysis     3.31    3.356   5.704   4.432    3.356   5.704   4.432
                           gen_respred     1.95    0.114   1.004   0.744    0.114   1.004   0.744
                         DFT_synthesis     1.95    8.219   8.223   8.219    8.219   8.223   8.219
    ivas_jbm_dec_feed_tc_to_rendererer     1.00    0.014   0.014   0.014    0.014   0.014   0.014
                       ivas_dec_render     1.00    2.481   3.308   2.848    2.481   3.308   2.848
                   stereo_tcx_core_dec     0.49    9.701  19.258  13.596   11.915  21.402  15.764
                           hq_core_dec     0.05    8.709  12.225  10.864    8.709  12.225  10.864
                       ---------------   ------   ------  ------  ------
                                 total 10325.00   33.601  66.957  49.083

BASOP:

 --- Complexity analysis [WMOPS] ---  

                                                  |------  SELF  ------|   |---  CUMULATIVE  ---|
                               routine    calls     min     max     avg      min     max     avg 
                       ---------------   ------   ------  ------  ------   ------  ------  ------
                       ivas_jbm_dec_tc     1.00    6.254   6.555   6.351   36.259  85.567  57.150
                          ivas_cpe_dec     1.00    3.955  17.533   8.374   29.900  79.225  50.799
                       residual_decode     0.98    0.013   0.314   0.231    0.013   0.314   0.231
                         ivas_core_dec     1.00    2.844  38.012  12.815   15.102  68.121  34.022
                        acelp_core_dec     0.48   11.765  33.704  17.562   11.765  33.704  17.562
                          DFT_analysis     3.31    3.528   5.953   4.596    3.528   5.953   4.596
                           gen_respred     1.95    0.089   0.847   0.620    0.089   0.847   0.620
                         DFT_synthesis     1.95    6.940   6.941   6.940    6.940   6.941   6.940
    ivas_jbm_dec_feed_tc_to_rendererer     1.00    0.010   0.010   0.010    0.010   0.010   0.010
                       ivas_dec_render     1.00    1.695   2.568   2.082    1.695   2.568   2.082
                   stereo_tcx_core_dec     0.49   14.551  23.254  19.254   14.551  23.254  19.254
                       ---------------   ------   ------  ------  ------
                                 total 10325.00   37.965  88.138  59.242

From the default print-out, the two biggest outliers are

  • ivas_jbm_dec_tc()
  • ivas_core_dec()

Ways to reproduce

  • ./IVAS_dec stereo 48 ltv48_STEREO_32kbps.192 out.wav

Bitstream (compressed using zip): ltv48_STEREO_32kbps.zip