TODO comments in the framework
Below is the list of TODO comments still present in the framework and which thus appear in the delivery package.
1. Coding/decoding
-
..\lib_dec\dec_tcx.c(1546): if ( st->element_mode == EVS_MONO || L_spec < L_frameTCX ) /* todo: this is temporary to maintain EVS BE, this is a bug and should be fixed also for EVS (see issue 13) */ -
..\lib_dec\jbm_jb4_circularbuffer.c(449): memmove( elements + i + 1, elements + i, ( size - i ) * sizeof( JB4_CIRCULARBUFFER_ELEMENT ) ); / IVAS_fmToDo: avoid use of memmove() */ -> @sagnowski -
..\lib_dec\jbm_jb4_inputbuffer.c(237): memmove( h->data + insertPos + 1, h->data + insertPos, ( h->writePos - insertPos ) * sizeof( JB4_INPUTBUFFER_ELEMENT ) ); /* IVAS_fmToDo: avoid use of memmove() */ -> @sagnowski -
..\lib_dec\jbm_jb4_inputbuffer.c(248): memmove( h->data + h->readPos - 1, h->data + h->readPos, low * sizeof( JB4_INPUTBUFFER_ELEMENT ) ); /* IVAS_fmToDo: avoid use of memmove() */ -> @sagnowski -
..\lib_dec\jbm_pcmdsp_apa.c(565): float frm_in[APA_BUF]; /* TODO(mcjbm): this buffer could be smaller - always allocates space for 16 channels */ -> @sagnowski -
..\lib_dec\lib_dec.c(567): if ( !bfi ) /* TODO(mcjbm): Is this ok for bfi == 2 (partial frame)? Is there enough info to fully configure decoder? */ -> @sagnowski -
..\lib_dec\lib_dec.c(3216):// ToDo: currently unused -
..\lib_dec\swb_bwe_dec.c(270): /* IVAS_fmToDo: wtda() does not support L_FRAME length; thus temporarily resample the signal */ -> @suhua -
..\lib_dec\swb_bwe_dec.c(271): /* IVAS_fmToDo: delay output[] by 1.25ms ? */ -> @suhua -
..\lib_dec\swb_bwe_dec.c(589): /* todo - wtda() does not support L_FRAME length; thus temporarily resample the signal */ -> @suhua -
..\lib_dec\swb_bwe_dec.c(590): /* todo - delay output[] by 1.25ms ? */ -> @suhua -
..\lib_dec\swb_bwe_dec.c(737): /* IVAS_fmToDo: synth[] is @internal_Fs!!! */ -> @suhua -
..\lib_dec\ivas_ism_param_dec.c(1068): // TODO tmu review when #215 is resolved -
..\lib_dec\ivas_ism_renderer.c(170): // TODO tmu review when #215 is resolved -
..\lib_dec\ivas_jbm_dec.c(75): float output[MAX_OUTPUT_CHANNELS]; / 'float' buffer for output synthesis / / TODO: can be allocated dynamically using st_ivas->p_output_f */ -
..\lib_dec\ivas_mct_dec.c(110): /* IVAS_fmToDo: more work needed for switching the number of transport channels */ -> related to #215, still found relevant to review, up to proponents of relevant technologies -
..\lib_dec\ivas_pca_dec.c(235): /* @@@TODO: check how ivas_total_brate is set if bfi == 1 */ // ToDo: and what happens in DTX where "ivas_total_brate" can be close to zero? -> @ragot -
..\lib_dec\ivas_sba_rendering_internal.c(304): // TODO tmu review when #215 is resolved -
..\lib_dec\ivas_stereo_dft_dec.c(2424): /* IVAS_fmToDo: the assert has to be changed with proper bitstream error handling */ -
..\lib_enc\core_switching_enc.c(261): set_f( st->hBWE_FD->old_syn_12k8_16k, 0, NS2SA( 16000, DELAY_FD_BWE_ENC_NS ) ); /* TODO - TBV: this might not be needed */ -> @suhua -
..\lib_enc\init_enc.c(710): // ToDo: reduction possible for MCT_CHAN_MODE_LFE channel -
..\lib_enc\swb_tbe_enc.c(2153): /* Todo: input properly the number of bits */ -
..\lib_enc\ivas_dirac_enc.c(197): /* :TODO: if the number of parameter bands change, do a meaningful mapping of parameter buffers from old to new band setting */ -
..\lib_enc\ivas_sba_enc.c(288): max_md_bits = min( st_ivas->hQMetaData->metadata_max_bits + 1, max_bits ); // TODO: remove 500 once max MD bits has been defined at all bitrates in DirAC -
..\lib_enc\lib_enc.c(2056):#if 0 // IVAS_fmToDo: temporary disabled to keep EVS bit-exactness -> to be verified -> ticket #74, @multrus -
..\lib_com\bitstream.c(3446): /* TODO: temporary hack, need to decide what to do with core-coder bitrate */ -> function FdCngDecodeMDCTStereoSID()->dtx_read_padding_bits() -> Jan -
..\lib_com\ivas_cnst.h(156):#define MAX_BITS_METADATA 2640 /* max. bit-budget of metadata, one channel / / IVAS_fmToDo: to be confirmed for final value once mature */ -> #747 (closed) -
..\lib_com\ivas_cnst.h(399): TAG_ISM_LOOP_END = TAG_ISM_LOOP_START + 100, /* IVAS_fmToDo: to be reviewed once the final metadata are defined */ -> #747 (closed) -
..\lib_com\ivas_error.h(81): IVAS_ERR_INVALID_INDEX, /* ToDo: should be merged with IVAS_ERR_INDEX_OUT_OF_BOUNDS */ -> #747 (closed) -
..\lib_com\ivas_stat_com.h(362): int16_t in_delay; /* TODO: JBM check if this needs to be adjusted in the dec */ -
..\lib_com\ivas_dirac_com.c(172): if ( enc_dec == ENC || ( ivas_format != SBA_FORMAT && ivas_format != SBA_ISM_FORMAT ) ) /* Todo: This condition should probably be corrected in main */ -
..\lib_com\ivas_pca_tools.c(648): norm_q = inv_sqrt( norm_q ); // TODO: possible division by 0 -> @ragot -
..\lib_com\common_api_types.h(59):#define RENDERER_HEAD_POSITIONS_PER_FRAME 4 // ToDo: should it be harmonized with IVAS_MAX_PARAM_SPATIAL_SUBFRAMES? -
..\lib_util\cmdln_parser.c(76): /* TODO(sgi): Don't print out usage after this - props.match is used there */ -> Kacper -
..\lib_util\cmdln_parser.c(341): /* TODO(sgi): make matchShort optional */ -> Kacper -
..\apps\encoder.c(1719): else if ( strcmp( argv_to_upper, "-BYPASS" ) == 0 ) // TODO: should be renamed to "-pca" -> Stephane
2. Rendering
-
..\lib_dec\ivas_binRenderer_internal.c(874): // ToDo: hBinRenderer->ivas_format is never set to ISM_FORMAT -> Archit -
..\lib_dec\ivas_binRenderer_internal.c(1980): /TODO : move this to a separate function/ -
..\lib_dec\ivas_sba_rendering_internal.c(304): // TODO tmu review when #215 is resolved -> Archit -
..\lib_rend\ivas_prot_rend.h(1680):/* TODO(sgi): Rework interface */ -
..\lib_rend\ivas_stat_rend.h(1127): float hrf_left_prev[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; /* Todo: Should we allocate these buffers with malloc() instead of the maximum length? */ -> @norvell -
..\lib_rend\ivas_objectRenderer.c(791): Quat2EulerDegree( originalHeadRot[i], /* TODO tmu : fix bug with ordering*/ -
..\lib_rend\ivas_reverb.c(397): /* TODO: values below could be reconsidered, and/or be made variable */ -
..\lib_rend\ivas_reverb.c(543): // TODO: Compute proper (group) Delay from IIR filter -
..\lib_rend\lib_rend.c(110): /* TODO @Philips : would this be a better place to store the render config data? -
..\lib_rend\lib_rend.c(113): * feel free to remove this TODO. -
..\lib_rend\lib_rend.c(247): /* TODO @Philips - inputConfig should not be stored here, but read from e.g. input_mc->input_base.inConfig, please remove this */ -
..\lib_rend\lib_rend.c(2906): decDummy->hDecoderConfig->ivas_total_brate = IVAS_512k; /* Todo Nokia: This is preventing initialization of 2TC as 1TC, should be fixed properly in ivas_dirac_dec_config() */ -> Keep until DirAC renderer refactoring is done -
..\lib_rend\lib_rend.c(2907): decDummy->mc_mode = MC_MODE_NONE; /* Todo Nokia: This should be also refactored in such way that it is not checked if not in MC mode */ -> Keep until DirAC renderer refactoring is done -
..\lib_rend\lib_rend.c(2921): /* Todo refactor: Access to qmetadata is not required by the algorithm. */ -> Keep until DirAC renderer refactoring is done -
..\lib_rend\lib_rend.c(2987): decDummy->hDecoderConfig->ivas_total_brate = IVAS_512k; /* Todo Nokia: This is preventing initialization of 2TC as 1TC, should be fixed properly in ivas_dirac_dec_config() */ -> Keep until DirAC renderer refactoring is done -
..\lib_rend\lib_rend.c(2988): decDummy->mc_mode = MC_MODE_NONE; /* Todo Nokia: This should be also refactored in such way that it is not checked if not in MC mode */ -> Keep until DirAC renderer refactoring is done -
..\lib_rend\lib_rend.c(2998): /* Todo refactor: Access to qmetadata is not required by the algorithm. */ -> Keep until DirAC renderer refactoring is done -
..\lib_rend\lib_rend.c(3054): decDummy->hDecoderConfig->ivas_total_brate = IVAS_512k; /* Todo Nokia: This is preventing initialization of 2TC as 1TC, should be fixed properly in ivas_dirac_dec_config() */ -> Keep until DirAC renderer refactoring is done -
..\lib_rend\lib_rend.c(3055): decDummy->mc_mode = MC_MODE_NONE; /* Todo Nokia: This should be also refactored in such way that it is not checked if not in MC mode */ -> Keep until DirAC renderer refactoring is done -
..\lib_rend\lib_rend.c(3277): RENDER_CONFIG_DATA hRendCfg ) / Todo: This is not used at all within MASA. Support might be better to do after refactoring. */ -> Keep until DirAC renderer refactoring is done -
..\lib_rend\lib_rend.c(4535): /* TODO tmu : this function only returns the maximum delay across all inputs -> Archit to check -
..\lib_rend\lib_rend.c(5815): /* TODO tmu : see issue #518 (closed) */ -> Archit to check -
..\lib_rend\lib_rend.c(5928): /* TODO(sgi): Possible optimization: less processing needed if position didn't change */ -> Kacper -
..\lib_rend\lib_rend.c(5950): // TODO tmu review when #215 is resolved -> Archit to check -
..\lib_rend\lib_rend.c(5959): // TODO tmu review when #215 is resolved -> Archit to check -
..\lib_rend\lib_rend.c(6003): // TODO tmu review when #215 is resolved -> Archit to check -
..\lib_rend\lib_rend.c(6016): // TODO tmu review when #215 is resolved -
..\lib_rend\lib_rend.c(6066): /* ToDo: Could re-use already existing HRTF (ismInput->tdRendWrapper.hHrtfTD), but this complicates internal memory handling in TD renderer */ -
..\lib_rend\lib_rend.c(8134): /* ToDo */ -> related to renderMasaToBinauralRoom() -> Tapani -
..\apps\renderer.c(2338): /return AUDIO_CONFIG_MASA1;/ // ToDo: temporarily disabled to avoid compilation warnings -> Keep until DirAC renderer refactoring is done
3. Split rendering
-
..\lib_rend\ivas_splitRendererPre.c(624): /TODO : change this function to real only as thats what is needed/ -
..\lib_rend\ivas_splitRendererPre.c(2363): /*TODO : shouldnt the delay be 7.5 ms ? 5ms + LC3plus delay */
Edited by vaclav