Loading lib_com/cldfb.c +14 −28 Original line number Diff line number Diff line Loading @@ -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 ) Loading @@ -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; Loading Loading @@ -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 ) Loading @@ -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; Loading Loading @@ -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 ) Loading @@ -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; Loading Loading @@ -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 ) Loading @@ -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; Loading Loading @@ -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 ) Loading @@ -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; Loading Loading @@ -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 ) Loading @@ -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; Loading Loading @@ -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 ) Loading @@ -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; Loading lib_com/cnst.h +14 −0 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 */ Loading lib_com/ivas_prot.h +11 −17 Original line number Diff line number Diff line Loading @@ -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 */ Loading Loading @@ -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 /*----------------------------------------------------------------------------------* Loading Loading @@ -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( Loading Loading @@ -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 */ Loading Loading @@ -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 */ Loading lib_com/ivas_qmetadata_com.c +12 −11 Original line number Diff line number Diff line Loading @@ -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 */ Loading @@ -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 */ Loading Loading @@ -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 */ Loading Loading @@ -834,6 +834,7 @@ ivas_error only_reduce_bits_direction( return IVAS_ERR_OK; } #endif /*--------------------------------------------------------------- Loading Loading @@ -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 */ Loading Loading @@ -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 */ Loading Loading @@ -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 */ Loading Loading @@ -1091,7 +1092,7 @@ void masa_compensate_two_dir_energy_ratio_index( return; } #endif /*--------------------------------------------------------------- * set_qmetadata_maxbit_req() Loading Loading @@ -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 */ Loading @@ -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 */ Loading @@ -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(); Loading lib_com/ivas_spar_com.c +23 −254 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
lib_com/cldfb.c +14 −28 Original line number Diff line number Diff line Loading @@ -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 ) Loading @@ -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; Loading Loading @@ -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 ) Loading @@ -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; Loading Loading @@ -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 ) Loading @@ -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; Loading Loading @@ -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 ) Loading @@ -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; Loading Loading @@ -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 ) Loading @@ -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; Loading Loading @@ -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 ) Loading @@ -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; Loading Loading @@ -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 ) Loading @@ -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; Loading
lib_com/cnst.h +14 −0 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 */ Loading
lib_com/ivas_prot.h +11 −17 Original line number Diff line number Diff line Loading @@ -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 */ Loading Loading @@ -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 /*----------------------------------------------------------------------------------* Loading Loading @@ -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( Loading Loading @@ -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 */ Loading Loading @@ -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 */ Loading
lib_com/ivas_qmetadata_com.c +12 −11 Original line number Diff line number Diff line Loading @@ -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 */ Loading @@ -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 */ Loading Loading @@ -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 */ Loading Loading @@ -834,6 +834,7 @@ ivas_error only_reduce_bits_direction( return IVAS_ERR_OK; } #endif /*--------------------------------------------------------------- Loading Loading @@ -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 */ Loading Loading @@ -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 */ Loading Loading @@ -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 */ Loading Loading @@ -1091,7 +1092,7 @@ void masa_compensate_two_dir_energy_ratio_index( return; } #endif /*--------------------------------------------------------------- * set_qmetadata_maxbit_req() Loading Loading @@ -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 */ Loading @@ -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 */ Loading @@ -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(); Loading
lib_com/ivas_spar_com.c +23 −254 File changed.Preview size limit exceeded, changes collapsed. Show changes