Skip to content

Resolve "[Complexity] Optimize ivas_dirac_dec_decorr_process_fx()"

Closes #1110 (closed). The proposed optimization is not BE, however the differences are small.

For the testcase described in #1010 (closed):

Without optimization:

--- Complexity analysis [WMOPS] ---  

                                                  |------  SELF  ------|   |---  CUMULATIVE  ---|
                               routine    calls     min     max     avg      min     max     avg 
                       ---------------   ------   ------  ------  ------   ------  ------  ------
                       ivas_jbm_dec_tc     1.00   24.500  24.720  24.536   93.301 109.553 103.716
                      param_mc_read_bs     1.00    0.922   0.973   0.939    0.922   0.973   0.939
                          ivas_mct_dec     1.00   41.789  53.174  48.838   67.788  84.086  78.240
                          ivas_cpe_dec     2.00    1.986   2.178   1.987    4.123   4.264   4.124
                         ivas_core_dec     2.00    2.086   2.138   2.137    2.086   2.138   2.137
                        mdct_core_invQ     2.00    9.167  10.982  10.150    9.167  10.982  10.150
                          mct_decoding     1.00    9.610  19.220  15.128    9.610  19.220  15.128
    ivas_jbm_dec_feed_tc_to_rendererer     1.00    0.357   0.357   0.357  615.076 741.400 681.734
                param_mc_dec_digest_tc     1.00   18.633  28.346  27.771  614.720 741.043 681.377
                     dirac_cov_mix_mat    14.00   33.666  33.722  33.699  242.244 294.582 269.790
                                svd_fx    64.00  513.440 639.615 580.525  513.440 639.615 580.525
                   dirac_cov_mix_mat_r    11.00   39.300  39.442  39.382  344.135 422.395 383.816
                       ivas_dec_render     1.00   14.447  15.068  15.058  464.341 510.863 494.078
                   param_mc_dec_render     1.00  267.197 267.251 267.234  449.894 495.822 479.020
                  dirac_decorr_process    16.00  182.664 228.587 211.786  182.664 228.587 211.786
                       ---------------   ------   ------  ------  ------
                                 total   150.00 1210.179 1340.109 1279.527

Including the implemented optimization:

--- Complexity analysis [WMOPS] ---  

                                                  |------  SELF  ------|   |---  CUMULATIVE  ---|
                               routine    calls     min     max     avg      min     max     avg 
                       ---------------   ------   ------  ------  ------   ------  ------  ------
                       ivas_jbm_dec_tc     1.00   24.500  24.720  24.536   93.301 109.553 103.716
                      param_mc_read_bs     1.00    0.922   0.973   0.939    0.922   0.973   0.939
                          ivas_mct_dec     1.00   41.789  53.174  48.838   67.788  84.086  78.240
                          ivas_cpe_dec     2.00    1.986   2.178   1.987    4.123   4.264   4.124
                         ivas_core_dec     2.00    2.086   2.138   2.137    2.086   2.138   2.137
                        mdct_core_invQ     2.00    9.167  10.982  10.150    9.167  10.982  10.150
                          mct_decoding     1.00    9.610  19.220  15.128    9.610  19.220  15.128
    ivas_jbm_dec_feed_tc_to_rendererer     1.00    0.357   0.357   0.357  615.076 741.400 681.734
                param_mc_dec_digest_tc     1.00   18.633  28.346  27.771  614.720 741.043 681.377
                     dirac_cov_mix_mat    14.00   33.666  33.722  33.699  242.244 294.582 269.790
                                svd_fx    64.00  513.440 639.615 580.525  513.440 639.615 580.525
                   dirac_cov_mix_mat_r    11.00   39.300  39.442  39.382  344.135 422.395 383.816
                       ivas_dec_render     1.00   14.447  15.068  15.058  385.550 411.083 391.899
                   param_mc_dec_render     1.00  267.196 267.251 267.234  370.491 396.042 376.841
                  dirac_decorr_process    16.00  103.281 128.807 109.607  103.281 128.807 109.607
                       ---------------   ------   ------  ------  ------
                                 total   150.00 1111.926 1239.172 1177.348

It saves approx. 100 WMOPS.

According to the pipelines, the max. diff is +/- 3 on the 16 bit PCM scale [-32768;32767[.

Edited by multrus

Merge request reports

Loading