diff --git a/lib_dec/acelp_core_dec.c b/lib_dec/acelp_core_dec.c index 17b5a82aa96627278b0c30d8121fedbe0383ab93..3b9efaa31687573f0b203fd1d14ca3addc22cea8 100644 --- a/lib_dec/acelp_core_dec.c +++ b/lib_dec/acelp_core_dec.c @@ -1296,7 +1296,7 @@ ivas_error acelp_core_dec( st->cldfbSyn->bandsToZero = st->cldfbSyn->no_channels - st->cldfbAna->no_channels; } - if ( !st->cng_dirac_flag || st->element_mode == IVAS_CPE_MDCT ) + if ( !st->cng_sba_flag || st->element_mode == IVAS_CPE_MDCT ) { /*WB/SWB-FD_CNG*/ if ( ( st->core_brate == FRAME_NO_DATA || st->core_brate == SID_2k40 ) && ( st->cng_type == FD_CNG ) && ( st->hFdCngDec->hFdCngCom->numCoreBands < st->cldfbSyn->no_channels ) ) diff --git a/lib_dec/fd_cng_dec.c b/lib_dec/fd_cng_dec.c index 8fd77a836dbcc658e662b3e6d337e96ddc7cffa1..39fbf2a66cf2fa008b4a34860fdf97b43b994776 100644 --- a/lib_dec/fd_cng_dec.c +++ b/lib_dec/fd_cng_dec.c @@ -2055,7 +2055,7 @@ void FdCngDecodeMDCTStereoSID( int16_t is_out_ms; is_out_ms = 0; - if ( hCPE->hCoreCoder[0]->cng_spar_flag == 1 ) + if ( hCPE->hCoreCoder[0]->cng_sba_flag ) { is_out_ms = 1; } diff --git a/lib_dec/init_dec.c b/lib_dec/init_dec.c index 3365682878a7695b7a125b8ec8fa0a641c48ee73..40c65d95033f1b55d0536e2ec0fb2420f89300a2 100644 --- a/lib_dec/init_dec.c +++ b/lib_dec/init_dec.c @@ -746,8 +746,7 @@ ivas_error init_decoder( st->tdm_LRTD_flag = 0; st->cna_dirac_flag = 0; - st->cng_dirac_flag = 0; - st->cng_spar_flag = 0; + st->cng_sba_flag = 0; return error; diff --git a/lib_dec/ivas_core_dec.c b/lib_dec/ivas_core_dec.c index b5dd559f5fddeca1736ab618f8c6fc08c93b4285..6a3f588f9bd78ca0978913e857a6d863fe72747a 100644 --- a/lib_dec/ivas_core_dec.c +++ b/lib_dec/ivas_core_dec.c @@ -297,7 +297,7 @@ ivas_error ivas_core_dec( if ( sts[0]->element_mode == IVAS_CPE_MDCT && sts[0]->total_brate == SID_2k40 ) { - if ( sts[0]->cng_dirac_flag ) + if ( sts[0]->cng_sba_flag ) { FdCngDecodeDiracMDCTStereoSID( hCPE ); } diff --git a/lib_dec/ivas_decision_matrix_dec.c b/lib_dec/ivas_decision_matrix_dec.c index 3e6e87dc86114e655f844874a77763b330f1e6c7..dbd4aef78ab90556c30c9e6b8b1f1fb236248797 100644 --- a/lib_dec/ivas_decision_matrix_dec.c +++ b/lib_dec/ivas_decision_matrix_dec.c @@ -101,7 +101,7 @@ void ivas_decision_matrix_dec( st->L_frame = L_FRAME; } } - else if ( st->total_brate == SID_2k40 && st->idchan == 1 && st->element_mode == IVAS_CPE_MDCT && st->cng_dirac_flag == 0 ) + else if ( st->total_brate == SID_2k40 && st->idchan == 1 && st->element_mode == IVAS_CPE_MDCT && st->cng_sba_flag == 0 ) { /* read channel coherence */ st->hFdCngDec->hFdCngCom->coherence = (float) get_next_indice( st, 4 ) / 15.f; diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 1a5094fadf577a966bb3bbbbd5f22c151dd7a684..8a614d087ee234d360825eab09e634c0cef83ab1 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -1957,7 +1957,7 @@ void ivas_dirac_dec( Cldfb_ImagBuffer[1][0], index_slot, st->cna_dirac_flag && st->flag_cna, - ( st->core_brate == FRAME_NO_DATA || st->core_brate == SID_2k40 ) && st->cng_type == FD_CNG && st->cng_dirac_flag ); + ( st->core_brate == FRAME_NO_DATA || st->core_brate == SID_2k40 ) && st->cng_type == FD_CNG && st->cng_sba_flag ); } /* LFE synthesis */ diff --git a/lib_dec/ivas_dirac_dec_binaural_functions.c b/lib_dec/ivas_dirac_dec_binaural_functions.c index 2d5c83588168caa0c3392a485997eda1bfcf3fa1..5e698ab289d0df1f94e3b5adb693fe8c098caf9f 100644 --- a/lib_dec/ivas_dirac_dec_binaural_functions.c +++ b/lib_dec/ivas_dirac_dec_binaural_functions.c @@ -385,9 +385,7 @@ static void ivas_dirac_dec_binaural_internal( else /* when nchan_transport == 1 and ch == 1 */ { /* CNA and HB FD-CNG*/ - if ( st_ivas->hSCE[0]->hCoreCoder[0] != NULL && - ( st_ivas->hSCE[0]->hCoreCoder[0]->cna_dirac_flag || - st_ivas->hSCE[0]->hCoreCoder[0]->cng_dirac_flag ) ) + if ( st_ivas->hSCE[0]->hCoreCoder[0] != NULL && st_ivas->hSCE[0]->hCoreCoder[0]->cng_sba_flag ) { int16_t numCoreBands, b; @@ -399,7 +397,7 @@ static void ivas_dirac_dec_binaural_internal( Cldfb_RealBuffer_in[2][slot], Cldfb_ImagBuffer_in[2][slot], slot, st_ivas->hSCE[0]->hCoreCoder[0]->cna_dirac_flag && st_ivas->hSCE[0]->hCoreCoder[0]->flag_cna, - ( st_ivas->hSCE[0]->hCoreCoder[0]->core_brate == FRAME_NO_DATA || st_ivas->hSCE[0]->hCoreCoder[0]->core_brate == SID_2k40 ) && ( st_ivas->hSCE[0]->hCoreCoder[0]->cng_type == FD_CNG ) && st_ivas->hSCE[0]->hCoreCoder[0]->cng_dirac_flag ); + ( st_ivas->hSCE[0]->hCoreCoder[0]->core_brate == FRAME_NO_DATA || st_ivas->hSCE[0]->hCoreCoder[0]->core_brate == SID_2k40 ) && ( st_ivas->hSCE[0]->hCoreCoder[0]->cng_type == FD_CNG ) && st_ivas->hSCE[0]->hCoreCoder[0]->cng_sba_flag ); generate_masking_noise_dirac( st_ivas->hSCE[0]->hCoreCoder[0]->hFdCngDec->hFdCngCom, st_ivas->cldfbAnaDec[1], /*nothing will be analyzed, just get cnst*/ @@ -407,7 +405,7 @@ static void ivas_dirac_dec_binaural_internal( Cldfb_RealBuffer_in[1][slot], Cldfb_ImagBuffer_in[1][slot], slot, st_ivas->hSCE[0]->hCoreCoder[0]->cna_dirac_flag && st_ivas->hSCE[0]->hCoreCoder[0]->flag_cna, - ( st_ivas->hSCE[0]->hCoreCoder[0]->core_brate == FRAME_NO_DATA || st_ivas->hSCE[0]->hCoreCoder[0]->core_brate == SID_2k40 ) && ( st_ivas->hSCE[0]->hCoreCoder[0]->cng_type == FD_CNG ) && st_ivas->hSCE[0]->hCoreCoder[0]->cng_dirac_flag ); + ( st_ivas->hSCE[0]->hCoreCoder[0]->core_brate == FRAME_NO_DATA || st_ivas->hSCE[0]->hCoreCoder[0]->core_brate == SID_2k40 ) && ( st_ivas->hSCE[0]->hCoreCoder[0]->cng_type == FD_CNG ) && st_ivas->hSCE[0]->hCoreCoder[0]->cng_sba_flag ); /* LB: Copy first channel + LB-CNG to first and second channels with same scaling (dual-mono)*/ for ( b = 0; b < numCoreBands; b++ ) diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index b631bc1964d8784ebb764490c282a6f733ba3a19..41e07e485f43565740c4326bed94e2daa9f67198 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1001,45 +1001,21 @@ ivas_error ivas_init_decoder( /* set CNA/CNG flags */ if ( st_ivas->sba_mode == SBA_MODE_SPAR && st_ivas->nchan_transport == 1 ) - { - st_ivas->hSCE[0]->hCoreCoder[0]->cna_dirac_flag = 0; - st_ivas->hSCE[0]->hCoreCoder[0]->cng_dirac_flag = 0; - } - else if ( st_ivas->nchan_transport == 1 && st_ivas->sba_mode == SBA_MODE_SPAR && ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) { st_ivas->hSCE[0]->hCoreCoder[0]->cna_dirac_flag = 0; /* Todo: Check if these can be enabled */ - st_ivas->hSCE[0]->hCoreCoder[0]->cng_dirac_flag = 0; + st_ivas->hSCE[0]->hCoreCoder[0]->cng_sba_flag = 0; } else if ( st_ivas->nchan_transport == 1 && ( ( st_ivas->renderer_type == RENDERER_DIRAC && st_ivas->hDirAC->synthesisConf == DIRAC_SYNTHESIS_GAIN_SHD ) || ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC ) ) ) { st_ivas->hSCE[0]->hCoreCoder[0]->cna_dirac_flag = 1; - st_ivas->hSCE[0]->hCoreCoder[0]->cng_dirac_flag = 1; + st_ivas->hSCE[0]->hCoreCoder[0]->cng_sba_flag = 1; } else if ( st_ivas->nchan_transport == 2 ) { - if ( st_ivas->sba_mode == SBA_MODE_SPAR ) - { - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) - { - st_ivas->hCPE[0]->hCoreCoder[n]->cna_dirac_flag = 0; /* Todo: Check if these can be enabled */ - st_ivas->hCPE[0]->hCoreCoder[n]->cng_dirac_flag = 0; - } - else - { - st_ivas->hCPE[0]->hCoreCoder[n]->cng_dirac_flag = 1; - st_ivas->hCPE[0]->hCoreCoder[n]->cng_spar_flag = 1; - } - } - } - else + for ( n = 0; n < CPE_CHANNELS; n++ ) { - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - st_ivas->hCPE[0]->hCoreCoder[n]->cna_dirac_flag = 0; - st_ivas->hCPE[0]->hCoreCoder[n]->cng_dirac_flag = 1; - } + st_ivas->hCPE[0]->hCoreCoder[n]->cna_dirac_flag = 0; /* Todo: Check if these can be enabled */ + st_ivas->hCPE[0]->hCoreCoder[n]->cng_sba_flag = 1; } } } @@ -1215,7 +1191,7 @@ ivas_error ivas_init_decoder( if ( st_ivas->nchan_transport == 1 && ( ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) ) { st_ivas->hSCE[0]->hCoreCoder[0]->cna_dirac_flag = 1; - st_ivas->hSCE[0]->hCoreCoder[0]->cng_dirac_flag = 1; + st_ivas->hSCE[0]->hCoreCoder[0]->cng_sba_flag = 1; } } } diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index a364a60d5212504f0bceefbe72490b091ba363ce..1fc9c816764678ec1e102778cc40ec652910a045 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -874,25 +874,14 @@ ivas_error ivas_sba_dec_reconfigure( else if ( st_ivas->nchan_transport == 1 && ( ( st_ivas->renderer_type == RENDERER_DIRAC && st_ivas->hDirAC->synthesisConf == DIRAC_SYNTHESIS_GAIN_SHD ) || ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) ) { st_ivas->hSCE[0]->hCoreCoder[0]->cna_dirac_flag = 1; - st_ivas->hSCE[0]->hCoreCoder[0]->cng_dirac_flag = 1; + st_ivas->hSCE[0]->hCoreCoder[0]->cng_sba_flag = 1; } else if ( st_ivas->nchan_transport == 2 ) { - if ( st_ivas->sba_mode == SBA_MODE_SPAR ) + for ( n = 0; n < CPE_CHANNELS; n++ ) { - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - st_ivas->hCPE[0]->hCoreCoder[n]->cng_dirac_flag = 1; - st_ivas->hCPE[0]->hCoreCoder[n]->cng_spar_flag = 1; - } - } - else - { - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - st_ivas->hCPE[0]->hCoreCoder[n]->cna_dirac_flag = 0; - st_ivas->hCPE[0]->hCoreCoder[n]->cng_dirac_flag = 1; - } + st_ivas->hCPE[0]->hCoreCoder[n]->cna_dirac_flag = 0; + st_ivas->hCPE[0]->hCoreCoder[n]->cng_sba_flag = 1; } } else @@ -902,8 +891,7 @@ ivas_error ivas_sba_dec_reconfigure( for ( n = 0; n < CPE_CHANNELS; n++ ) { st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cna_dirac_flag = 0; - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_dirac_flag = 0; - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_spar_flag = 0; + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_sba_flag = 0; } } } diff --git a/lib_dec/ivas_stereo_mdct_stereo_dec.c b/lib_dec/ivas_stereo_mdct_stereo_dec.c index 298e77a131f3d6d5fdb1db860e3120cfb6c396d1..1762927e8db85907c2e87545e4040cc68d4348ba 100644 --- a/lib_dec/ivas_stereo_mdct_stereo_dec.c +++ b/lib_dec/ivas_stereo_mdct_stereo_dec.c @@ -461,10 +461,9 @@ ivas_error initMdctStereoDtxData( return error; } - /* Init FD-CNG */ initFdCngDec( st ); - if ( ( ch == 1 ) && ( st->cng_spar_flag == 1 ) ) + if ( ch == 1 && st->cng_sba_flag ) { st->hFdCngDec->hFdCngCom->seed += 3; } diff --git a/lib_dec/stat_dec.h b/lib_dec/stat_dec.h index 917331c050b9298da10cffbbef00ed75bb3da87a..8fc8ec5282be03a3345c9c83ff5b20c14c645c61 100644 --- a/lib_dec/stat_dec.h +++ b/lib_dec/stat_dec.h @@ -1336,15 +1336,13 @@ typedef struct Decoder_State *----------------------------------------------------------------------------------*/ int16_t tdm_LRTD_flag; /* LRTD stereo mode flag */ - int16_t cna_dirac_flag; /* CNA in DirAC flag*/ - int16_t cng_dirac_flag; /* CNG in DirAC flag*/ + int16_t cna_dirac_flag; /* CNA in DirAC flag */ + int16_t cng_sba_flag; /* CNG in SBA flag */ /* MCT Channel mode indication: LFE, ignore channel? */ MCT_CHAN_MODE mct_chan_mode; - int16_t cng_spar_flag; /* CNG in SPAR flag*/ - } Decoder_State, *DEC_CORE_HANDLE; #endif diff --git a/lib_enc/fd_cng_enc.c b/lib_enc/fd_cng_enc.c index d9e5a2014c4a6b55cf76101c20907e44337970a7..c2dfb1969f421564dbdf51aad67fbeb1802d62b2 100644 --- a/lib_enc/fd_cng_enc.c +++ b/lib_enc/fd_cng_enc.c @@ -968,12 +968,11 @@ void FdCngEncodeMDCTStereoSID( int16_t is_inp_ms; is_inp_ms = 0; - if ( hCPE->hCoreCoder[0]->cng_spar_flag == 1 ) + if ( hCPE->hCoreCoder[0]->cng_sba_flag == 1 ) { is_inp_ms = 1; } - /* set pointers and initialize */ for ( ch = 0; ch < CPE_CHANNELS; ch++ ) { diff --git a/lib_enc/init_enc.c b/lib_enc/init_enc.c index cd321ef06c06d236ff5dfca20bc32cad2eda8426..1ae2f48c66cd2a6c0af1b76c4765d7594a3b03f5 100644 --- a/lib_enc/init_enc.c +++ b/lib_enc/init_enc.c @@ -822,8 +822,7 @@ ivas_error init_encoder( *-----------------------------------------------------------------*/ st->tdm_LRTD_flag = 0; - st->cng_dirac_flag = 0; - st->cng_spar_flag = 0; + st->cng_sba_flag = 0; st->bits_frame_channel = 0; st->side_bits_frame_channel = 0; diff --git a/lib_enc/ivas_core_enc.c b/lib_enc/ivas_core_enc.c index b2b96681fd4024e44b01fa16ad9ba9cbceadb7e2..65830e014e2b238ae38ae87648c045f8599ec0fb 100644 --- a/lib_enc/ivas_core_enc.c +++ b/lib_enc/ivas_core_enc.c @@ -280,7 +280,7 @@ ivas_error ivas_core_enc( } } - if ( sts[0]->cng_dirac_flag ) + if ( sts[0]->cng_sba_flag ) { FdCngEncodeDiracMDCTStereoSID( hCPE ); } diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index e7c34ae0e83f763c9ea74fdc62cc3b44a08456b5..e4e383e2e1a79900cf725eb9117518555eead29f 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -476,7 +476,7 @@ ivas_error ivas_cpe_enc( stereoFdCngCoherence( sts, hCPE->last_element_mode, fft_buff ); /* Reset metadata */ - if ( sts[0]->cng_dirac_flag || ( ivas_format == SBA_FORMAT && st_ivas->sba_mode == SBA_MODE_SPAR ) ) + if ( sts[0]->cng_sba_flag || ( ivas_format == SBA_FORMAT && st_ivas->sba_mode == SBA_MODE_SPAR ) ) { reset_metadata_spatial( ivas_format, hCPE->hMetaData, hCPE->element_brate, &tmp, sts[0]->core_brate, nb_bits_metadata, st_ivas->sba_mode, hCPE->element_mode ); } diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index 5949e5ceabdc5962a3e375262a38b376114b3be9..0e67b75cb59f69d18faae889b849e608ec4dc98d 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -473,21 +473,14 @@ ivas_error ivas_init_encoder( { st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list[cpe_id * CPE_CHANNELS + n]; reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); + if ( hEncoderConfig->Opt_DTX_ON ) { - if ( st_ivas->sba_mode == SBA_MODE_SPAR ) - { - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_spar_flag = 1; - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_dirac_flag = 1; - } - else - { - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_dirac_flag = 1; - } + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_sba_flag = 1; } } - /* Metadata only initialized for the last cpe index */ + /* Metadata only initialized for the last CPE index */ if ( cpe_id == st_ivas->nCPE - 1 ) { st_ivas->hCPE[cpe_id]->hMetaData->ind_list = ind_list_metadata[st_ivas->nSCE]; @@ -565,7 +558,7 @@ ivas_error ivas_init_encoder( reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); } - /* Metadata only initialized for the last cpe index*/ + /* Metadata only initialized for the last CPE index*/ if ( cpe_id == st_ivas->nCPE - 1 ) { st_ivas->hCPE[cpe_id]->hMetaData->ind_list = ind_list_metadata[st_ivas->nSCE]; @@ -650,7 +643,7 @@ ivas_error ivas_init_encoder( reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); } - /* Metadata only initialized for the last cpe index*/ + /* Metadata only initialized for the last CPE index*/ if ( cpe_id == st_ivas->nCPE - 1 ) { st_ivas->hCPE[cpe_id]->hMetaData->ind_list = ind_list_metadata[st_ivas->nSCE]; diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index b28565ecacf16d36ce208a259fc66bb56f4475e5..c2ff8bc5db35c7a0eaa721a67f0bada0d6058fcf 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -410,17 +410,10 @@ ivas_error ivas_sba_enc_reconfigure( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->nb_bits_tot = nb_bits_tot; st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->next_ind = next_ind; } + if ( st_ivas->hEncoderConfig->Opt_DTX_ON ) { - if ( st_ivas->sba_mode == SBA_MODE_SPAR ) - { - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_spar_flag = 1; - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_dirac_flag = 1; - } - else - { - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_dirac_flag = 1; - } + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_sba_flag = 1; } } } diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index 910a31f2dc4beb00c51b9e31f60bea28be2f94e8..de0451d3bc63d17a62bf119c6059203aed678ab0 100644 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -1156,8 +1156,7 @@ typedef struct enc_core_structure int16_t Opt_AMR_WB; /* flag indicating AMR-WB IO mode */ int16_t Opt_DTX_ON; /* flag indicating DTX operation */ int16_t cng_type; /* flag indicating LP or CLDFB based SID/CNG */ - int16_t cng_dirac_flag; /* flag indicating CNG/SID for DirAC 2TC */ - int16_t cng_spar_flag; /* flag indicating CNG/SID for SPAR 2TC */ + int16_t cng_sba_flag; /* flag indicating CNG/SID for SBA 2TC */ int16_t Opt_SC_VBR; /* flag indicating SC-VBR mode */ int16_t last_Opt_SC_VBR; /* flag indicating prev frame's SC-VBR mode */ int16_t low_rate_mode; /* low-rate mode flag */