Skip to content

Reduced complexity 32 by 32 bit div

Satish Patil requested to merge reduced_complexity_32_by_32_bit_div into main

The proposal is to have lightweight version of BASOP_Util_Divide3232_Scale_cadence() function. This addresses precision vs complexity trade off. Here, division is computed in 26 iterations (or nbits) instead of fixed 32 iterations.

This results in complexity reduction of division by factor of 0.56x w.r.t. existing version.

Testcase : ./IVAS_dec -fr 20 BINAURAL_ROOM_IR 48 stv1MASA2TC48c.wav_MASA_1dir_2TC_at_32_kbps_48kHz_in_48kHz_out_BINAURAL_ROOM_IR_out.192 stv1MASA2TC48c.wav_MASA_1dir_2TC_at_32_kbps_48kHz_in_48kHz_out_BINAURAL_ROOM_IR_out.dec.1.wav

Impact : Original : --- Complexity analysis [WMOPS] ---

                                              |------  SELF  ------|   |---  CUMULATIVE  ---|
                           routine    calls     min     max     avg      min     max     avg 
                   ---------------   ------   ------  ------  ------   ------  ------  ------
                   ivas_jbm_dec_tc     1.00    7.133   7.302   7.214   50.216  74.031  65.693
                      ivas_cpe_dec     1.00    7.103  13.796   8.760   43.064  66.870  58.479
                   residual_decode     1.00    0.149   0.267   0.236    0.149   0.267   0.236
                     ivas_core_dec     1.00    3.509  24.768  21.412   26.665  45.046  41.274
                    acelp_core_dec     0.86   13.253  17.116  16.150   13.253  17.116  16.150
                      DFT_analysis     3.86    3.610   5.918   3.878    3.657   5.953   3.923
                       Cadence div  4744.84   56.586  59.979  59.045   56.586  59.979  59.045
                       gen_respred     2.00    0.092   0.846   0.462    0.092   0.846   0.462
                     DFT_synthesis     2.00    6.940   6.940   6.940    6.940   6.940   6.940
ivas_jbm_dec_feed_tc_to_rendererer     1.00    0.039   0.039   0.039    0.039   0.039   0.039
                   ivas_dec_render     1.00   90.383  90.847  90.649  181.634 186.544 183.941
                   binaural_reverb     4.00   16.667  16.667  16.667   16.667  16.667  16.667
              dirac_decorr_process    16.00   16.604  20.476  17.625   16.604  20.476  17.625
               stereo_tcx_core_dec     0.14   18.697  22.842  20.530   18.697  22.842  20.530
                   ---------------   ------   ------  ------  ------
                             total   300.00  233.863 258.150 249.673

With proposed modifications :

--- Complexity analysis [WMOPS] ---

                                              |------  SELF  ------|   |---  CUMULATIVE  ---|
                           routine    calls     min     max     avg      min     max     avg 
                   ---------------   ------   ------  ------  ------   ------  ------  ------
                   ivas_jbm_dec_tc     1.00    7.133   7.302   7.214   50.200  74.010  65.672
                      ivas_cpe_dec     1.00    7.103  13.796   8.760   43.048  66.849  58.458
                   residual_decode     1.00    0.149   0.267   0.236    0.149   0.267   0.236
                     ivas_core_dec     1.00    3.509  24.768  21.412   26.655  45.029  41.258
                    acelp_core_dec     0.86   13.253  17.116  16.150   13.253  17.116  16.150
                      DFT_analysis     3.86    3.610   5.918   3.878    3.635   5.937   3.902
                       Cadence div  4744.81   32.046  34.020  33.484   32.046  34.020  33.484
                       gen_respred     2.00    0.092   0.846   0.462    0.092   0.846   0.462
                     DFT_synthesis     2.00    6.940   6.940   6.940    6.940   6.940   6.940
ivas_jbm_dec_feed_tc_to_rendererer     1.00    0.039   0.039   0.039    0.039   0.039   0.039
                   ivas_dec_render     1.00   90.383  90.848  90.649  156.809 160.962 158.401
                   binaural_reverb     4.00   16.667  16.667  16.667   16.667  16.667  16.667
              dirac_decorr_process    16.00   16.604  20.476  17.625   16.604  20.476  17.625
               stereo_tcx_core_dec     0.14   18.697  22.842  20.530   18.697  22.842  20.530
                   ---------------   ------   ------  ------  ------

Merge request reports

Loading