Skip to content

Draft: Float 2436 discontinuities due to recycling of cldfbana state across multiple ism inputs 2

Reason why this change is needed

  • Float reference:
    • Encoder (float):
    • Decoder (float):
  • Fixed point:
    • Encoder (fixed):
    • Decoder (fixed):
    • Renderer (fixed): 6ad71a3a3dabd73029dee9529bd6a1b6aa99369e -this is not merged yet into main, it is on the branch basop-2283-isar-post-renderer-broken-for-externally-rendered-omasa-input-and-binaural_split_coded

Bug description

cldfbstateIssue

Looks like the same CLDFB Analysis state is used for different ISM inputs , this leads to discontinuities.

The state is written in cldfbAnalysis_ts_fx()

The same issue is present in float

Ways to reproduce

./IVAS_rend -fs 48 -render_config ../../ivas-codec/tests/split_rendering/renderer_configs/split_renderer_config_3dofhq_768k_default.txt -i ../../scripts/testv/stvOMASA_1ISM_1MASA1TC48c_cut.wav -if ISM1MASA1 -im ../../scripts/testv/stvISM1.csv ../../scripts/testv/stvOMASA_1ISM_1MASA1TC48c.met -o ../../ivas-codec/tests/split_rendering/cut/ISM1MASA1_SPLIT_CODED_ext_cfg_split_renderer_config_3dofhq_768k_default_fr_pre_20_post_20.splt.bit -of BINAURAL_SPLIT_CODED -T ../../scripts/trajectories/rotate_euler_quaternion_30s_delayed.csv -fr 20 

./ISAR_post_rend -fs 48 -i ../../ivas-codec/tests/split_rendering/cut/ISM1MASA1_SPLIT_CODED_ext_cfg_split_renderer_config_3dofhq_768k_default_fr_pre_20_post_20.splt.bit -if BINAURAL_SPLIT_CODED -o ./ISM1MASA1_SPLIT_CODED_ext_cfg_split_renderer_config_3dofhq_768k_default_fr_pre_20_post_20.wav -T ../../scripts/trajectories/rotate_euler_quaternion_30s.csv -fr 20

Description of the change

Not sure whats the best way to solve this - First try: Simply allocate more memory and point to the correct adress, dependent of the ISM input index

Affected operating points

  • Describe here as well as possible what operating points are affected and how
  • In minimum, there should be a status for bitstream compatibility and output bit exactness
  • For bitstream compatibility, the following levels are helpful for describing encoder
    1. Produced bitstream is BE compared to previous state.
    2. Produced bitstream is non-BE but it is fully backwards compatible for decoding. Decoded output may differ.
    3. Produced bitstream is non-BC. Old decoder cannot decode the produced bitstream correctly.
  • For output difference, use BE or non-BE. Additionally, amount of difference can be presented.

Closes #2436

Edited by Fabian Bauer

Merge request reports

Loading