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 +7 −19 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 @@ -4553,24 +4553,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 @@ -4626,9 +4614,9 @@ void ivas_mc_paramupmix_dec_digest_tc( #ifdef IVAS_FLOAT_FIXED void ivas_mc_paramupmix_dec_render( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint16_t nSamplesAsked, /* i : number of CLDFB slots requested */ uint16_t *nSamplesRendered, /* o : number of CLDFB slots rendered */ uint16_t *nSamplesAvailable, /* o : number of CLDFB slots still to render */ const UWord16 nSamplesAsked, /* i : number of CLDFB slots requested */ UWord16 *nSamplesRendered, /* o : number of CLDFB slots rendered */ UWord16 *nSamplesAvailable, /* o : number of CLDFB slots still to render */ Word32 *input_fx[], /* i : core-coder transport channels */ Word32 *output_fx[] /* i/o: synthesized core-coder transport channels */ ); 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 +7 −19 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 @@ -4553,24 +4553,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 @@ -4626,9 +4614,9 @@ void ivas_mc_paramupmix_dec_digest_tc( #ifdef IVAS_FLOAT_FIXED void ivas_mc_paramupmix_dec_render( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ const uint16_t nSamplesAsked, /* i : number of CLDFB slots requested */ uint16_t *nSamplesRendered, /* o : number of CLDFB slots rendered */ uint16_t *nSamplesAvailable, /* o : number of CLDFB slots still to render */ const UWord16 nSamplesAsked, /* i : number of CLDFB slots requested */ UWord16 *nSamplesRendered, /* o : number of CLDFB slots rendered */ UWord16 *nSamplesAvailable, /* o : number of CLDFB slots still to render */ Word32 *input_fx[], /* i : core-coder transport channels */ Word32 *output_fx[] /* i/o: synthesized core-coder transport channels */ ); 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