/* g729a_lpc - Decompiled by JODE * Visit http://jode.sourceforge.net/ */ package javaforce.codec.g729a; final class g729a_lpc implements g729a_constants { static void g729a_lp_analysis(float[] fs, g729a_encode_speech var_g729a_encode_speech) { float[] fs_0_ = new float[240]; float[] fs_1_ = new float[11]; float[] fs_2_ = new float[10]; float[] fs_3_ = new float[5]; float[] fs_4_ = new float[5]; g729a_window(fs_0_, 0, g729a_tables.g729a_wlp, 0, var_g729a_encode_speech.past_subframe_3); g729a_window(fs_0_, 40, g729a_tables.g729a_wlp, 40, var_g729a_encode_speech.past_subframe_2); g729a_window(fs_0_, 80, g729a_tables.g729a_wlp, 80, var_g729a_encode_speech.past_subframe_1); g729a_window(fs_0_, 120, g729a_tables.g729a_wlp, 120, var_g729a_encode_speech.present_subframe_1); g729a_window(fs_0_, 160, g729a_tables.g729a_wlp, 160, var_g729a_encode_speech.present_subframe_2); g729a_window(fs_0_, 200, g729a_tables.g729a_wlp, 200, var_g729a_encode_speech.future_subframe); g729a_utils.g729a_corel_11(fs_1_, fs_0_); if (fs_1_[0] < 1.0F) { fs_1_[0] = 1.0F; } for (int i = 0; i <= 10; i++) { fs_1_[i] *= g729a_tables.g729a_wlag[i]; } float f = -fs_1_[1] / fs_1_[0]; float f_5_ = f; float f_6_ = fs_1_[0] * (1.0F - f * f); if (!(f_6_ <= 0.0F)) { f = -(fs_1_[2] + f_5_ * fs_1_[1]) / f_6_; f_5_ += f * f_5_; float f_7_ = f; f_6_ *= 1.0F - f * f; if (!(f_6_ <= 0.0F)) { f = -(fs_1_[3] + f_5_ * fs_1_[2] + f_7_ * fs_1_[1]) / f_6_; float f_8_ = f_5_; f_5_ += f * f_7_; f_7_ += f * f_8_; float f_9_ = f; f_6_ *= 1.0F - f * f; if (!(f_6_ <= 0.0F)) { f = -(fs_1_[4] + f_5_ * fs_1_[3] + f_7_ * fs_1_[2] + f_9_ * fs_1_[1]) / f_6_; f_8_ = f_5_; f_5_ += f * f_9_; f_7_ += f * f_7_; f_9_ += f * f_8_; float f_10_ = f; f_6_ *= 1.0F - f * f; if (!(f_6_ <= 0.0F)) { f = -(fs_1_[5] + f_5_ * fs_1_[4] + f_7_ * fs_1_[3] + f_9_ * fs_1_[2] + f_10_ * fs_1_[1]) / f_6_; f_8_ = f_5_; f_5_ += f * f_10_; f_10_ += f * f_8_; f_8_ = f_7_; f_7_ += f * f_9_; f_9_ += f * f_8_; float f_11_ = f; f_6_ *= 1.0F - f * f; if (!(f_6_ <= 0.0F)) { f = -(fs_1_[6] + f_5_ * fs_1_[5] + f_7_ * fs_1_[4] + f_9_ * fs_1_[3] + f_10_ * fs_1_[2] + f_11_ * fs_1_[1]) / f_6_; f_8_ = f_5_; f_5_ += f * f_11_; f_11_ += f * f_8_; f_8_ = f_7_; f_7_ += f * f_10_; f_10_ += f * f_8_; f_9_ += f * f_9_; float f_12_ = f; f_6_ *= 1.0F - f * f; if (!(f_6_ <= 0.0F)) { f = -(fs_1_[7] + f_5_ * fs_1_[6] + f_7_ * fs_1_[5] + f_9_ * fs_1_[4] + f_10_ * fs_1_[3] + f_11_ * fs_1_[2] + f_12_ * fs_1_[1]) / f_6_; f_8_ = f_5_; f_5_ += f * f_12_; f_12_ += f * f_8_; f_8_ = f_7_; f_7_ += f * f_11_; f_11_ += f * f_8_; f_8_ = f_9_; f_9_ += f * f_10_; f_10_ += f * f_8_; float f_13_ = f; f_6_ *= 1.0F - f * f; if (!(f_6_ <= 0.0F)) { f = -(fs_1_[8] + f_5_ * fs_1_[7] + f_7_ * fs_1_[6] + f_9_ * fs_1_[5] + f_10_ * fs_1_[4] + f_11_ * fs_1_[3] + f_12_ * fs_1_[2] + f_13_ * fs_1_[1]) / f_6_; f_8_ = f_5_; f_5_ += f * f_13_; f_13_ += f * f_8_; f_8_ = f_7_; f_7_ += f * f_12_; f_12_ += f * f_8_; f_8_ = f_9_; f_9_ += f * f_11_; f_11_ += f * f_8_; f_10_ += f * f_10_; float f_14_ = f; f_6_ *= 1.0F - f * f; if (!(f_6_ <= 0.0F)) { f = -(fs_1_[9] + f_5_ * fs_1_[8] + f_7_ * fs_1_[7] + f_9_ * fs_1_[6] + f_10_ * fs_1_[5] + f_11_ * fs_1_[4] + f_12_ * fs_1_[3] + f_13_ * fs_1_[2] + f_14_ * fs_1_[1]) / f_6_; f_8_ = f_5_; f_5_ += f * f_14_; f_14_ += f * f_8_; f_8_ = f_7_; f_7_ += f * f_13_; f_13_ += f * f_8_; f_8_ = f_9_; f_9_ += f * f_12_; f_12_ += f * f_8_; f_8_ = f_10_; f_10_ += f * f_11_; f_11_ += f * f_8_; float f_15_ = f; f_6_ *= 1.0F - f * f; if (!(f_6_ <= 0.0F)) { f = -(fs_1_[10] + f_5_ * fs_1_[9] + f_7_ * fs_1_[8] + f_9_ * fs_1_[7] + f_10_ * fs_1_[6] + f_11_ * fs_1_[5] + f_12_ * fs_1_[4] + f_13_ * fs_1_[3] + f_14_ * fs_1_[2] + f_15_ * fs_1_[1]) / f_6_; f_8_ = f_5_; f_5_ += f * f_15_; f_15_ += f * f_8_; f_8_ = f_7_; f_7_ += f * f_14_; f_14_ += f * f_8_; f_8_ = f_9_; f_9_ += f * f_13_; f_13_ += f * f_8_; f_8_ = f_10_; f_10_ += f * f_12_; f_12_ += f * f_8_; f_11_ += f * f_11_; float f_16_ = f; f_6_ *= 1.0F - f * f; if (!(f_6_ <= 0.0F)) { float f_17_ = f_5_ + f_16_ - 1.0F; float f_18_ = f_7_ + f_15_ - f_17_; float f_19_ = f_9_ + f_14_ - f_18_; float f_20_ = f_10_ + f_13_ - f_19_; float f_21_ = f_11_ + f_12_ - f_20_; float f_22_ = 0.5F * f_21_; fs_3_[0] = f_17_; fs_3_[1] = f_18_; fs_3_[2] = f_19_; fs_3_[3] = f_20_; fs_3_[4] = f_22_; float f_23_ = f_5_ - f_16_ + 1.0F; float f_24_ = f_7_ - f_15_ + f_23_; float f_25_ = f_9_ - f_14_ + f_24_; float f_26_ = f_10_ - f_13_ + f_25_; float f_27_ = f_11_ - f_12_ + f_26_; float f_28_ = 0.5F * f_27_; fs_4_[0] = f_23_; fs_4_[1] = f_24_; fs_4_[2] = f_25_; fs_4_[3] = f_26_; fs_4_[4] = f_28_; boolean bool = false; float[] fs_29_ = fs_3_; int i = 0; float f_30_ = 1.0F; f_30_ = (g729a_tables.g729a_tab[0]); float f_31_ = g729a_chebps(f_30_, fs_29_); for (int i_32_ = 1; i_32_ < 51; i_32_++) { float f_33_ = f_30_; float f_34_ = f_31_; f_30_ = (g729a_tables.g729a_tab[i_32_]); f_31_ = g729a_chebps(f_30_, fs_29_); if (f_34_ * f_31_ <= 0.0F) { for (int i_35_ = 0; i_35_ < 2; i_35_++) { float f_36_ = ((f_33_ + f_30_) / 2.0F); float f_37_ = (g729a_chebps(f_36_, fs_29_)); if (f_31_ * f_37_ <= 0.0F) { f_34_ = f_37_; f_33_ = f_36_; } else { f_31_ = f_37_; f_30_ = f_36_; } } float f_38_; if (f_34_ == f_31_) { f_38_ = f_30_; } else { f_38_ = (f_30_ - (f_31_ * (f_33_ - f_30_) / (f_34_ - f_31_))); } fs_2_[i] = f_38_; if (++i >= 10) { break; } f_30_ = f_38_; if (!bool) { bool = true; fs_29_ = fs_4_; } else { bool = false; fs_29_ = fs_3_; } f_31_ = (g729a_chebps(f_30_, fs_29_)); } } if (i >= 10) { for (int i_39_ = 0; i_39_ < 10; i_39_++) { fs[i_39_] = fs_2_[i_39_]; } } } } } } } } } } } } } static void g729a_window(float[] fs, int i, float[] fs_40_, int i_41_, float[] fs_42_) { for (int i_43_ = 0; i_43_ < 40; i_43_++) { fs[i_43_ + i] = fs_42_[i_43_] * fs_40_[i_43_ + i_41_]; } } static float g729a_chebps(float f, float[] fs) { float f_44_ = 2.0F * f; float f_45_ = f_44_ + fs[0]; float f_46_ = f_44_ * f_45_ - 1.0F + fs[1]; float f_47_ = f_44_ * f_46_ - f_45_ + fs[2]; float f_48_ = f_44_ * f_47_ - f_46_ + fs[3]; float f_49_ = f * f_48_ - f_47_ + fs[4]; return f_49_; } }