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/stat_com.h +2 −3 Original line number Diff line number Diff line Loading @@ -781,8 +781,7 @@ typedef struct cldfb_filter_bank_struct Word16 filtermode; float scale_flt; /* scaling of frequency domain */ Word16 scale; Word16 q_scale; Word16 scale; /* scaling of frequency domain */ /* Q8 */ } CLDFB_FILTER_BANK, *HANDLE_CLDFB_FILTER_BANK; Loading lib_dec/fd_cng_dec.c +3 −3 Original line number Diff line number Diff line Loading @@ -3029,8 +3029,8 @@ void generate_masking_noise_dirac_ivas_fx( q_shift = norm_l( scale_fx ); scale_fx = L_shl( scale_fx, q_shift ); q_scale = add( q_scale, q_shift ); scale_fx = Mpy_32_32( scale_fx, Mpy_32_16_1( L_mult( h_cldfb->scale, h_cldfb->scale ), CLDFB_SCALING ) ); // Q = q_scale + 2q -34 q_scale = sub( add( q_scale, i_mult( 2, h_cldfb->q_scale ) ), 34 ); scale_fx = Mpy_32_32( scale_fx, Mpy_32_16_1( L_mult( h_cldfb->scale, h_cldfb->scale ), CLDFB_SCALING ) ); // Q = q_scale + 2 * Q8 -34 q_scale = sub( add( q_scale, 2 * Q8 ), 31 ); ptr_level_fx = hFdCngCom->cngNoiseLevel + hFdCngCom->stopFFTbin - hFdCngCom->startBand; q_ptr_level = 31 - hFdCngCom->cngNoiseLevelExp; move16(); Loading @@ -3043,7 +3043,7 @@ void generate_masking_noise_dirac_ivas_fx( scale_fx = L_shl( scale_fx, q_shift ); q_scale = add( q_scale, q_shift ); num = Mpy_32_32( scale_fx, *ptr_level_fx ); q_num = sub( add( q_scale, q_ptr_level ), 30 ); q_num = sub( add( q_scale, q_ptr_level ), 31 ); exp = sub( 31, q_num ); num = Sqrt32( num, &exp ); /* Real part in CLDFB band */ Loading lib_dec/ivas_cpe_dec_fx.c +0 −6 Original line number Diff line number Diff line Loading @@ -141,12 +141,6 @@ ivas_error ivas_cpe_dec_fx( hCPE->hCoreCoder[ind1]->hHQ_core->q_old_outLB_fx = q_old_out_LB; } } // q_tcxltp_mem_in_float = 11; FOR( Word16 ind2 = 0; ind2 < 2; ind2++ ) { IF( hCPE->hCoreCoder[ind2] && hCPE->hCoreCoder[ind2]->cldfbSyn ) hCPE->hCoreCoder[ind2]->cldfbSyn->scale = (Word16) ( hCPE->hCoreCoder[ind2]->cldfbSyn->scale_flt * ( 1u << norm_s( (Word16) hCPE->hCoreCoder[0]->cldfbSyn->scale_flt ) ) ); } #endif // Float to fix conversions IF( ( error = stereo_memory_dec_fx( ivas_total_brate, hCPE, nb_bits_metadata, st_ivas->hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->mc_mode, st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) Loading 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/stat_com.h +2 −3 Original line number Diff line number Diff line Loading @@ -781,8 +781,7 @@ typedef struct cldfb_filter_bank_struct Word16 filtermode; float scale_flt; /* scaling of frequency domain */ Word16 scale; Word16 q_scale; Word16 scale; /* scaling of frequency domain */ /* Q8 */ } CLDFB_FILTER_BANK, *HANDLE_CLDFB_FILTER_BANK; Loading
lib_dec/fd_cng_dec.c +3 −3 Original line number Diff line number Diff line Loading @@ -3029,8 +3029,8 @@ void generate_masking_noise_dirac_ivas_fx( q_shift = norm_l( scale_fx ); scale_fx = L_shl( scale_fx, q_shift ); q_scale = add( q_scale, q_shift ); scale_fx = Mpy_32_32( scale_fx, Mpy_32_16_1( L_mult( h_cldfb->scale, h_cldfb->scale ), CLDFB_SCALING ) ); // Q = q_scale + 2q -34 q_scale = sub( add( q_scale, i_mult( 2, h_cldfb->q_scale ) ), 34 ); scale_fx = Mpy_32_32( scale_fx, Mpy_32_16_1( L_mult( h_cldfb->scale, h_cldfb->scale ), CLDFB_SCALING ) ); // Q = q_scale + 2 * Q8 -34 q_scale = sub( add( q_scale, 2 * Q8 ), 31 ); ptr_level_fx = hFdCngCom->cngNoiseLevel + hFdCngCom->stopFFTbin - hFdCngCom->startBand; q_ptr_level = 31 - hFdCngCom->cngNoiseLevelExp; move16(); Loading @@ -3043,7 +3043,7 @@ void generate_masking_noise_dirac_ivas_fx( scale_fx = L_shl( scale_fx, q_shift ); q_scale = add( q_scale, q_shift ); num = Mpy_32_32( scale_fx, *ptr_level_fx ); q_num = sub( add( q_scale, q_ptr_level ), 30 ); q_num = sub( add( q_scale, q_ptr_level ), 31 ); exp = sub( 31, q_num ); num = Sqrt32( num, &exp ); /* Real part in CLDFB band */ Loading
lib_dec/ivas_cpe_dec_fx.c +0 −6 Original line number Diff line number Diff line Loading @@ -141,12 +141,6 @@ ivas_error ivas_cpe_dec_fx( hCPE->hCoreCoder[ind1]->hHQ_core->q_old_outLB_fx = q_old_out_LB; } } // q_tcxltp_mem_in_float = 11; FOR( Word16 ind2 = 0; ind2 < 2; ind2++ ) { IF( hCPE->hCoreCoder[ind2] && hCPE->hCoreCoder[ind2]->cldfbSyn ) hCPE->hCoreCoder[ind2]->cldfbSyn->scale = (Word16) ( hCPE->hCoreCoder[ind2]->cldfbSyn->scale_flt * ( 1u << norm_s( (Word16) hCPE->hCoreCoder[0]->cldfbSyn->scale_flt ) ) ); } #endif // Float to fix conversions IF( ( error = stereo_memory_dec_fx( ivas_total_brate, hCPE, nb_bits_metadata, st_ivas->hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->mc_mode, st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) Loading