Commit 337e4aca authored by Nishant S Kulgod's avatar Nishant S Kulgod
Browse files

commit 1

parent 23094e13
Loading
Loading
Loading
Loading
Loading
+14 −28
Original line number Diff line number Diff line
@@ -2043,8 +2043,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->p_filter_sf = (Word16) 17036;
                hs->p_filter = CLDFB80_10_fx;
                hs->q_scale = norm_s( (Word16) CLDFB80_10_SCALE );
                hs->scale = (Word16) ( CLDFB80_10_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = CLDFB80_10_SCALE_FX_Q8;
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2064,8 +2063,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15388;
                hs->p_filter = LDQMF_10_fx;
                hs->q_scale = norm_s( (Word16) LDQMF_10_SCALE );
                hs->scale = (Word16) ( LDQMF_10_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = LDQMF_10_SCALE_FX_Q8;
#endif
            }
            break;
@@ -2098,8 +2096,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->p_filter_sf = (Word16) 17051;
                hs->p_filter = CLDFB80_16_fx;
                hs->q_scale = norm_s( (Word16) CLDFB80_16_SCALE );
                hs->scale = (Word16) ( CLDFB80_16_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = CLDFB80_16_SCALE_FX_Q8;
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2119,8 +2116,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15388;
                hs->p_filter = LDQMF_16_fx;
                hs->q_scale = norm_s( (Word16) LDQMF_16_SCALE );
                hs->scale = (Word16) ( LDQMF_16_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = LDQMF_16_SCALE_FX_Q8;
#endif
            }
            break;
@@ -2153,8 +2149,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->p_filter_sf = (Word16) 17050;
                hs->p_filter = CLDFB80_20_fx;
                hs->q_scale = norm_s( (Word16) CLDFB80_20_SCALE );
                hs->scale = (Word16) ( CLDFB80_20_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = CLDFB80_20_SCALE_FX_Q8;
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2174,8 +2169,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15390;
                hs->p_filter = LDQMF_20_fx;
                hs->q_scale = norm_s( (Word16) LDQMF_20_SCALE );
                hs->scale = (Word16) ( LDQMF_20_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = LDQMF_20_SCALE_FX_Q8;
#endif
            }
            break;
@@ -2208,8 +2202,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->p_filter_sf = (Word16) 17051;
                hs->p_filter = CLDFB80_30_fx;
                hs->q_scale = norm_s( (Word16) CLDFB80_30_SCALE );
                hs->scale = (Word16) ( CLDFB80_30_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = CLDFB80_30_SCALE_FX_Q8;
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2229,8 +2222,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15388;
                hs->p_filter = LDQMF_30_fx;
                hs->q_scale = norm_s( (Word16) LDQMF_30_SCALE );
                hs->scale = (Word16) ( LDQMF_30_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = LDQMF_30_SCALE_FX_Q8;
#endif
            }
            break;
@@ -2263,8 +2255,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->p_filter_sf = (Word16) 17050;
                hs->p_filter = CLDFB80_32_fx;
                hs->q_scale = norm_s( (Word16) CLDFB80_32_SCALE );
                hs->scale = (Word16) ( CLDFB80_32_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = CLDFB80_32_SCALE_FX_Q8;
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2284,8 +2275,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15392;
                hs->p_filter = LDQMF_32_fx;
                hs->q_scale = norm_s( (Word16) LDQMF_32_SCALE );
                hs->scale = (Word16) ( LDQMF_32_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = LDQMF_32_SCALE_FX_Q8;
#endif
            }
            break;
@@ -2318,8 +2308,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_re_fx = NULL;
                hs->p_filter_sf = (Word16) 17051;
                hs->p_filter = CLDFB80_40_fx;
                hs->q_scale = norm_s( (Word16) CLDFB80_40_SCALE );
                hs->scale = (Word16) ( CLDFB80_40_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = CLDFB80_40_SCALE_FX_Q8;
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2339,8 +2328,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15391;
                hs->p_filter = LDQMF_40_fx;
                hs->q_scale = norm_s( (Word16) LDQMF_40_SCALE );
                hs->scale = (Word16) ( LDQMF_40_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = LDQMF_40_SCALE_FX_Q8;
#endif
            }
            break;
@@ -2373,8 +2361,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_im_fx = NULL;
                hs->p_filter_sf = (Word16) 17051;
                hs->p_filter = CLDFB80_60_fx;
                hs->q_scale = norm_s( (Word16) CLDFB80_60_SCALE );
                hs->scale = (Word16) ( CLDFB80_60_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = CLDFB80_60_SCALE_FX_Q8;
#endif
            }
            else if ( hs->prototype == CLDFB_PROTOTYPE_5_00MS )
@@ -2394,8 +2381,7 @@ static void cldfb_init_proto_and_twiddles(
                hs->rot_vec_syn_delay_im_fx = rot_vec_delay_im_LDQMF_fx;
                hs->p_filter_sf = (Word16) 15391;
                hs->p_filter = LDQMF_60_fx;
                hs->q_scale = norm_s( (Word16) LDQMF_60_SCALE );
                hs->scale = (Word16) ( LDQMF_60_SCALE * ( 1 << hs->q_scale ) );
                hs->scale = LDQMF_60_SCALE_FX_Q8;
#endif
            }
            break;
+14 −0
Original line number Diff line number Diff line
@@ -794,6 +794,13 @@ typedef enum
#define CLDFB80_32_SCALE                   88.303848f
#define CLDFB80_40_SCALE                   88.304726f
#define CLDFB80_60_SCALE                   88.028412f
#define CLDFB80_10_SCALE_FX_Q8             ( 22603 )
#define CLDFB80_16_SCALE_FX_Q8             ( 22605 )
#define CLDFB80_20_SCALE_FX_Q8             ( 22605 )
#define CLDFB80_30_SCALE_FX_Q8             ( 22588 )
#define CLDFB80_32_SCALE_FX_Q8             ( 22606 )
#define CLDFB80_40_SCALE_FX_Q8             ( 22606 )
#define CLDFB80_60_SCALE_FX_Q8             ( 22535 )

#define LDQMF_10_SCALE                      84.567841f
#define LDQMF_16_SCALE                      84.567932f
@@ -802,6 +809,13 @@ typedef enum
#define LDQMF_32_SCALE                      84.568001f
#define LDQMF_40_SCALE                      84.567986f
#define LDQMF_60_SCALE                      84.303284f
#define LDQMF_10_SCALE_FX_Q8                ( 21649 )
#define LDQMF_16_SCALE_FX_Q8                ( 21649 )
#define LDQMF_20_SCALE_FX_Q8                ( 21649 )
#define LDQMF_30_SCALE_FX_Q8                ( 21632 )
#define LDQMF_32_SCALE_FX_Q8                ( 21649 )
#define LDQMF_40_SCALE_FX_Q8                ( 21649 )
#define LDQMF_60_SCALE_FX_Q8                ( 21582 )

#define L_FFT                               256                     /* Spectral analysis - length of the FFT */
#define LOG2_L_FFT                          8                       /* Spectral analysis - log2 of L_FFT */
+11 −17
Original line number Diff line number Diff line
@@ -384,12 +384,12 @@ ivas_error create_cpe_dec(
ivas_error create_mct_dec_fx(
	Decoder_Struct *st_ivas /* i/o: IVAS decoder structure  */
);
#endif // IVAS_FLOAT_FIXED
#else // IVAS_FLOAT_FIXED

ivas_error create_mct_dec(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder handle                     */
);

#endif
ivas_error mct_dec_reconfigure(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                  */
    const uint16_t b_nchan_change                               /* i  : flag indicating different channel count */
@@ -926,11 +926,13 @@ void dtx_read_padding_bits(
    const int16_t num_bits 
);

#ifndef IVAS_FLOAT_FIXED
void ivas_apply_non_diegetic_panning(
    float *output_f[],                                          /* i/o: core-coder transport mono channel/stereo output             */
    const float non_diegetic_pan_gain,                          /* i  : non-diegetic panning gain                                   */
    const int16_t output_frame                                  /* i  : output frame length per channel                             */
);
#endif


/*----------------------------------------------------------------------------------*
@@ -4553,24 +4555,12 @@ void ivas_dirac_dec_get_response(
    const int16_t ambisonics_order
);
#ifdef IVAS_FLOAT_FIXED
void ivas_dirac_dec_get_response_fixed(
    const Word16 azimuth,
    const Word16 elevation,
    Word32 *response,
    const Word16 ambisonics_order );

void ivas_dirac_dec_get_response_fixed_Q(
    const Word16 azimuth,
    const Word16 elevation,
    Word32 *response,
    const Word16 ambisonics_order,
    Word16 Q);

void ivas_dirac_dec_get_response_fx(
    const Word16 azimuth,
    const Word16 elevation,
    Word32 * response,
    const Word16 ambisonics_order);
    const Word16 ambisonics_order,
    Word16 Q_out);
#endif

void calculate_hodirac_sector_parameters(
@@ -7005,11 +6995,13 @@ void ivas_mono_downmix_render_passive(
    const int16_t output_frame                                  /* i  : output frame length                                   */
);

#ifndef IVAS_FLOAT_FIXED
void ivas_mono_stereo_downmix_mcmasa(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                                          */
    float *output_f[],                                          /* i/o: synthesized core-coder transport channels/mono or stereo output */
    int16_t output_frame                                        /* i  : output frame length per channel                                 */
);
#endif
#ifdef IVAS_FLOAT_FIXED
void ivas_lfe_synth_with_filters_fx(
    MCMASA_LFE_SYNTH_DATA_HANDLE hMasaLfeSynth, /* i/o: LFE synthesis structure for McMASA  */
@@ -7384,11 +7376,13 @@ ivas_error ivas_omasa_dirac_td_binaural_jbm(
    float *output_f[]                                           /* o  : rendered time signal                    */
);
#endif
#ifndef IVAS_FLOAT_FIXED
void ivas_omasa_rearrange_channels(
    float *output[],                                            /* o  : output synthesis signal                 */
    const int16_t nchan_transport_ism,                          /* i  : number of ISM TCs                       */
    const int16_t output_frame                                  /* i  : output frame length per channel         */
);
#endif
#ifndef IVAS_FLOAT_FIXED
void ivas_omasa_dirac_rend_jbm(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder handle                     */
+12 −11
Original line number Diff line number Diff line
@@ -466,6 +466,7 @@ void ivas_qmetadata_close(
 *------------------------------------------------------------------------*/

/*! r: codeword index */
#ifndef IVAS_FLOAT_FIXED
int16_t masa_sq(
    const float in,         /* i  : input value     */
    const float *threshold, /* i  : partition       */
@@ -484,8 +485,7 @@ int16_t masa_sq(

    return -1;
}

#ifdef IVAS_FLOAT_FIXED
#else
Word16 masa_sq_fx(
    const Word32 in,         /* i  : input value     */
    const Word32 *threshold, /* i  : partition       */
@@ -728,7 +728,7 @@ ivas_error only_reduce_bits_direction_fx(

    return IVAS_ERR_OK;
}
#endif
#else
ivas_error only_reduce_bits_direction(
    int16_t *reduce_bits_out,
    IVAS_QDIRECTION *q_direction, /* i/o: quantized direction structure   */
@@ -834,6 +834,7 @@ ivas_error only_reduce_bits_direction(

    return IVAS_ERR_OK;
}
#endif


/*---------------------------------------------------------------
@@ -940,6 +941,7 @@ void update_bits_next_block(
 * Inverse DCT transform for 4D vector
 *---------------------------------------------------------------*/

#ifndef IVAS_FLOAT_FIXED
void invdct4_transform(
    float *v,         /* i  : input vector                */
    uint8_t *invdct_v /* o  : inverse transformed vector  */
@@ -976,8 +978,7 @@ void invdct4_transform(

    return;
}

#ifdef IVAS_FLOAT_FIXED
#else
void invdct4_transform_fx(
    Word32 *v_fx,     /* i  : input vector                */
    UWord8 *invdct_v, /* o  : inverse transformed vector  */
@@ -1052,7 +1053,7 @@ void masa_compensate_two_dir_energy_ratio_index_fx(

    return;
}
#endif
#else
void masa_compensate_two_dir_energy_ratio_index(
    const int16_t ratio_index_1, /* i  : Input ratio for direction 1           */
    const int16_t ratio_index_2, /* i  : Input ratio for direction 2           */
@@ -1091,7 +1092,7 @@ void masa_compensate_two_dir_energy_ratio_index(

    return;
}

#endif

/*---------------------------------------------------------------
 * set_qmetadata_maxbit_req()
@@ -1144,6 +1145,7 @@ void ivas_set_qmetadata_maxbit_req(
 *
 *------------------------------------------------------------------------*/

#ifndef IVAS_FLOAT_FIXED
void ivas_qmetadata_azimuth_elevation_to_direction_vector(
    const float az, /* i  : azimuth          */
    const float el, /* i  : elevation        */
@@ -1160,8 +1162,7 @@ void ivas_qmetadata_azimuth_elevation_to_direction_vector(

    return;
}

#ifdef IVAS_FLOAT_FIXED
#else
void ivas_qmetadata_azimuth_elevation_to_direction_vector_fx(
    const Word32 az, /* i  : azimuth          */
    const Word32 el, /* i  : elevation        */
@@ -1171,8 +1172,8 @@ void ivas_qmetadata_azimuth_elevation_to_direction_vector_fx(
    Word16 radius_length;
    Word16 elevation_fx, azimuth_fx;

    elevation_fx = extract_l( L_shr( Mpy_32_16_1( el, 91 ), 7 ) );
    azimuth_fx = extract_l( L_shr( Mpy_32_16_1( az, 91 ), 7 ) );
    elevation_fx = extract_l( L_shr( Mpy_32_32( el, 5965232 ), 7 ) );
    azimuth_fx = extract_l( L_shr( Mpy_32_32( az, 5965232 ), 7 ) );

    dv[2] = L_shl( getSineWord16R2( elevation_fx ), Q15 ); /* Q30 */
    move32();
+23 −254

File changed.

Preview size limit exceeded, changes collapsed.

Loading