Commit dcc1b70f authored by vaclav's avatar vaclav
Browse files

- harmonize MD quantization and coding

- temporary switches MD_Q_PARAM_BE and MD_SMOOTH_PARAM_BE to keep ParamISM BE for the moment
parent d7729af7
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -335,11 +335,12 @@ typedef enum
#define PARAM_ISM_HYS_BUF_SIZE                  10

/* ISM DTX */
#ifdef PARAM_ISM_DTX_CNG
#ifdef DISCRETE_ISM_DTX_CNG
#define ISM_DTX_COH_SCA_BITS                    4
#else
#define PARAM_ISM_DTX_COH_SCA_BITS              4
#endif
#ifdef PARAM_ISM_DTX_CNG
#define PARAM_ISM_DTX_COH_SCA_BITS              4 // VE!!!!! to be removed
#define PARAM_ISM_DTX_AZI_BITS                  5 
#define PARAM_ISM_DTX_ELE_BITS                  4
#endif
@@ -362,10 +363,15 @@ enum
{
    IND_ISM_NUM_OBJECTS,
    IND_ISM_METADATA_FLAG = IND_ISM_NUM_OBJECTS + MAX_NUM_OBJECTS,
    IND_ISM_VAD_FLAG = IND_ISM_METADATA_FLAG + MAX_NUM_OBJECTS,
    IND_ISM_VAD_FLAG = IND_ISM_METADATA_FLAG + MAX_NUM_OBJECTS, /* in SID frames, it is "ism_mode" */
#ifdef PARAM_ISM_DTX_CNG
#ifdef DISCRETE_ISM_DTX_CNG
    IND_ISM_NOISY_SPEECH_FLAG = IND_ISM_VAD_FLAG + MAX_NUM_OBJECTS,
    IND_ISM_SCE_ID_DTX,
#else
    IND_ISM_SCE_ID_DTX = IND_ISM_VAD_FLAG + MAX_NUM_OBJECTS,
    IND_ISM_NOISY_SPEECH_FLAG,
#endif
    IND_ISM_DTX_COH_SCA,
#endif

+0 −4
Original line number Diff line number Diff line
@@ -531,7 +531,6 @@ int16_t ivas_get_ism_sid_quan_bitbudget(
    const int16_t num_obj,    /* i  : number of objects                 */
    int16_t *nBits_azimuth,   /* o  : number of Q bits for azimuth      */
    int16_t *nBits_elevation, /* o  : number of Q bits for elevation    */
    int16_t *nBits_ener,      /* o  : number of Q bits for energy       */
    int16_t *nBits_coh,       /* o  : number of Q bits for coherence    */
    int16_t *nBits_sce_id     /* o  : number of Q bits for sce_id_dtx   */
)
@@ -541,7 +540,6 @@ int16_t ivas_get_ism_sid_quan_bitbudget(
    low_res_q = 0;
    *nBits_azimuth = ISM_AZIMUTH_NBITS;
    *nBits_elevation = ISM_ELEVATION_NBITS;
    *nBits_ener = ISM_DTX_ENER_BITS;
    *nBits_coh = ISM_DTX_COH_SCA_BITS;
    *nBits_sce_id = 1;

@@ -550,8 +548,6 @@ int16_t ivas_get_ism_sid_quan_bitbudget(
        low_res_q = 1;
        *nBits_azimuth = PARAM_ISM_DTX_AZI_BITS;
        *nBits_elevation = PARAM_ISM_DTX_ELE_BITS;
        *nBits_ener = ISM_DTX_ENER_BITS - 1;
        *nBits_coh = ISM_DTX_COH_SCA_BITS - 1;
        *nBits_sce_id = 2;
    }

+8 −5
Original line number Diff line number Diff line
@@ -968,6 +968,10 @@ int16_t ivas_ism_dtx_enc_COMMON(
    ISM_METADATA_HANDLE hIsmMeta[],                             /* i/o: ISM metadata handles                        */
    int16_t md_diff_flag[],                                     /* o  : metadata differential flag                  */
    int16_t *sid_flag                                           /* o  : indication of SID frame                     */
#ifdef MD_Q_PARAM_BE
    ,
    const ISM_MODE ism_mode
#endif
);
#endif
/*! r: indication of DTX frame */
@@ -994,14 +998,14 @@ void ivas_ism_metadata_sid_enc(
    BSTR_ENC_HANDLE hBstr,                                      /* i/o: bitstream handle                            */
    int16_t nb_bits_metadata[]                                  /* o  : number of metadata bits                     */
);
#endif // VE!!!!!

#else
void ivas_param_ism_metadata_dtx_enc(
    BSTR_ENC_HANDLE hBstr,                                      /* i/o: bitstream handle                            */
    ISM_METADATA_HANDLE hIsmMeta[],                             /* i  : ISM metadata handles                        */
    ISM_DTX_HANDLE hISMDTX,                                     /* i/o: ISM DTX handle                              */
    PARAM_ISM_CONFIG_HANDLE hParamIsm                           /* i  : Param ISM Enc Handle                        */
);
#endif

#ifdef DISCRETE_ISM_DTX_CNG
ivas_error ivas_ism_metadata_sid_dec(
@@ -1016,11 +1020,11 @@ ivas_error ivas_ism_metadata_sid_dec(
    ISM_METADATA_HANDLE hIsmMeta[],                             /* i/o: ISM metadata handles                        */
    int16_t nb_bits_metadata[]                                  /* o  : number of metadata bits                     */
);
#endif // VE!!!!!

#else
void ivas_param_ism_metadata_dtx_dec(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                      */
);
#endif

void ivas_ism_get_sce_id_dtx(
    ISM_DTX_HANDLE hISMDTX,                                     /* i/o: ISM DTX handle                              */
@@ -1052,7 +1056,6 @@ int16_t ivas_get_ism_sid_quan_bitbudget(
    const int16_t num_obj,                                      /* i  : number of objects                           */
    int16_t *nBits_azimuth,                                     /* o  : number of Q bits for azimuth                */
    int16_t *nBits_elevation,                                   /* o  : number of Q bits for elevation              */
    int16_t *nBits_ener,                                        /* o  : number of Q bits for energy                 */
    int16_t *nBits_coh,                                         /* o  : number of Q bits for coherence              */
    int16_t *nBits_sce_id                                       /* o  : number of Q bits for sce_id_dtx             */
);
+3 −1
Original line number Diff line number Diff line
@@ -179,7 +179,9 @@


#define DISCRETE_ISM_DTX_CNG                            /* FhG/VA: contribution 15 - DTX/CNG for (discrete) ISM */

#define MD_Q_PARAM_BE
#define MD_SMOOTH_PARAM_BE
#define DTX_PARAM_BE

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
+1 −1
Original line number Diff line number Diff line
@@ -8523,7 +8523,7 @@ void generate_comfort_noise_dec_hf(
    HANDLE_FD_CNG_COM hFdCngCom /* i/o: FD_CNG structure containing all buffers and variables   */
#ifdef PARAM_ISM_DTX_CNG
    ,
    int16_t cng_flag /*i: CNG Flag */
    const int16_t cng_flag /* i  : CNG Flag */
#endif
);

Loading