/* g729a_acelp_co - Decompiled by JODE * Visit http://jode.sourceforge.net/ */ package javaforce.codec.g729a; final class g729a_acelp_co implements g729a_constants { static void g729a_fc_search(g729a_encode_internal var_g729a_encode_internal, int i, float f) { float[] fs = var_g729a_encode_internal.c; float[] fs_0_ = var_g729a_encode_internal.h; float[] fs_1_ = var_g729a_encode_internal.x; float[] fs_2_ = var_g729a_encode_internal.y; float[] fs_3_ = new float[40]; float[] fs_4_ = new float[40]; float[] fs_5_ = new float[40]; float[] fs_6_ = new float[40]; float[] fs_7_ = new float[40]; float f_8_ = var_g729a_encode_internal.gp; float[] fs_9_ = new float[616]; float[] fs_10_ = new float[8]; float f_11_ = 0.0F; int i_12_ = 0; int i_13_ = 0; int i_14_ = 0; int i_15_ = 0; int i_16_ = 0; int i_17_ = 0; int i_18_ = 0; int[] is = {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7}; g729a_sinthesis_filter var_g729a_sinthesis_filter = new g729a_sinthesis_filter(); int i_19_ = 0; int i_20_ = i_19_ + 8; int i_21_ = i_20_ + 8; int i_22_ = i_21_ + 8; int i_23_ = i_22_ + 8; int i_24_ = i_23_ + 8; int i_25_ = i_24_ + 64; int i_26_ = i_25_ + 64; int i_27_ = i_26_ + 64; int i_28_ = i_27_ + 64; int i_29_ = i_28_ + 64; int i_30_ = i_29_ + 64; int i_31_ = i_30_ + 64; int i_32_ = i_31_ + 64; if (f < 0.2000122F) { f = 0.2000122F; } if (f > 0.7944946F) { f = 0.7944946F; } for (int i_33_ = 0; i_33_ < 40; i_33_++) { fs_6_[i_33_] = fs_0_[i_33_]; } for (int i_34_ = i; i_34_ < 40; i_34_++) { fs_6_[i_34_] = fs_6_[i_34_] + f * fs_6_[i_34_ - i]; } for (int i_35_ = 0; i_35_ < 40; i_35_++) { fs_3_[40 - i_35_ - 1] = fs_1_[i_35_] - f_8_ * fs_2_[i_35_]; } g729a_common.g729a_IIR(fs_5_, fs_3_, var_g729a_encode_internal.a_gamma, var_g729a_sinthesis_filter); for (int i_36_ = 0; i_36_ < 40; i_36_++) { fs_4_[i_36_] = fs_5_[40 - i_36_ - 1]; } for (int i_37_ = 0; i_37_ < 40 - i; i_37_++) { fs_4_[i_37_] = fs_4_[i_37_] + f * fs_4_[i_37_ + i]; } for (int i_38_ = 0; i_38_ < 40; i_38_++) { fs_7_[i_38_] = (float) (fs_4_[i_38_] < 0.0F ? -1 : 1); fs_4_[i_38_] = Math.abs(fs_4_[i_38_]); } g729a_cor_h(fs_9_, fs_6_, fs_7_); float f_39_ = -1.0F; float f_40_ = 1.0F; int i_41_ = i_26_; int i_42_ = i_29_; int i_43_ = i_31_; int i_44_ = i_22_; for (int i_45_ = 3; i_45_ < 5; i_45_++) { float f_46_ = -1.0F; float f_47_ = 1.0F; int i_48_ = -1; for (int i_49_ = 0; i_49_ < 2; i_49_++) { float f_50_ = -1.0F; for (int i_51_ = 2; i_51_ < 40; i_51_ += 5) { if (fs_4_[i_51_] > f_50_ && i_48_ != i_51_) { f_50_ = fs_4_[i_51_]; i_12_ = i_51_; } } i_48_ = i_12_; int i_52_ = is[i_12_]; int i_53_ = i_21_ + i_52_; float f_54_ = fs_4_[i_12_]; float f_55_ = fs_9_[i_53_]; i_53_ = i_43_ + i_52_ * 8; int i_56_ = i_44_; for (int i_57_ = i_45_; i_57_ < 40; i_57_ += 5) { float f_58_ = f_54_ + fs_4_[i_57_]; float f_59_ = f_58_ * f_58_; float f_60_ = f_55_ + fs_9_[i_53_] + fs_9_[i_56_]; i_53_++; i_56_++; if (f_47_ * f_59_ > f_46_ * f_60_) { f_46_ = f_59_; f_11_ = f_58_; f_47_ = f_60_; i_13_ = i_12_; i_14_ = i_57_; } } } i_12_ = i_13_; int i_61_ = i_14_; float f_62_ = f_11_; float f_63_ = f_47_; f_46_ = -1.0F; f_47_ = 1.0F; int i_64_ = i_28_ + is[i_12_]; int i_65_ = i_42_ + is[i_61_]; int i_66_ = i_20_; int i_67_ = 0; for (int i_68_ = 1; i_68_ < 40; i_68_ += 5) { fs_10_[i_67_] = fs_9_[i_64_] + fs_9_[i_65_] + fs_9_[i_66_]; i_64_ += 8; i_65_ += 8; i_66_++; i_67_++; } i_64_ = i_25_ + is[i_12_]; i_65_ = i_41_ + is[i_61_]; i_66_ = i_19_; i_67_ = i_24_; for (int i_69_ = 0; i_69_ < 40; i_69_ += 5) { float f_70_ = f_62_ + fs_4_[i_69_]; float f_71_ = f_63_ + fs_9_[i_64_] + fs_9_[i_65_] + fs_9_[i_66_]; i_64_ += 8; i_65_ += 8; i_66_++; int i_72_ = 0; for (int i_73_ = 1; i_73_ < 40; i_73_ += 5) { float f_74_ = f_70_ + fs_4_[i_73_]; float f_75_ = f_74_ * f_74_; float f_76_ = f_71_ + fs_9_[i_67_] + fs_10_[i_72_]; i_67_++; i_72_++; if (f_47_ * f_75_ > f_46_ * f_76_) { f_46_ = f_75_; f_47_ = f_76_; i_13_ = i_69_; i_14_ = i_73_; } } } if (f_40_ * f_46_ > f_39_ * f_47_) { f_39_ = f_46_; f_40_ = f_47_; i_17_ = i_12_; i_18_ = i_61_; i_15_ = i_13_; i_16_ = i_14_; } f_46_ = -1.0F; f_47_ = 1.0F; i_48_ = -1; for (int i_77_ = 0; i_77_ < 2; i_77_++) { float f_78_ = -1.0F; for (int i_79_ = i_45_; i_79_ < 40; i_79_ += 5) { if (fs_4_[i_79_] > f_78_ && i_48_ != i_79_) { f_78_ = fs_4_[i_79_]; i_12_ = i_79_; } } i_48_ = i_12_; int i_80_ = is[i_12_]; i_64_ = i_44_ + i_80_; float f_81_ = fs_4_[i_12_]; float f_82_ = fs_9_[i_64_]; i_64_ = i_41_ + i_80_; i_65_ = i_19_; for (i_61_ = 0; i_61_ < 40; i_61_ += 5) { float f_83_ = f_81_ + fs_4_[i_61_]; float f_84_ = f_83_ * f_83_; float f_85_ = f_82_ + fs_9_[i_64_] + fs_9_[i_65_]; i_64_ += 8; i_65_++; if (f_47_ * f_84_ > f_46_ * f_85_) { f_46_ = f_84_; f_11_ = f_83_; f_47_ = f_85_; i_13_ = i_12_; i_14_ = i_61_; } } } i_12_ = i_13_; i_61_ = i_14_; f_62_ = f_11_; f_63_ = f_47_; f_46_ = -1.0F; f_47_ = 1.0F; i_64_ = i_43_ + is[i_12_]; i_65_ = i_25_ + is[i_61_] * 8; i_66_ = i_21_; i_67_ = 0; for (int i_86_ = 2; i_86_ < 40; i_86_ += 5) { fs_10_[i_67_] = fs_9_[i_64_] + fs_9_[i_65_] + fs_9_[i_66_]; i_64_ += 8; i_65_++; i_66_++; i_67_++; } i_64_ = i_42_ + is[i_12_]; i_65_ = i_24_ + is[i_61_] * 8; i_66_ = i_20_; i_67_ = i_28_; for (int i_87_ = 1; i_87_ < 40; i_87_ += 5) { float f_88_ = f_62_ + fs_4_[i_87_]; float f_89_ = f_63_ + fs_9_[i_64_] + fs_9_[i_65_] + fs_9_[i_66_]; i_64_ += 8; i_65_++; i_66_++; int i_90_ = 0; for (int i_91_ = 2; i_91_ < 40; i_91_ += 5) { float f_92_ = f_88_ + fs_4_[i_91_]; float f_93_ = f_92_ * f_92_; float f_94_ = f_89_ + fs_9_[i_67_] + fs_10_[i_90_]; i_67_++; i_90_++; if (f_47_ * f_93_ > f_46_ * f_94_) { f_46_ = f_93_; f_47_ = f_94_; i_13_ = i_87_; i_14_ = i_91_; } } } if (f_40_ * f_46_ > f_39_ * f_47_) { f_39_ = f_46_; f_40_ = f_47_; i_18_ = i_12_; i_15_ = i_61_; i_16_ = i_13_; i_17_ = i_14_; } i_41_ = i_27_; i_42_ = i_30_; i_43_ = i_32_; i_44_ = i_23_; } int i_95_ = fs_7_[i_15_] < 0.0F ? 0 : 1; int i_96_ = fs_7_[i_16_] < 0.0F ? 0 : 1; int i_97_ = fs_7_[i_17_] < 0.0F ? 0 : 1; int i_98_ = fs_7_[i_18_] < 0.0F ? 0 : 1; var_g729a_encode_internal.S = (short) (i_95_ + 2 * i_96_ + 4 * i_97_ + 8 * i_98_); int i_99_ = is[i_18_]; int i_100_ = i_18_ - i_99_ * 5 == 3 ? 0 : 1; var_g729a_encode_internal.C = (short) (is[i_15_] + 8 * is[i_16_] + 64 * is[i_17_] + 512 * (2 * i_99_ + i_100_)); g729a_utils.g729a_set_0(fs, 0, 40); fs[i_15_] = fs_7_[i_15_]; fs[i_16_] = fs_7_[i_16_]; fs[i_17_] = fs_7_[i_17_]; fs[i_18_] = fs_7_[i_18_]; for (i_99_ = i; i_99_ < 40; i_99_++) { fs[i_99_] += f * fs[i_99_ - i]; } } static void g729a_cor_h(float[] fs, float[] fs_101_, float[] fs_102_) { int i = 0; int i_103_ = i + 8; int i_104_ = i_103_ + 8; int i_105_ = i_104_ + 8; int i_106_ = i_105_ + 8; int i_107_ = i_106_ + 8; int i_108_ = i_107_ + 64; int i_109_ = i_108_ + 64; int i_110_ = i_109_ + 64; int i_111_ = i_110_ + 64; int i_112_ = i_111_ + 64; int i_113_ = i_112_ + 64; int i_114_ = i_113_ + 64; int i_115_ = i_114_ + 64; float f = 0.0F; int i_116_ = 0; for (int i_117_ = 7; i_117_ >= 0; i_117_--) { f += fs_101_[i_116_] * fs_101_[i_116_]; fs[i_106_ + i_117_] = 0.5F * f; f += fs_101_[i_116_ + 1] * fs_101_[i_116_ + 1]; fs[i_105_ + i_117_] = 0.5F * f; f += fs_101_[i_116_ + 2] * fs_101_[i_116_ + 2]; fs[i_104_ + i_117_] = 0.5F * f; f += fs_101_[i_116_ + 3] * fs_101_[i_116_ + 3]; fs[i_103_ + i_117_] = 0.5F * f; f += fs_101_[i_116_ + 4] * fs_101_[i_116_ + 4]; fs[i + i_117_] = 0.5F * f; i_116_ += 5; } int i_118_ = 1; i_107_ += 63; i_108_ += 63; i_109_ += 63; i_110_ += 63; i_111_ += 63; i_112_ += 63; i_113_ += 63; i_114_ += 63; i_115_ += 63; for (int i_119_ = 0; i_119_ < 8; i_119_++) { f = 0.0F; float f_120_ = 0.0F; float f_121_ = 0.0F; float f_122_ = 0.0F; i_116_ = 0; int i_123_ = 0; int i_124_ = i_119_ * 7 - 1; float f_125_ = fs_101_[i_118_ + i_116_]; float f_126_ = fs_101_[i_118_ + i_116_ + 1]; float f_127_ = fs_101_[i_118_ + i_116_ + 2]; for (int i_128_ = i_119_ + 1; i_128_ < 8; i_128_++) { float f_129_ = fs_101_[i_116_]; float f_130_ = fs_101_[i_116_ + 1]; float f_131_ = fs_101_[i_116_ + 2]; float f_132_ = fs_101_[i_116_ + 3]; float f_133_ = fs_101_[i_116_ + 4]; float f_134_ = fs_101_[i_118_ + i_116_ + 3]; float f_135_ = fs_101_[i_118_ + i_116_ + 4]; float f_136_ = fs_101_[i_118_ + i_116_ + 5]; float f_137_ = fs_101_[i_118_ + i_116_ + 6]; float f_138_ = fs_101_[i_118_ + i_116_ + 7]; f += f_129_ * f_125_; f_120_ += f_129_ * f_126_; fs[i_115_ + i_123_] = f_120_; f_121_ += f_129_ * f_127_; fs[i_113_ + i_123_] = f_121_; f_122_ += f_129_ * f_134_; fs[i_110_ + i_123_] = f_122_; f += f_130_ * f_126_; fs[i_114_ + i_123_] = f; f_120_ += f_130_ * f_127_; fs[i_112_ + i_123_] = f_120_; f_121_ += f_130_ * f_134_; fs[i_109_ + i_123_] = f_121_; f_122_ += f_130_ * f_135_; f += f_131_ * f_127_; fs[i_111_ + i_123_] = f; f_120_ += f_131_ * f_134_; fs[i_108_ + i_123_] = f_120_; f_121_ += f_131_ * f_135_; fs[i_115_ + i_123_ + i_124_] = f_121_; f_122_ += f_131_ * f_136_; fs[i_114_ + i_123_ + i_124_] = f_122_; f += f_132_ * f_134_; fs[i_107_ + i_123_] = f; f_120_ += f_132_ * f_135_; fs[i_113_ + i_123_ + i_124_] = f_120_; f_121_ += f_132_ * f_136_; fs[i_112_ + i_123_ + i_124_] = f_121_; f_122_ += f_132_ * f_137_; fs[i_111_ + i_123_ + i_124_] = f_122_; f += f_133_ * f_135_; fs[i_110_ + i_123_ + i_124_] = f; f_120_ += f_133_ * f_136_; fs[i_109_ + i_123_ + i_124_] = f_120_; f_121_ += f_133_ * f_137_; fs[i_108_ + i_123_ + i_124_] = f_121_; f_122_ += f_133_ * f_138_; fs[i_107_ + i_123_ + i_124_] = f_122_; f_125_ = f_136_; f_126_ = f_137_; f_127_ = f_138_; i_123_ -= 9; i_116_ += 5; } float f_139_ = fs_101_[i_116_]; float f_140_ = fs_101_[i_116_ + 1]; float f_141_ = fs_101_[i_116_ + 2]; float f_142_ = fs_101_[i_116_ + 3]; float f_143_ = fs_101_[i_118_ + i_116_ + 3]; f += f_139_ * f_125_; f_120_ += f_139_ * f_126_; fs[i_115_ + i_123_] = f_120_; f_121_ += f_139_ * f_127_; fs[i_113_ + i_123_] = f_121_; f_122_ += f_139_ * f_143_; fs[i_110_ + i_123_] = f_122_; f += f_140_ * f_126_; fs[i_114_ + i_123_] = f; f_120_ += f_140_ * f_127_; fs[i_112_ + i_123_] = f_120_; f_121_ += f_140_ * f_143_; fs[i_109_ + i_123_] = f_121_; f += f_141_ * f_127_; fs[i_111_ + i_123_] = f; f_120_ += f_141_ * f_143_; fs[i_108_ + i_123_] = f_120_; f += f_142_ * f_143_; fs[i_107_ + i_123_] = f; i_118_ += 5; i_107_ -= 8; i_108_ -= 8; i_109_ -= 8; i_110_ -= 8; i_111_ -= 8; i_112_ -= 8; i_113_ -= 8; i_114_ -= 8; i_115_ -= 8; } i_107_ = i_106_ + 8; i_108_ = i_107_ + 64; i_109_ = i_108_ + 64; i_110_ = i_109_ + 64; i_111_ = i_110_ + 64; i_112_ = i_111_ + 64; i_113_ = i_112_ + 64; i_114_ = i_113_ + 64; i_115_ = i_114_ + 64; for (int i_144_ = 0; i_144_ < 40; i_144_ += 5) { float f_145_ = fs_102_[i_144_]; float f_146_ = fs_102_[i_144_ + 1]; float f_147_ = fs_102_[i_144_ + 2]; for (int i_148_ = 0; i_148_ < 40; i_148_ += 5) { float f_149_ = fs_102_[i_148_ + 1]; float f_150_ = fs_102_[i_148_ + 2]; float f_151_ = fs_102_[i_148_ + 3]; float f_152_ = fs_102_[i_148_ + 4]; fs[i_107_] *= f_145_ * f_149_; i_107_++; fs[i_108_] *= f_145_ * f_150_; i_108_++; fs[i_109_] *= f_145_ * f_151_; i_109_++; fs[i_110_] *= f_145_ * f_152_; i_110_++; fs[i_111_] *= f_146_ * f_150_; i_111_++; fs[i_112_] *= f_146_ * f_151_; i_112_++; fs[i_113_] *= f_146_ * f_152_; i_113_++; fs[i_114_] *= f_147_ * f_151_; i_114_++; fs[i_115_] *= f_147_ * f_152_; i_115_++; } } } }