Skip to content
Commits on Source (63)
......@@ -71,7 +71,7 @@ stages:
.check-for-testvectors: &check-for-testvectors
# check if the testvector files specified in scripts/config/ci_linux*.json are present
- python3 -m pytest tests/ci/test_vectors_available.py
- python3 -m pytest ci/test_vectors_available.py
.merge-request-comparison-setup-codec:
&merge-request-comparison-setup-codec ### build test binaries, initial clean for paranoia reasons
......
......@@ -1580,7 +1580,11 @@ static ivas_error initOnFirstGoodFrame(
/* Duplicate good first frame metadata to fill the beginning of stream. */
MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta = NULL;
#ifdef FIX_470_MASA_JBM_EXT
if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 0 ) ) != IVAS_ERR_OK )
#else
if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta ) ) != IVAS_ERR_OK )
#endif
{
fprintf( stderr, "\nError in IVAS_DEC_GetMasaMetadata: %s\n", IVAS_DEC_GetErrorMessage( error ) );
return error;
......@@ -1878,7 +1882,11 @@ static ivas_error decodeG192(
else if ( bsFormat == IVAS_DEC_BS_MASA )
{
MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta;
#ifdef FIX_470_MASA_JBM_EXT
if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 0 ) ) != IVAS_ERR_OK )
#else
if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta ) ) != IVAS_ERR_OK )
#endif
{
fprintf( stderr, "\nError in IVAS_DEC_GetMasaMetadata: %s\n", IVAS_DEC_GetErrorMessage( error ) );
goto cleanup;
......@@ -2426,7 +2434,11 @@ static ivas_error decodeVoIP(
else if ( bsFormat == IVAS_DEC_BS_MASA )
{
MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta;
#ifdef FIX_470_MASA_JBM_EXT
if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 1 ) ) != IVAS_ERR_OK )
#else
if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta ) ) != IVAS_ERR_OK )
#endif
{
fprintf( stderr, "\nError in IVAS_DEC_GetMasaMetadata: %s\n", IVAS_DEC_GetErrorMessage( error ) );
goto cleanup;
......@@ -2838,7 +2850,11 @@ static ivas_error decodeVariableSpeed(
else if ( bsFormat == IVAS_DEC_BS_MASA )
{
MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta;
#ifdef FIX_470_MASA_JBM_EXT
if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 1 ) ) != IVAS_ERR_OK )
#else
if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta ) ) != IVAS_ERR_OK )
#endif
{
fprintf( stderr, "\nError in IVAS_DEC_GetMasaMetadata: %s\n", IVAS_DEC_GetErrorMessage( error ) );
goto cleanup;
......@@ -3008,7 +3024,11 @@ static ivas_error decodeVariableSpeed(
else if ( bsFormat == IVAS_DEC_BS_MASA )
{
MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta;
#ifdef FIX_470_MASA_JBM_EXT
if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 0 ) ) != IVAS_ERR_OK )
#else
if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta ) ) != IVAS_ERR_OK )
#endif
{
fprintf( stderr, "\nError in IVAS_DEC_GetMasaMetadata: %s\n", IVAS_DEC_GetErrorMessage( error ) );
goto cleanup;
......
......@@ -3,7 +3,7 @@ import pathlib
import json
import itertools
TEST_CONFIG_DIR = pathlib.Path(__file__).parent.parent.parent.joinpath("scripts/config")
TEST_CONFIG_DIR = pathlib.Path(__file__).parent.parent.joinpath("scripts/config")
TEST_CONFIGS = [f for f in TEST_CONFIG_DIR.iterdir() if f.name.startswith("ci_linux")]
def get_testvectors_from_config(config) -> list:
......
......@@ -165,9 +165,9 @@ int16_t get_codec_mode(
int16_t getTcxonly(
const int16_t element_mode, /* i : IVAS element mode */
const int32_t total_brate, /* i : total bitrate */
const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0)*/
,
const int16_t is_ism_format )
const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0)*/
const int16_t is_ism_format /* i : flag indicating ISM format */
)
{
int16_t tcxonly = 0;
......@@ -357,8 +357,7 @@ int32_t getCoreSamplerateMode2(
const int32_t total_brate, /* i : total bitrate */
const int16_t bwidth, /* i : audio bandwidth */
const int16_t flag_ACELP16k, /* i : ACELP@16kHz flag */
const int16_t rf_mode /* i : flag to signal the RF mode */
,
const int16_t rf_mode, /* i : flag to signal the RF mode */
const IVAS_FORMAT is_ism_format /* i : flag indicating ISM format */
)
{
......
......@@ -214,6 +214,9 @@ typedef enum
#define MAX_JBM_L_FRAME_NS 40000000L
#define MAX_SPAR_INTERNAL_CHANNELS IVAS_SPAR_MAX_CH
#define MAX_CLDFB_DIGEST_CHANNELS 4
#ifdef FIX_470_MASA_JBM_EXT
#define MASA_JBM_RINGBUFFER_FRAMES 3
#endif
typedef enum
{
......@@ -310,6 +313,9 @@ typedef enum
#define MIN_BRATE_SWB_SCE ACELP_9k60 /* min. SCE bitrate where SWB is supported */
#define MIN_BRATE_SWB_STEREO IVAS_13k2 /* min. stereo bitrate where SWB is supported */
#define MIN_BRATE_FB_STEREO IVAS_32k /* min. SCE and stereo bitrate where FB is supported */
#ifdef ISM_FB
#define MIN_BRATE_FB_ISM 24000 /* min. SCE bitrate where FB is supported in ISM format */
#endif
#define MIN_TDM_BRATE_WB_TBE_1k05 12000 /* min. per channel bitrate where WB TBE @1.05 kbps is supported (0.35kbs at lower bitrates) */
#define MIN_BRATE_WB_TBE_1k05 9650 /* min. per channel bitrate where WB TBE @1.05 kbps is supported (0.35kbs at lower bitrates) */
......@@ -1420,6 +1426,9 @@ typedef enum
#define PARAM_MC_MAX_BAND_ABS_COV_DEC 10
#define PARAM_MC_ENER_LIMIT_INTRAFRAME (1.5f)
#define PARAM_MC_ENER_LIMIT_INTERFRAME (2.0f)
#ifdef FIX_563_PARAMMC_LIMITER
#define PARAM_MC_ENER_LIMIT_MAX_DELTA_FAC (15.0f)
#endif
#define PARAM_MC_LFE_ON_THRESH (8000.0f)
#define PARAM_MC_BAND_TO_MDCT_BAND_RATIO 16 /* Ratio of resolution of CLDFB Bands to MDCT Bands */
#define PARAM_MC_SLOT_ENC_NS 2500000L
......
......@@ -94,10 +94,8 @@ ivas_error ivas_dirac_config(
ivas_error error;
int16_t spar_dirac_split_band;
IVAS_FB_MIXER_HANDLE hFbMdft;
int16_t *dirac_to_spar_md_bands;
error = IVAS_ERR_OK;
if ( enc_dec == ENC )
......@@ -176,7 +174,6 @@ ivas_error ivas_dirac_config(
hConfig->enc_param_start_band = hQMetaData->q_direction[0].cfg.start_band + spar_dirac_split_band;
}
hConfig->dec_param_estim = TRUE;
if ( hConfig->dec_param_estim == TRUE )
{
......@@ -452,6 +449,7 @@ ivas_error ivas_dirac_sba_config(
return error;
}
}
ivas_get_dirac_sba_max_md_bits( sba_total_brate, &hQMetaData->bits_frame_nominal, &hQMetaData->metadata_max_bits, &hQMetaData->qmetadata_max_bit_req, hQMetaData->q_direction[0].cfg.nbands );
return error;
......
......@@ -551,6 +551,10 @@ void ivas_param_ism_config(
hParamIsm->last_el_sgn[i] = 1;
}
#ifdef FIX_549_DMX_GAIN
hParamIsm->last_dmx_gain = 1.0f;
set_f( hParamIsm->last_cardioid_left, 1.0f, MAX_NUM_OBJECTS );
#endif
return;
}
......
......@@ -332,7 +332,6 @@ void masa_sample_rate_band_correction(
int16_t highBand;
uint8_t numBands48k;
numBands48k = config->numCodingBands;
for ( band = 1; band < config->numCodingBands + 1; band++ )
......@@ -343,6 +342,7 @@ void masa_sample_rate_band_correction(
{
config->numCodingBands = band;
hQMetaData->numCodingBands = band;
if ( is_encoder )
{
if ( hQMetaData->q_direction->cfg.nbands > band )
......@@ -354,7 +354,9 @@ void masa_sample_rate_band_correction(
hQMetaData->q_direction[1].cfg.nbands = band;
}
}
band_mapping[band] = maxBand;
break;
}
}
......@@ -396,6 +398,7 @@ void masa_sample_rate_band_correction(
hQMetaData->twoDirBands[band] = 0;
}
}
if ( hExtOutMeta != NULL )
{
/* in decoder, zero the EXT out MASA meta buffer */
......@@ -637,11 +640,7 @@ void deindex_sph_idx(
int16_t id_phi;
int16_t no_th = gridData->no_theta;
const int16_t *n = gridData->no_phi;
const float ba[3] = {
2.137991118026424e+02f,
1.244854404591542e+02f,
1.228408647140870e+02f,
};
const float ba[3] = { 2.137991118026424e+02f, 1.244854404591542e+02f, 1.228408647140870e+02f };
const float del[3] = { 7.998262115303199e+05f, 1.300883976959332e+06f, 1.424072242426373e+06f };
const float div[3] = { -0.237662341081474f, -0.100938185496887f, -0.092050209205032f };
const float a4[3] = { -8.415300425381099f, -19.814106922515204f, -21.727272727270197f };
......
......@@ -825,6 +825,17 @@ int16_t ivas_jbm_dec_get_num_tc_channels(
Decoder_Struct *st_ivas /* i : IVAS decoder handle */
);
#ifdef FIX_470_MASA_JBM_EXT
void ivas_jbm_dec_get_md_map_even_spacing(
const int16_t default_len, /* i : default frame length in metadata slots */
const int16_t len, /* i : length of the modfied frames in metadata slots */
const int16_t subframe_len, /* i : default length of a subframe */
const int16_t offset, /* i : current read offset into the md buffer */
const int16_t buf_len, /* i : length of the metadata buffer */
int16_t *map /* o : metadata index map */
);
#endif
TC_BUFFER_MODE ivas_jbm_dec_get_tc_buffer_mode(
Decoder_Struct *st_ivas /* i : IVAS decoder handle */
);
......@@ -861,6 +872,16 @@ void ivas_jbm_dec_td_renderers_adapt_subframes(
Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */
);
#ifdef FIX_470_MASA_JBM_EXT
ivas_error ivas_jbm_dec_metadata_open(
Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */
);
void ivas_jbm_masa_sf_to_sf_map(
Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */
);
#endif
/*----------------------------------------------------------------------------------*
* ISM prototypes
......@@ -5152,7 +5173,7 @@ void ivas_binRenderer(
BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: fastconv binaural renderer handle */
COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, /* i : combined head and external orientation handle */
int16_t subframe_idx, /* i : subframe index */
const int16_t numTimeSlots, /* i: : number of time slots to process */
const int16_t numTimeSlots, /* i : number of time slots to process */
float Cldfb_RealBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */
float Cldfb_ImagBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */
float RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i : LS signals */
......
......@@ -1675,18 +1675,15 @@ void ivas_get_spar_md_from_dirac(
float **ppMixer_mat[IVAS_MAX_FB_MIXER_OUT_CH];
float *pMixer_mat[IVAS_MAX_FB_MIXER_OUT_CH][IVAS_MAX_SPAR_FB_MIXER_IN_CH];
float en_ratio_fac, diff_norm_order1, diff_norm_order2, diff_norm_order3;
int16_t ndm, foa_ch, hoa2_ch;
float P_dir_fact[IVAS_SPAR_MAX_CH - 1];
const int16_t *remix_order;
remix_order = remix_order_set[hSpar_md_cfg->remix_unmix_order];
num_ch = ivas_sba_get_nchan_metadata( order, IVAS_256k /*dummy value as order is always 1 in this function*/
);
num_ch = ivas_sba_get_nchan_metadata( order, IVAS_256k /*dummy value as order is always 1 in this function*/ );
hoa2_ch = ivas_sba_get_nchan_metadata( SBA_HOA2_ORDER, IVAS_256k /*dummy value as order is always 1 in this function*/
);
hoa2_ch = ivas_sba_get_nchan_metadata( SBA_HOA2_ORDER, IVAS_256k /*dummy value as order is always 1 in this function*/ );
foa_ch = FOA_CHANNELS;
diff_norm_order1 = 3.0f;
......@@ -1835,7 +1832,7 @@ void ivas_get_spar_md_from_dirac(
en_ratio_fac = ( 1.0f - diffuseness[band] );
{
for ( i = 0; i < num_ch; i++ )
{
for ( j = 0; j < num_ch; j++ )
......@@ -1898,7 +1895,6 @@ void ivas_get_spar_md_from_dirac(
}
}
}
}
for ( i = 0; i < num_ch; i++ )
{
......@@ -2138,7 +2134,6 @@ void ivas_spar_set_bitrate_config(
int16_t quant_strat;
int16_t bands_bw;
pSpar_md_cfg->nchan_transport = ivas_spar_br_table_consts[table_idx].nchan_transport;
for ( i = 0; i < pSpar_md_cfg->nchan_transport; i++ )
......@@ -2257,6 +2252,7 @@ void ivas_spar_set_bitrate_config(
{
pca_bits = 0;
}
pSpar_md_cfg->max_md_bits_spar = pSpar_md_cfg->max_bits_per_blk + agc_bits + pca_bits;
}
......
......@@ -169,6 +169,11 @@ typedef struct ivas_param_ism_data_structure
int16_t noisy_speech_buffer[PARAM_ISM_HYS_BUF_SIZE];
int16_t flag_equal_energy;
#ifdef FIX_549_DMX_GAIN
float last_dmx_gain;
float last_cardioid_left[MAX_NUM_OBJECTS];
#endif
} PARAM_ISM_CONFIG_DATA, *PARAM_ISM_CONFIG_HANDLE;
......
......@@ -156,13 +156,18 @@
#define FIX_547_NAN_IGF_DEC /* FhG: issue 547: fix possible nan in IGF decoder */
#define FIX_529_BWD_ISSUE /* VA: issue 529: fix Bandwidth Detector not working reliably for Music and Generic Audio */
#define FIX_557_CRASH_IN_ISM_DTX /* VA issue 557: fix crash in 1ISM 48 kbps DTX */
#define FIX_563_PARAMMC_LIMITER /* FhG: issue 563: fix ILD limiter when coming from silence w/o transient set */
#define FIX_560_VAD_FLAG /* Eri: Issue 560 - VAD flag issue for unified stereo */
#define IGF_TUNING_96 /* FhG: Issue 546: slight tuning of IGF config used in 96 kbps stereo, 128 kbps SBA and others */
#define FIX_549_DMX_GAIN /* FhG: issue 549: ParamISM output too quiet */
#define FIX_522_ISM_FIRST_SID /* VA: fix ISM decoder crash if first received frame is an SID */
#define FIX_470_MASA_JBM_EXT /* Nokia: Issue 470, fix MASA EXT output with JBM */
#define ISM_FB /* issue 556: change SWB to FB coding in 1ISM at 24.4 kbps */
#define FIX_558_PLC_DISCONT /* FhG: issue 558: fix discontinuities in DFT Stereo when switching from TCX concealment to ACELP */
#define FIX_564 /* Nokia: Issue 564: Fix gains in JBM path for SBA with parametric binaural renderer */
#define FIX_566_2DIR_MASA_384K /* Nokia: Issued 566: Bugfix in 384k MASA metadata encoding of second direction */
/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
......
......@@ -9768,9 +9768,9 @@ int16_t get_codec_mode(
int16_t getTcxonly(
const int16_t element_mode, /* i : IVAS element mode */
const int32_t total_brate, /* i : total bitrate */
const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0)*/
,
const int16_t is_ism_format );
const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0)*/
const int16_t is_ism_format /* i : flag indicating ISM format */
);
int16_t getTnsAllowed(
const int32_t total_brate, /* i : total bitrate */
......@@ -9806,8 +9806,7 @@ int32_t getCoreSamplerateMode2(
const int32_t total_brate, /* i : total bitrate */
const int16_t bwidth, /* i : audio bandwidth */
const int16_t flag_ACELP16k, /* i : ACELP@16kHz flag */
const int16_t rf_mode /* i : flag to signal the RF mode */
,
const int16_t rf_mode, /* i : flag to signal the RF mode */
const IVAS_FORMAT is_ism_format /* i : flag indicating ISM format */
);
......
......@@ -74,8 +74,7 @@ void open_decoder_LPD(
st->fscale_old = st->fscale;
}
st->sr_core = getCoreSamplerateMode2( st->element_mode, total_brate, bwidth, st->flag_ACELP16k, st->rf_flag,
st->is_ism_format );
st->sr_core = getCoreSamplerateMode2( st->element_mode, total_brate, bwidth, st->flag_ACELP16k, st->rf_flag, st->is_ism_format );
st->fscale = sr2fscale( st->sr_core );
fscaleFB = sr2fscale( st->output_Fs );
......@@ -94,8 +93,7 @@ void open_decoder_LPD(
}
}
st->tcxonly = getTcxonly( st->element_mode, total_brate, MCT_flag,
st->is_ism_format );
st->tcxonly = getTcxonly( st->element_mode, total_brate, MCT_flag, st->is_ism_format );
/* the TD TCX PLC in MODE1 still runs with 80ms subframes */
if ( ( st->element_mode == EVS_MONO && st->L_frame == L_FRAME16k && total_brate <= ACELP_32k ) || ( st->element_mode > EVS_MONO && st->L_frame == L_FRAME16k && total_brate <= MAX_ACELP_BRATE ) || ( st->tcxonly && ( st->sr_core == 32000 || st->sr_core == 16000 ) ) )
......
......@@ -72,8 +72,7 @@ void mode_switch_decoder_LPD(
{
bSwitchFromAmrwbIO = 1;
}
sr_core = getCoreSamplerateMode2( st->element_mode, total_brate, bwidth, st->flag_ACELP16k, st->rf_flag,
st->is_ism_format );
sr_core = getCoreSamplerateMode2( st->element_mode, total_brate, bwidth, st->flag_ACELP16k, st->rf_flag, st->is_ism_format );
fscale = sr2fscale( sr_core );
/* set number of coded lines */
......
......@@ -107,8 +107,7 @@ void decoder_tcx(
decoder_tcx_tns( st, L_frame_glob, L_spec, L_frame, L_frameTCX, &x[0], fUseTns, &tnsData, bfi, frame_cnt, 0 );
decoder_tcx_imdct( st, L_frame_glob, L_frameTCX_glob, L_spec, tcx_offset, tcx_offsetFB, L_frame, L_frameTCX, left_rect, &x[0], &xn_buf[0], MDCT_IV,
fUseTns, &synth[0], &synthFB[0], bfi, frame_cnt,
sba_dirac_stereo_flag );
fUseTns, &synth[0], &synthFB[0], bfi, frame_cnt, sba_dirac_stereo_flag );
return;
}
......@@ -286,6 +285,7 @@ void decoder_tcx_post(
return;
}
/*-------------------------------------------------------------------*
* IMDCT()
*
......@@ -336,8 +336,7 @@ void IMDCT(
v_multc( old_syn_overl, hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, old_syn_overl, overlap );
}
if ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 ) &&
( st->tcxonly ) )
if ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 ) && st->tcxonly )
{
/* Mode decision in PLC
......@@ -374,7 +373,9 @@ void IMDCT(
TCX_MDXT_Inverse( x + w * L_spec_TCX5, win, L_ola, L_win - L_ola, L_ola, kernel_type );
}
else
{
TCX_MDCT_Inverse( x + w * L_spec_TCX5, win, L_ola, L_win - L_ola, L_ola, st->element_mode );
}
tcx_windowing_synthesis_current_frame( win, tcx_aldo_window_2, tcx_mdct_window_half, tcx_mdct_window_minimum, L_ola, tcx_mdct_window_half_length, tcx_mdct_window_min_length, ( w > 0 ) ? 0 : left_rect, ( w > 0 ) || ( w == 0 && index == 2 ) ? MIN_OVERLAP : hTcxCfg->tcx_last_overlap_mode, acelp_zir, hTcxDec->old_syn_Overl, syn_Overl_TDAC, st->old_Aq_12_8, tcx_mdct_window_trans, L_win, tcx_offset < 0 ? -tcx_offset : 0, ( w > 0 ) || ( frame_cnt > 0 ) ? 1 : st->last_core_bfi, ( w > 0 ) || ( frame_cnt > 0 ) ? 0 : st->last_is_cng, fullbandScale );
......@@ -554,8 +555,7 @@ void IMDCT(
/* Window and overlap-add past frame if past frame is TCX */
if ( ( frame_cnt != 0 ) || ( st->last_core_bfi > ACELP_CORE ) )
{
if ( ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 ) &&
( st->tcxonly ) ) ||
if ( ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 ) && ( st->tcxonly ) ) ||
( hTcxCfg->tcx_last_overlap_mode == TRANSITION_OVERLAP ) )
{
if ( !bfi && ( frame_cnt > 0 ) && ( index == 0 ) && ( hTcxCfg->tcx_curr_overlap_mode == FULL_OVERLAP ) && ( st->last_core != ACELP_CORE ) )
......@@ -723,7 +723,6 @@ void decoder_tcx_invQ(
TCX_DEC_HANDLE hTcxDec = st->hTcxDec;
TCX_CONFIG_HANDLE hTcxCfg = st->hTcxCfg;
tnsSize = 0;
prm_target = NULL; /* just to suppress MSVC warnigs */
......@@ -1692,9 +1691,7 @@ void decoder_tcx_imdct(
if ( st->element_mode != IVAS_CPE_DFT && !sba_dirac_stereo_flag )
{
IMDCT( xn_bufFB, hTcxDec->syn_Overl, hTcxDec->syn_Overl_TDAC, xn_buf,
hTcxCfg->tcx_aldo_window_1_trunc,
hTcxCfg->tcx_aldo_window_2,
IMDCT( xn_bufFB, hTcxDec->syn_Overl, hTcxDec->syn_Overl_TDAC, xn_buf, hTcxCfg->tcx_aldo_window_1_trunc, hTcxCfg->tcx_aldo_window_2,
hTcxCfg->tcx_mdct_window_half, hTcxCfg->tcx_mdct_window_minimum, hTcxCfg->tcx_mdct_window_trans, hTcxCfg->tcx_mdct_window_half_length, hTcxCfg->tcx_mdct_window_min_length, index,
kernelType, left_rect, tcx_offset, overlap, L_frame, L_frameTCX, max( L_frameTCX, L_spec ) >> 1, L_frame_glob, frame_cnt, bfi, st->hHQ_core->old_outLB, 0, st, 0, acelp_zir );
}
......@@ -1715,8 +1712,7 @@ void decoder_tcx_imdct(
if ( st->element_mode != EVS_MONO )
{
IMDCT( x_tmp, hTcxDec->syn_OverlFB, hTcxDec->syn_Overl_TDACFB, xn_bufFB,
hTcxCfg->tcx_aldo_window_1_FB_trunc, hTcxCfg->tcx_aldo_window_2_FB,
IMDCT( x_tmp, hTcxDec->syn_OverlFB, hTcxDec->syn_Overl_TDACFB, xn_bufFB, hTcxCfg->tcx_aldo_window_1_FB_trunc, hTcxCfg->tcx_aldo_window_2_FB,
hTcxCfg->tcx_mdct_window_halfFB, hTcxCfg->tcx_mdct_window_minimumFB, hTcxCfg->tcx_mdct_window_transFB, hTcxCfg->tcx_mdct_window_half_lengthFB, hTcxCfg->tcx_mdct_window_min_lengthFB, index,
kernelType, left_rect, tcx_offsetFB, overlapFB, L_frameTCX, L_frameTCX, max( L_frameTCX, L_spec ) >> 1, L_frameTCX_glob, frame_cnt, bfi, st->hHQ_core->old_out, 1, st, FSCALE_DENOM * L_frameTCX_glob / L_frame_glob, acelp_zir );
}
......@@ -1948,6 +1944,7 @@ void decoder_tcx_IGF_stereo(
{
sfbConf = &hStereoMdct->stbParamsTCX20afterACELP;
}
/* create line wise ms mask for the core bands */
set_s( coreMsMask, 0, N_MAX );
......
......@@ -1360,7 +1360,7 @@ void generate_comfort_noise_dec_hf(
{
seed2 = &( hFdCngCom->seed3 );
c1 = (float) sqrt( hFdCngCom->coherence ); // VE!!!!! all occurences of "(float) sqrt()" should be replaced by "sqrtf()"
c1 = (float) sqrt( hFdCngCom->coherence );
c2 = (float) sqrt( 1 - hFdCngCom->coherence );
}
......