Skip to content

Formal issues in split rendering

A number of formal issues were identified in the split rendering code (the list might not be complete):

  • missing comments
  • missing description of usage
  • "//" comments instead of "/* ... */"
  • 'int' data type should be replaced by int16_t/int32_t
  • unused constants
  • missing files in MSVC solution
  • many ToDos, e.g. TODO (5ms) : tmu2Dlb
  • the number of new header files should be reduced
  • why are Python scripts part of Workspace_msvc folder?
  • define local arrays as static
  • cplusplus is needed?
  • pragma once is needed?
  • Copyright text should include 2022-2023 years
  • use exit codes e.g. for malloc()
  • avoid terminations using exit (-1 )
  • allocation of IVAS_SPLIT_REND_BITS_HANDLE should be done in decoder library instead of in the application
  • framework does not compile when SPLIT_REND_WITH_HEAD_ROT is disabled
  • IVAS_DEC_GetCldfbSamples() is unused
  • Rename CQMF name remnants to LCLD
  • Rename ivas_lcld_rom_tables.to ivas_rom_lcld_tables. to follow TS26.258
  • Structures used both in lib_dec and lib_rend should be defined in ivas_stat_rend.h, namely: BINAURAL_RENDERER, IVAS_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA, IVAS_DEC_SPLIT_REND_CLDFB_OUT_DATA, IVAS_DEC_SPLIT_REND_WRAPPER

Cleaning of (development) defines:

  • ROM_TO_RAM
  • ENABLE_PMOD_ADJUST
  • USE_TABLE_LOOKUP
  • USE_RXX_WINDOW
  • SIMPLE_PHASE
  • #if CLDFB_PLC_XF > 0
  • LC3PLUS_DEC_ALLOW_DISABLE_CACHING
  • LC3PLUS_DEC_COLLECT_STATS
  • #if 0 ... #endif
  • USE_DEMOD_TABLES

Further:

  • Assert when outputting other than 48 kHz output
  • Assert when -OM is not specified for BINAURAL_SPLIT_PCM should be replaced by a proper exit
  • Print out prints "Output synthesis file:" while it is actually metadata file
  • verify whether hSplitRendWrapper->hHRTF = NULL should not follow ivas_td_binaural_close() (two instances)

Some of them are already addressed in !880 (merged).

Edited by vaclav