Commit 42ff0fc9 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

mc_dec_reconfig fixed point changes

parent 6dc59660
Loading
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -4127,8 +4127,7 @@ ivas_error ivas_cldfb_dec_reconfig_fx(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                                */
    const Word16 nchan_transport_old,                          /* i  : number of TCs in previous frame                       */
    Word16 numCldfbAnalyses_old,                               /* i  : number of CLDFB analysis instances in previous frame  */
    const Word16 numCldfbSyntheses_old,                         /* i  : number of CLDFB synthesis instances in previous frame */
    const Word16 Q_cldfbSynDec
    const Word16 numCldfbSyntheses_old                         /* i  : number of CLDFB synthesis instances in previous frame */
);
#endif // IVAS_FLOAT_FIXED

@@ -4630,6 +4629,11 @@ void ivas_param_mc_enc(
    float *data_f[],                                            /* i/o: input/transport MC data                             */
    const int16_t input_frame                                   /* i  : input frame length                                  */
);
#ifdef IVAS_FLOAT_FIXED
ivas_error ivas_param_mc_dec_open_fx(
    Decoder_Struct *st_ivas /* i/o: IVAS decoder structure  */
);
#endif // IVAS_FLOAT_FIXED

ivas_error ivas_param_mc_dec_open(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                              */
@@ -4644,6 +4648,11 @@ ivas_error ivas_param_mc_dec_reconfig_fx(
ivas_error ivas_param_mc_dec_reconfig(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                              */
);
#ifdef IVAS_FLOAT_FIXED
void ivas_param_mc_dec_close_fx(
	PARAM_MC_DEC_HANDLE *hParamMC_out /* i/o: Parametric MC decoder handle   */
);
#endif // IVAS_FLOAT_FIXED

void ivas_param_mc_dec_close(
    PARAM_MC_DEC_HANDLE *hParamMC                               /* i/o: Parametric MC decoder handle                        */
+0 −1
Original line number Diff line number Diff line
@@ -150,7 +150,6 @@ ivas_error ivas_omasa_ism_metadata_dec_fx(
ivas_error ivas_omasa_dec_config_fx(
    Decoder_Struct *st_ivas,   /* i/o: IVAS decoder structure                                  */
    UWord16 *nSamplesRendered, /* o  : number of samples flushed from the previous frame (JBM) */
    Word16 Q_cldfbSynDec,      /* i  : Q factor for cldfb state                                */
    Word16 *num_src,
    Word16 SrcInd[MAX_NUM_TDREND_CHANNELS],
    Word16 *data               /* o  : output synthesis signal                                 */
+4 −4
Original line number Diff line number Diff line
@@ -953,8 +953,8 @@ ivas_error ivas_cldfb_dec_reconfig_fx(
    Decoder_Struct *st_ivas,            /* i/o: IVAS decoder structure                                */
    const Word16 nchan_transport_old,  /* i  : number of TCs in previous frame                       */
    Word16 numCldfbAnalyses_old,       /* i  : number of CLDFB analysis instances in previous frame  */
    const Word16 numCldfbSyntheses_old, /* i  : number of CLDFB synthesis instances in previous frame */
    const Word16 Q_cldfbSynDec )
    const Word16 numCldfbSyntheses_old /* i  : number of CLDFB synthesis instances in previous frame */
)
{
    Word16 i, numCldfbAnalyses, numCldfbSyntheses;
    DECODER_CONFIG_HANDLE hDecoderConfig;
@@ -974,7 +974,7 @@ ivas_error ivas_cldfb_dec_reconfig_fx(
    /* resample CLDFB analysis instances */
    FOR( i = 0; i < min( numCldfbAnalyses, numCldfbAnalyses_old ); i++ )
    {
        IF( EQ_32( L_mult0( extract_l(L_mult0( st_ivas->cldfbAnaDec[i]->no_channels, st_ivas->cldfbAnaDec[i]->no_col )), FRAMES_PER_SEC ), hDecoderConfig->output_Fs ) )
        IF( NE_32( L_mult0( extract_l(L_mult0( st_ivas->cldfbAnaDec[i]->no_channels, st_ivas->cldfbAnaDec[i]->no_col )), FRAMES_PER_SEC ), hDecoderConfig->output_Fs ) )
        {
            resampleCldfb_ivas_fx( st_ivas->cldfbAnaDec[i], hDecoderConfig->output_Fs );
        }
@@ -1027,7 +1027,7 @@ ivas_error ivas_cldfb_dec_reconfig_fx(
        FOR( i = 0; i < st_ivas->cldfbAnaDec[0]->cldfb_state_length; i++ )
         st_ivas->cldfbAnaDec[0]->cldfb_state_fx[i] = L_shr( st_ivas->cldfbAnaDec[0]->cldfb_state_fx[i], 16 ); // Scaling down from 27 to 11
        FOR( i = 0; i < st_ivas->cldfbSynDec[0]->cldfb_state_length; i++ )
        st_ivas->cldfbSynDec[0]->cldfb_state_fx[i] = L_shr( st_ivas->cldfbSynDec[0]->cldfb_state_fx[i], 21- Q_cldfbSynDec); // Scaling down from 21 to Q_cldfbSynDec
        st_ivas->cldfbSynDec[0]->cldfb_state_fx[i] = L_shr( st_ivas->cldfbSynDec[0]->cldfb_state_fx[i], 21 - 11); // Scaling down from 21 to 11
    }
    return IVAS_ERR_OK;
}
+2 −2
Original line number Diff line number Diff line
@@ -430,7 +430,7 @@ ivas_error ivas_dec_setup(
                        }
                        ////////////////////////////////////////////////////////////////

                        IF( ( error = ivas_omasa_dec_config_fx( st_ivas, nSamplesRendered, Q_cldfbSynDec, &num_src, SrcInd, data ) ) != IVAS_ERR_OK )
                        IF( ( error = ivas_omasa_dec_config_fx( st_ivas, nSamplesRendered, &num_src, SrcInd, data ) ) != IVAS_ERR_OK )
                        {
                            return error;
                        }
@@ -571,7 +571,7 @@ ivas_error ivas_dec_setup(
                    }
                    ////////////////////////////////////////////////////////////////

                    IF( ( error = ivas_omasa_dec_config_fx( st_ivas, nSamplesRendered, Q_cldfbSynDec, &num_src, SrcInd, data ) ) != IVAS_ERR_OK )
                    IF( ( error = ivas_omasa_dec_config_fx( st_ivas, nSamplesRendered, &num_src, SrcInd, data ) ) != IVAS_ERR_OK )
                    {
                        return error;
                    }
+2 −3
Original line number Diff line number Diff line
@@ -300,8 +300,7 @@ static ivas_error ivas_ism_bitrate_switching_dec_fx(
     * CLDFB instances
     *-----------------------------------------------------------------*/

    Word16 Q_cldfbSynDec = Q21;
    IF ( ( error = ivas_cldfb_dec_reconfig_fx( st_ivas, nchan_transport_old, numCldfbAnalyses_old, numCldfbSyntheses_old ,Q_cldfbSynDec) ) != IVAS_ERR_OK )
    IF ( ( error = ivas_cldfb_dec_reconfig_fx( st_ivas, nchan_transport_old, numCldfbAnalyses_old, numCldfbSyntheses_old ) ) != IVAS_ERR_OK )
    {
        return error;
    }
@@ -862,7 +861,7 @@ static ivas_error ivas_ism_bitrate_switching_dec(
        floatToFixed_arrL( st_ivas->cldfbSynDec[0]->cldfb_state, st_ivas->cldfbSynDec[0]->cldfb_state_fx, Q_cldfbSynDec, sub( st_ivas->cldfbAnaDec[i]->p_filter_length, st_ivas->cldfbAnaDec[i]->no_channels ) );
    }
#endif
    IF ( ( error = ivas_cldfb_dec_reconfig_fx( st_ivas, nchan_transport_old, numCldfbAnalyses_old, numCldfbSyntheses_old ,Q_cldfbSynDec) ) != IVAS_ERR_OK )
    IF ( ( error = ivas_cldfb_dec_reconfig_fx( st_ivas, nchan_transport_old, numCldfbAnalyses_old, numCldfbSyntheses_old ) ) != IVAS_ERR_OK )
    {
        return error;
    }
Loading