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 followivas_td_binaural_close()
(two instances)
Some of them are already addressed in !880 (merged).
Edited by vaclav