Loading lib_enc/fd_cng_enc_fx.c +0 −21 Original line number Diff line number Diff line Loading @@ -1941,7 +1941,6 @@ void perform_noise_estimation_enc_ivas_fx( * Generate a bitstream out of the partition levels *-------------------------------------------------------------------*/ #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID #define FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP /* FhG: activate FdCng_encodeSID higher precision in IVAS case - development */ void FdCng_encodeSID_fx( Encoder_State *corest /* i/o: encoder state structure */ ) Loading Loading @@ -1973,9 +1972,7 @@ void FdCng_encodeSID_fx( /* Convert to LOG */ e_fx = L_deposit_l( 0 ); #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP IF( EQ_16( element_mode, EVS_MONO ) ) #endif { Word16 normShiftN = BASOP_util_norm_s_bands2shift( N ); Word16 normFacN = getNormReciprocalWord16( N ); Loading @@ -1992,7 +1989,6 @@ void FdCng_encodeSID_fx( } e_fx = L_shl( Mpy_32_16_1( e_fx, shl( normFacN, sub( normShiftN, 1 ) ) ), 1 ); } #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP ELSE { set_zero_fx( v_fx, FDCNG_VQ_MAX_LEN ); Loading @@ -2012,15 +2008,12 @@ void FdCng_encodeSID_fx( e_fx = L_add( e_fx, L_shr( v_fx[i], 1 ) ); // Q19, add one bit headroom } } #endif /* Normalize MSVQ input */ gain_fx = 0; move32(); #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP IF( EQ_16( element_mode, EVS_MONO ) ) #endif { Word16 normFacGain = getNormReciprocalWord16( N_GAIN_MAX - N_GAIN_MIN ); Word16 normShiftGain = BASOP_util_norm_s_bands2shift( N_GAIN_MAX - N_GAIN_MIN ); Loading @@ -2031,7 +2024,6 @@ void FdCng_encodeSID_fx( } gain_fx = L_shl( Mpy_32_16_1( gain_fx, shl( normFacGain, sub( normShiftGain, 1 ) ) ), 1 ); } #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP ELSE { FOR( i = N_GAIN_MIN; i < N_GAIN_MAX; i++ ) Loading @@ -2048,7 +2040,6 @@ void FdCng_encodeSID_fx( move32(); } } #endif /*MSVQ*/ IF( EQ_16( element_mode, EVS_MONO ) ) Loading Loading @@ -2109,9 +2100,7 @@ void FdCng_encodeSID_fx( /* Compute gain */ gain_fx = 0; move32(); #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP IF( EQ_16( element_mode, EVS_MONO ) ) #endif { Word16 normShiftN = BASOP_util_norm_s_bands2shift( N ); Word16 normFacN = getNormReciprocalWord16( N ); Loading @@ -2122,7 +2111,6 @@ void FdCng_encodeSID_fx( } gain_fx = L_sub( e_fx, L_shl( Mpy_32_16_1( gain_fx, shl( normFacN, sub( normShiftN, 1 ) ) ), 1 ) ); } #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP ELSE { Word16 v_e = sub( 31, sub( 20, find_guarded_bits_fx( N ) ) ); Loading @@ -2134,7 +2122,6 @@ void FdCng_encodeSID_fx( gain_fx = Mpy_32_16_1( L_sub( e_fx, gain_fx ), div_s( 1, N ) ); // Q = 31 - v_e gain_fx = L_shl( gain_fx, sub( v_e, 8 ) ); // Q23 } #endif /* Apply bitrate-dependant scale */ apply_scale( &gain_fx, hFdCngCom->CngBandwidth, hFdCngCom->CngBitrate, Loading @@ -2143,22 +2130,18 @@ void FdCng_encodeSID_fx( /* Quantize gain */ #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP IF( EQ_16( element_mode, EVS_MONO ) ) #endif { /*Q14.23 format */ gain_fx = L_add( gain_fx, L_shr( gain_fx, 1 ) ); gain_fx = L_add( gain_fx, 507510784l /*60.5 Q23*/ ); index = extract_l( L_shr( gain_fx, WORD32_BITS - 1 - 8 ) ); } #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP ELSE { temp = Madd_32_32( L_shl( GAIN_Q_OFFSET_IVAS_FX_Q0, 22 ), gain_fx, 1610612736 /*1.5 in Q30*/ ); // Q22 index = extract_l( L_shr( L_add( temp, ONE_IN_Q21 ), 22 ) ); // Q0 } #endif if ( index < 0 ) { Loading @@ -2173,9 +2156,7 @@ void FdCng_encodeSID_fx( } /* Apply gain and undo log */ #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP IF( EQ_16( element_mode, EVS_MONO ) ) #endif { Word32 E_ExpLd64; /* gain Q14.23 format */ Loading Loading @@ -2217,7 +2198,6 @@ void FdCng_encodeSID_fx( move32(); } } #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP ELSE { Word16 v_e = sub( 31, sub( 20, find_guarded_bits_fx( N ) ) ); Loading @@ -2239,7 +2219,6 @@ void FdCng_encodeSID_fx( move32(); } } #endif /* NB last band energy compensation */ IF( EQ_16( hFdCngCom->CngBandwidth, NB ) ) Loading Loading
lib_enc/fd_cng_enc_fx.c +0 −21 Original line number Diff line number Diff line Loading @@ -1941,7 +1941,6 @@ void perform_noise_estimation_enc_ivas_fx( * Generate a bitstream out of the partition levels *-------------------------------------------------------------------*/ #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID #define FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP /* FhG: activate FdCng_encodeSID higher precision in IVAS case - development */ void FdCng_encodeSID_fx( Encoder_State *corest /* i/o: encoder state structure */ ) Loading Loading @@ -1973,9 +1972,7 @@ void FdCng_encodeSID_fx( /* Convert to LOG */ e_fx = L_deposit_l( 0 ); #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP IF( EQ_16( element_mode, EVS_MONO ) ) #endif { Word16 normShiftN = BASOP_util_norm_s_bands2shift( N ); Word16 normFacN = getNormReciprocalWord16( N ); Loading @@ -1992,7 +1989,6 @@ void FdCng_encodeSID_fx( } e_fx = L_shl( Mpy_32_16_1( e_fx, shl( normFacN, sub( normShiftN, 1 ) ) ), 1 ); } #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP ELSE { set_zero_fx( v_fx, FDCNG_VQ_MAX_LEN ); Loading @@ -2012,15 +2008,12 @@ void FdCng_encodeSID_fx( e_fx = L_add( e_fx, L_shr( v_fx[i], 1 ) ); // Q19, add one bit headroom } } #endif /* Normalize MSVQ input */ gain_fx = 0; move32(); #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP IF( EQ_16( element_mode, EVS_MONO ) ) #endif { Word16 normFacGain = getNormReciprocalWord16( N_GAIN_MAX - N_GAIN_MIN ); Word16 normShiftGain = BASOP_util_norm_s_bands2shift( N_GAIN_MAX - N_GAIN_MIN ); Loading @@ -2031,7 +2024,6 @@ void FdCng_encodeSID_fx( } gain_fx = L_shl( Mpy_32_16_1( gain_fx, shl( normFacGain, sub( normShiftGain, 1 ) ) ), 1 ); } #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP ELSE { FOR( i = N_GAIN_MIN; i < N_GAIN_MAX; i++ ) Loading @@ -2048,7 +2040,6 @@ void FdCng_encodeSID_fx( move32(); } } #endif /*MSVQ*/ IF( EQ_16( element_mode, EVS_MONO ) ) Loading Loading @@ -2109,9 +2100,7 @@ void FdCng_encodeSID_fx( /* Compute gain */ gain_fx = 0; move32(); #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP IF( EQ_16( element_mode, EVS_MONO ) ) #endif { Word16 normShiftN = BASOP_util_norm_s_bands2shift( N ); Word16 normFacN = getNormReciprocalWord16( N ); Loading @@ -2122,7 +2111,6 @@ void FdCng_encodeSID_fx( } gain_fx = L_sub( e_fx, L_shl( Mpy_32_16_1( gain_fx, shl( normFacN, sub( normShiftN, 1 ) ) ), 1 ) ); } #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP ELSE { Word16 v_e = sub( 31, sub( 20, find_guarded_bits_fx( N ) ) ); Loading @@ -2134,7 +2122,6 @@ void FdCng_encodeSID_fx( gain_fx = Mpy_32_16_1( L_sub( e_fx, gain_fx ), div_s( 1, N ) ); // Q = 31 - v_e gain_fx = L_shl( gain_fx, sub( v_e, 8 ) ); // Q23 } #endif /* Apply bitrate-dependant scale */ apply_scale( &gain_fx, hFdCngCom->CngBandwidth, hFdCngCom->CngBitrate, Loading @@ -2143,22 +2130,18 @@ void FdCng_encodeSID_fx( /* Quantize gain */ #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP IF( EQ_16( element_mode, EVS_MONO ) ) #endif { /*Q14.23 format */ gain_fx = L_add( gain_fx, L_shr( gain_fx, 1 ) ); gain_fx = L_add( gain_fx, 507510784l /*60.5 Q23*/ ); index = extract_l( L_shr( gain_fx, WORD32_BITS - 1 - 8 ) ); } #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP ELSE { temp = Madd_32_32( L_shl( GAIN_Q_OFFSET_IVAS_FX_Q0, 22 ), gain_fx, 1610612736 /*1.5 in Q30*/ ); // Q22 index = extract_l( L_shr( L_add( temp, ONE_IN_Q21 ), 22 ) ); // Q0 } #endif if ( index < 0 ) { Loading @@ -2173,9 +2156,7 @@ void FdCng_encodeSID_fx( } /* Apply gain and undo log */ #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP IF( EQ_16( element_mode, EVS_MONO ) ) #endif { Word32 E_ExpLd64; /* gain Q14.23 format */ Loading Loading @@ -2217,7 +2198,6 @@ void FdCng_encodeSID_fx( move32(); } } #ifdef FIX_2489_HARMONIZE_FdCng_encodeSID_IVASHP ELSE { Word16 v_e = sub( 31, sub( 20, find_guarded_bits_fx( N ) ) ); Loading @@ -2239,7 +2219,6 @@ void FdCng_encodeSID_fx( move32(); } } #endif /* NB last band energy compensation */ IF( EQ_16( hFdCngCom->CngBandwidth, NB ) ) Loading