Commit 39075d08 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Merge branch 'ivas_ism_enc_igf_enc_bs_fxd' into 'main'

[allow regression] ISM encoder path and IGF related functions converted to fixed point

See merge request !582
parents 183c1f13 380c22b3
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -1260,7 +1260,7 @@ void ivas_ism_metadata_close(
 *
 * Store last metadata values
 *-------------------------------------------------------------------*/

#ifndef IVAS_FLOAT_FIXED
void update_last_metadata(
    const int16_t nchan_ism,        /* i  : number of objects           */
    ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles        */
@@ -1284,8 +1284,7 @@ void update_last_metadata(

    return;
}

#ifdef IVAS_FLOAT_FIXED
#else
void update_last_metadata_fx(
    const Word16 nchan_ism,         /* i  : number of objects           */
    ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles        */
+2 −0
Original line number Diff line number Diff line
@@ -6691,12 +6691,14 @@ void ivas_ari_done_encoding_14bits(
    BSTR_ENC_HANDLE hBstr, Tastat *s
);

#ifndef IVAS_FLOAT_FIXED
void ivas_ari_encode_14bits_ext(
    BSTR_ENC_HANDLE hBstr,
    Tastat *s,
    int32_t symbol,
    const uint16_t *cum_freq
);
#endif // !IVAS_FLOAT_FIXED

void ivas_wrap_arround(
    int16_t *pArr,
+6 −0
Original line number Diff line number Diff line
@@ -7715,6 +7715,7 @@ int32_t mul_sbc_14bits_ivas(
void ari_start_encoding_14bits(
    Tastat *s );
#ifndef IVAS_FLOAT_FIXED
int16_t ari_encode_14bits_ext(
    int16_t *ptr,
    int16_t bp,
@@ -7726,6 +7727,7 @@ int16_t ari_done_encoding_14bits(
    int16_t *ptr,
    int16_t bp,
    Tastat *s );
#endif // !IVAS_FLOAT_FIXED
void ari_start_decoding_14bits_ivas(
    Decoder_State *st,
@@ -7794,12 +7796,14 @@ int16_t ari_encode_14bits_range(
    uint16_t cum_freq_low,
    uint16_t cum_freq_high );
#ifndef IVAS_FLOAT_FIXED
int16_t ari_encode_14bits_sign(
    int16_t *ptr,
    int16_t bp,
    int32_t bits,
    Tastat *s,
    int32_t sign );
#endif // !IVAS_FLOAT_FIXED
int16_t ari_done_cbr_encoding_14bits(
    int16_t *ptr,
@@ -10163,6 +10167,7 @@ void IGFSCFEncoderReset(
    IGFSCFENC_INSTANCE_HANDLE hPublicData /* i  : handle to public data or NULL in case there was no instance created */
);
#ifndef IVAS_FLOAT_FIXED
int16_t IGFSCFEncoderEncode(
    IGFSCFENC_INSTANCE_HANDLE hPublicData, /* i  : handle to public data or NULL in case there was no instance created          */
    BSTR_ENC_HANDLE hBstr,                 /* i/o: encoder bitstream handle                                                     */
@@ -10171,6 +10176,7 @@ int16_t IGFSCFEncoderEncode(
    const int16_t igfGridIdx,              /* i  : igf grid index see declaration of IGF_GRID_IDX for details                   */
    const int16_t indepFlag                /* i  : if 1 frame is independent, 0 = frame is coded with data from previous frame  */
);
#endif
void IGFSCFEncoderSaveContextState(
    IGFSCFENC_INSTANCE_HANDLE hPublicData, /* i  : handle to public data or NULL in case there was no instance created */
+36 −0
Original line number Diff line number Diff line
@@ -10230,6 +10230,7 @@ void ProcessStereoIGF_fx(
    const int16_t sp_aud_decision0,                   /* i  : sp_aud_decision0                        */
    const int32_t element_brate                       /* i  : element bitrate                         */
);
/*igf_enc.c*/
void IGFEncApplyStereo_fx(
    STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct,              /* i/o: MDCT stereo encoder structure           */
    Word16 ms_mask[2][MAX_SFB],                           /* i  : bandwise MS mask                        */
@@ -10244,6 +10245,41 @@ void IGFEncApplyStereo_fx(
    const Word32 element_brate                            /* i  : element bitrate                         */
);

void IGFSaveSpectrumForITF_ivas_fx(
    IGF_ENC_INSTANCE_HANDLE hIGFEnc, /* i/o: instance handle of IGF Encoder  */
    const Word16 igfGridIdx,         /* i  : IGF grid index                  */
    const Word32 *pITFSpectrum       /* i  : MDCT spectrum                   */
);
Word16 IGFEncWriteBitstream_ivas_fx(
    const IGF_ENC_INSTANCE_HANDLE hIGFEnc, /* i  : instance handle of IGF Encoder                                              */
    BSTR_ENC_HANDLE hBstr,                 /* i/o: encoder bitstream handle                                                    */
    Word16 *pBitOffset,                    /* i  : ptr to bitOffset counter                                                    */
    const Word16 igfGridIdx,               /* i  : igf grid index see declaration of IGF_GRID_IDX for details                  */
    const Word16 isIndepFlag               /* i  : if 1 frame is independent, 0 = frame is coded with data from previous frame */
);
/*igf_scf_enc.c*/
Word16 IGFSCFEncoderEncode(
    IGFSCFENC_INSTANCE_HANDLE hPublicData, /* i/o: handle to public data or NULL in case there was no instance created                           */
    BSTR_ENC_HANDLE hBstr,                 /* i/o: encoder bitstream handle                                                                      */
    const Word16 bitCount,                 /* i  : offset to the first bit in bitbuffer which should be readed by iisArithDecoderDecode function */
    Word16 *sfe,                           /* i  : ptr to an array which contain quantized scalefactor energies                                  */
    const Word16 igfGridIdx,               /* i  : igf grid index see declaration of IGF_GRID_IDX for details                                    */
    const Word16 indepFlag                 /* i  : if 1 frame is independent, 0 = frame is coded with data from previous frame                   */
);
/*ari_enc.c*/
Word16 ari_encode_14bits_ext(
    Word16 *ptr,
    Word16 bp,
    Tastat *s,
    Word32 symbol,
    const UWord16 *cum_freq );
Word16 ari_encode_14bits_sign(
    Word16 *ptr,
    Word16 bp,
    Word32 bits,
    Tastat *s,
    Word16 sign );
Word16 ari_done_encoding_14bits( Word16 *ptr, Word16 bp, Tastat *s );
#endif // IVAS_FLOAT_FIXED

#endif
+2 −2
Original line number Diff line number Diff line
@@ -2674,7 +2674,7 @@ void generate_masking_noise_lb_dirac_fx(
    n_samples_out = i_mult( shr( hFdCngCom->frameSize, 4 ), nCldfbTs );
    n_samples_start = 0;
    move16();
    Word16 exp_out = Q15;
    Word16 exp_out = Q11;
    move16();
    /*LB CLDFB - CNA from STFT*/
    IF( cna_flag )
@@ -2769,7 +2769,7 @@ void generate_masking_noise_lb_dirac_fx(
                /* Perform STFT synthesis */
                SynthesisSTFT_dirac_fx( fftBuffer, tdBuffer + n_samples_start, hFdCngCom->olapBufferSynth2_fx, hFdCngCom->olapWinSyn_fx, n_samples_out_loop, hFdCngCom );
            }
            hFdCngCom->fftBuffer_exp = 31 - 15;
            hFdCngCom->fftBuffer_exp = 31 - 11;
            move16();
            n_samples_out = sub( n_samples_out, hFdCngCom->frameSize );
            n_samples_start = add( n_samples_start, hFdCngCom->frameSize );
Loading