/* g729a_common - Decompiled by JODE
* Visit http://jode.sourceforge.net/
*/
package javaforce.codec.g729a;
final class g729a_common implements g729a_constants {
static void g729a_FIR(float[] fs, int i, float[] fs_0_, float[] fs_1_,
int i_2_,
g729a_sinthesis_filter var_g729a_sinthesis_filter) {
float f = var_g729a_sinthesis_filter.delay[0];
float f_3_ = var_g729a_sinthesis_filter.delay[1];
float f_4_ = var_g729a_sinthesis_filter.delay[2];
float f_5_ = var_g729a_sinthesis_filter.delay[3];
float f_6_ = var_g729a_sinthesis_filter.delay[4];
float f_7_ = var_g729a_sinthesis_filter.delay[5];
float f_8_ = var_g729a_sinthesis_filter.delay[6];
float f_9_ = var_g729a_sinthesis_filter.delay[7];
float f_10_ = var_g729a_sinthesis_filter.delay[8];
float f_11_ = var_g729a_sinthesis_filter.delay[9];
float f_12_ = fs_1_[i_2_];
float f_13_ = fs_1_[1 + i_2_];
float f_14_ = fs_1_[2 + i_2_];
float f_15_ = fs_1_[3 + i_2_];
float f_16_ = fs_1_[4 + i_2_];
float f_17_ = fs_1_[5 + i_2_];
float f_18_ = fs_1_[6 + i_2_];
float f_19_ = fs_1_[7 + i_2_];
float f_20_ = fs_1_[8 + i_2_];
float f_21_ = fs_1_[9 + i_2_];
for (int i_22_ = 0; i_22_ < 40; i_22_++) {
float f_23_ = fs_0_[i_22_];
float f_24_ = (f_23_ + f_21_ * f_11_ + f_20_ * f_10_ + f_19_ * f_9_
+ f_18_ * f_8_ + f_17_ * f_7_ + f_16_ * f_6_ + f_15_ * f_5_
+ f_14_ * f_4_ + f_13_ * f_3_ + f_12_ * f);
f_11_ = f_10_;
f_10_ = f_9_;
f_9_ = f_8_;
f_8_ = f_7_;
f_7_ = f_6_;
f_6_ = f_5_;
f_5_ = f_4_;
f_4_ = f_3_;
f_3_ = f;
f = f_23_;
fs[i_22_ + i] = f_24_;
}
var_g729a_sinthesis_filter.delay[0] = f;
var_g729a_sinthesis_filter.delay[1] = f_3_;
var_g729a_sinthesis_filter.delay[2] = f_4_;
var_g729a_sinthesis_filter.delay[3] = f_5_;
var_g729a_sinthesis_filter.delay[4] = f_6_;
var_g729a_sinthesis_filter.delay[5] = f_7_;
var_g729a_sinthesis_filter.delay[6] = f_8_;
var_g729a_sinthesis_filter.delay[7] = f_9_;
var_g729a_sinthesis_filter.delay[8] = f_10_;
var_g729a_sinthesis_filter.delay[9] = f_11_;
}
static void g729a_IIR(float[] fs, float[] fs_25_, int i, float[] fs_26_,
g729a_sinthesis_filter var_g729a_sinthesis_filter) {
float f = var_g729a_sinthesis_filter.delay[0];
float f_27_ = var_g729a_sinthesis_filter.delay[1];
float f_28_ = var_g729a_sinthesis_filter.delay[2];
float f_29_ = var_g729a_sinthesis_filter.delay[3];
float f_30_ = var_g729a_sinthesis_filter.delay[4];
float f_31_ = var_g729a_sinthesis_filter.delay[5];
float f_32_ = var_g729a_sinthesis_filter.delay[6];
float f_33_ = var_g729a_sinthesis_filter.delay[7];
float f_34_ = var_g729a_sinthesis_filter.delay[8];
float f_35_ = var_g729a_sinthesis_filter.delay[9];
float f_36_ = fs_26_[0];
float f_37_ = fs_26_[1];
float f_38_ = fs_26_[2];
float f_39_ = fs_26_[3];
float f_40_ = fs_26_[4];
float f_41_ = fs_26_[5];
float f_42_ = fs_26_[6];
float f_43_ = fs_26_[7];
float f_44_ = fs_26_[8];
float f_45_ = fs_26_[9];
for (int i_46_ = 0; i_46_ < 40; i_46_++) {
float f_47_ = fs_25_[i_46_ + i];
float f_48_ = (f_47_ - f_45_ * f_35_ - f_44_ * f_34_
- f_43_ * f_33_ - f_42_ * f_32_ - f_41_ * f_31_
- f_40_ * f_30_ - f_39_ * f_29_ - f_38_ * f_28_
- f_37_ * f_27_ - f_36_ * f);
f_35_ = f_34_;
f_34_ = f_33_;
f_33_ = f_32_;
f_32_ = f_31_;
f_31_ = f_30_;
f_30_ = f_29_;
f_29_ = f_28_;
f_28_ = f_27_;
f_27_ = f;
f = f_48_;
fs[i_46_] = f_48_;
}
var_g729a_sinthesis_filter.delay[0] = f;
var_g729a_sinthesis_filter.delay[1] = f_27_;
var_g729a_sinthesis_filter.delay[2] = f_28_;
var_g729a_sinthesis_filter.delay[3] = f_29_;
var_g729a_sinthesis_filter.delay[4] = f_30_;
var_g729a_sinthesis_filter.delay[5] = f_31_;
var_g729a_sinthesis_filter.delay[6] = f_32_;
var_g729a_sinthesis_filter.delay[7] = f_33_;
var_g729a_sinthesis_filter.delay[8] = f_34_;
var_g729a_sinthesis_filter.delay[9] = f_35_;
}
static void g729a_IIR(float[] fs, float[] fs_49_, float[] fs_50_,
g729a_sinthesis_filter var_g729a_sinthesis_filter) {
g729a_IIR(fs, fs_49_, 0, fs_50_, var_g729a_sinthesis_filter);
}
static float g729a_correl(float[] fs, int i, float[] fs_51_, int i_52_) {
float f = 0.0F;
for (int i_53_ = 0; i_53_ < 40; i_53_++) {
f += fs[i_53_ + i] * fs_51_[i_53_ + i_52_];
}
return f;
}
static float g729a_norma(float[] fs) {
float f = 0.0F;
for (int i = 0; i < 40; i++) {
f += fs[i] * fs[i];
}
return f;
}
static float g729a_norma(float[] fs, int i) {
float f = 0.0F;
for (int i_54_ = i; i_54_ < 40 + i; i_54_++) {
f += fs[i_54_] * fs[i_54_];
}
return f;
}
static void g729a_generation_adaptive_vector(float[] fs, float[] fs_55_,
int i, int i_56_) {
int i_57_ = i < 40 ? i : 40;
float f = fs_55_[154 - i - 1];
float f_58_ = fs_55_[154 - i - 2];
float f_59_ = fs_55_[154 - i - 3];
float f_60_ = fs_55_[154 - i - 4];
float f_61_ = fs_55_[154 - i - 5];
float f_62_ = fs_55_[154 - i - 6];
float f_63_ = fs_55_[154 - i - 7];
float f_64_ = fs_55_[154 - i - 8];
float f_65_ = fs_55_[154 - i - 9];
float f_66_ = g729a_tables.g729a_b30[-i_56_];
float f_67_ = g729a_tables.g729a_b30[3 - i_56_];
float f_68_ = g729a_tables.g729a_b30[6 - i_56_];
float f_69_ = g729a_tables.g729a_b30[9 - i_56_];
float f_70_ = g729a_tables.g729a_b30[12 - i_56_];
float f_71_ = g729a_tables.g729a_b30[15 - i_56_];
float f_72_ = g729a_tables.g729a_b30[18 - i_56_];
float f_73_ = g729a_tables.g729a_b30[21 - i_56_];
float f_74_ = g729a_tables.g729a_b30[24 - i_56_];
float f_75_ = g729a_tables.g729a_b30[27 - i_56_];
for (int i_76_ = 0; i_76_ < i_57_; i_76_++) {
float f_77_ = fs_55_[154 + i_76_ - i];
float f_78_ = (f_66_ * f_77_ + f_75_ * f_65_ + f_74_ * f_64_
+ f_73_ * f_63_ + f_72_ * f_62_ + f_71_ * f_61_
+ f_70_ * f_60_ + f_69_ * f_59_ + f_68_ * f_58_
+ f_67_ * f);
f_65_ = f_64_;
f_64_ = f_63_;
f_63_ = f_62_;
f_62_ = f_61_;
f_61_ = f_60_;
f_60_ = f_59_;
f_59_ = f_58_;
f_58_ = f;
f = f_77_;
fs[i_76_] = f_78_;
}
f = fs_55_[154 - i + 9];
f_58_ = fs_55_[154 - i + 8];
f_59_ = fs_55_[154 - i + 7];
f_60_ = fs_55_[154 - i + 6];
f_61_ = fs_55_[154 - i + 5];
f_62_ = fs_55_[154 - i + 4];
f_63_ = fs_55_[154 - i + 3];
f_64_ = fs_55_[154 - i + 2];
f_65_ = fs_55_[154 - i + 1];
f_66_ = g729a_tables.g729a_b30[30 + i_56_];
f_67_ = g729a_tables.g729a_b30[27 + i_56_];
f_68_ = g729a_tables.g729a_b30[24 + i_56_];
f_69_ = g729a_tables.g729a_b30[21 + i_56_];
f_70_ = g729a_tables.g729a_b30[18 + i_56_];
f_71_ = g729a_tables.g729a_b30[15 + i_56_];
f_72_ = g729a_tables.g729a_b30[12 + i_56_];
f_73_ = g729a_tables.g729a_b30[9 + i_56_];
f_74_ = g729a_tables.g729a_b30[6 + i_56_];
f_75_ = g729a_tables.g729a_b30[3 + i_56_];
for (int i_79_ = 0; i_79_ < i_57_; i_79_++) {
float f_80_ = fs_55_[154 + i_79_ - i + 10];
float f_81_ = (fs[i_79_] + f_66_ * f_80_ + f_75_ * f_65_
+ f_74_ * f_64_ + f_73_ * f_63_ + f_72_ * f_62_
+ f_71_ * f_61_ + f_70_ * f_60_ + f_69_ * f_59_
+ f_68_ * f_58_ + f_67_ * f);
f_65_ = f_64_;
f_64_ = f_63_;
f_63_ = f_62_;
f_62_ = f_61_;
f_61_ = f_60_;
f_60_ = f_59_;
f_59_ = f_58_;
f_58_ = f;
f = f_80_;
fs[i_79_] = f_81_;
fs_55_[154 + i_79_] = f_81_;
}
for (int i_82_ = i_57_; i_82_ < 40; i_82_++) {
float f_83_ = 0.0F;
for (int i_84_ = 0; i_84_ < 10; i_84_++) {
f_83_ += ((fs_55_[154 + i_82_ - i - i_84_]
* g729a_tables.g729a_b30[3 * i_84_ - i_56_])
+ (fs_55_[154 + i_82_ - i + 1 + i_84_]
* g729a_tables.g729a_b30[3 + i_56_ + 3 * i_84_]));
}
fs[i_82_] = f_83_;
fs_55_[154 + i_82_] = f_83_;
}
}
static void g729a_rearrange(float[] fs, float f, int i) {
for (int i_85_ = 1; i_85_ < i; i_85_++) {
if (fs[i_85_ - 1] > fs[i_85_] - f) {
float f_86_ = fs[i_85_ - 1];
float f_87_ = fs[i_85_];
fs[i_85_ - 1] = (f_87_ + f_86_ - f) * 0.5F;
fs[i_85_] = (f_87_ + f_86_ + f) * 0.5F;
}
}
}
static void g729a_reconstracte(float[] fs, float[] fs_88_, float[] fs_89_,
int i, int i_90_, int i_91_) {
for (int i_92_ = 0; i_92_ < i_91_; i_92_++) {
fs[i_92_] = (g729a_tables.g729a_fg_sum[i_92_ + i_90_] * fs_88_[i_92_]
+ fs_89_[i_92_ + i]);
}
}
static void g729a_check_stability(float[] fs) {
float f = fs[0];
float f_93_ = fs[1];
float f_94_ = fs[2];
float f_95_ = fs[3];
float f_96_ = fs[4];
float f_97_ = fs[5];
float f_98_ = fs[6];
float f_99_ = fs[7];
float f_100_ = fs[8];
float f_101_ = fs[9];
if (f > f_93_) {
float f_102_ = f;
f = f_93_;
f_93_ = f_102_;
}
if (f_94_ > f_95_) {
float f_103_ = f_94_;
f_94_ = f_95_;
f_95_ = f_103_;
}
if (f_96_ > f_97_) {
float f_104_ = f_96_;
f_96_ = f_97_;
f_97_ = f_104_;
}
if (f_98_ > f_99_) {
float f_105_ = f_98_;
f_98_ = f_99_;
f_99_ = f_105_;
}
if (f_100_ > f_101_) {
float f_106_ = f_100_;
f_100_ = f_101_;
f_101_ = f_106_;
}
if (f > f_94_) {
float f_107_ = f;
f = f_94_;
f_94_ = f_107_;
}
if (f > f_96_) {
float f_108_ = f;
f = f_96_;
f_96_ = f_108_;
}
if (f > f_98_) {
float f_109_ = f;
f = f_98_;
f_98_ = f_109_;
}
if (f > f_100_) {
float f_110_ = f;
f = f_100_;
f_100_ = f_110_;
}
if (f_93_ > f_101_) {
float f_111_ = f_93_;
f_93_ = f_101_;
f_101_ = f_111_;
}
if (f_95_ > f_101_) {
float f_112_ = f_95_;
f_95_ = f_101_;
f_101_ = f_112_;
}
if (f_97_ > f_101_) {
float f_113_ = f_97_;
f_97_ = f_101_;
f_101_ = f_113_;
}
if (f_99_ > f_101_) {
float f_114_ = f_99_;
f_99_ = f_101_;
f_101_ = f_114_;
}
if (f_93_ > f_94_) {
float f_115_ = f_93_;
f_93_ = f_94_;
f_94_ = f_115_;
}
if (f_95_ > f_96_) {
float f_116_ = f_95_;
f_95_ = f_96_;
f_96_ = f_116_;
}
if (f_97_ > f_98_) {
float f_117_ = f_97_;
f_97_ = f_98_;
f_98_ = f_117_;
}
if (f_99_ > f_100_) {
float f_118_ = f_99_;
f_99_ = f_100_;
f_100_ = f_118_;
}
if (f_93_ > f_95_) {
float f_119_ = f_93_;
f_93_ = f_95_;
f_95_ = f_119_;
}
if (f_93_ > f_97_) {
float f_120_ = f_93_;
f_93_ = f_97_;
f_97_ = f_120_;
}
if (f_93_ > f_99_) {
float f_121_ = f_93_;
f_93_ = f_99_;
f_99_ = f_121_;
}
if (f_94_ > f_100_) {
float f_122_ = f_94_;
f_94_ = f_100_;
f_100_ = f_122_;
}
if (f_96_ > f_100_) {
float f_123_ = f_96_;
f_96_ = f_100_;
f_100_ = f_123_;
}
if (f_98_ > f_100_) {
float f_124_ = f_98_;
f_98_ = f_100_;
f_100_ = f_124_;
}
if (f_94_ > f_95_) {
float f_125_ = f_94_;
f_94_ = f_95_;
f_95_ = f_125_;
}
if (f_96_ > f_97_) {
float f_126_ = f_96_;
f_96_ = f_97_;
f_97_ = f_126_;
}
if (f_98_ > f_99_) {
float f_127_ = f_98_;
f_98_ = f_99_;
f_99_ = f_127_;
}
if (f_94_ > f_96_) {
float f_128_ = f_94_;
f_94_ = f_96_;
f_96_ = f_128_;
}
if (f_94_ > f_98_) {
float f_129_ = f_94_;
f_94_ = f_98_;
f_98_ = f_129_;
}
if (f_95_ > f_99_) {
float f_130_ = f_95_;
f_95_ = f_99_;
f_99_ = f_130_;
}
if (f_97_ > f_99_) {
float f_131_ = f_97_;
f_97_ = f_99_;
f_99_ = f_131_;
}
if (f_95_ > f_96_) {
float f_132_ = f_95_;
f_95_ = f_96_;
f_96_ = f_132_;
}
if (f_97_ > f_98_) {
float f_133_ = f_97_;
f_97_ = f_98_;
f_98_ = f_133_;
}
if (f_95_ > f_97_) {
float f_134_ = f_95_;
f_95_ = f_97_;
f_97_ = f_134_;
}
if (f_96_ > f_98_) {
float f_135_ = f_96_;
f_96_ = f_98_;
f_98_ = f_135_;
}
if (f_96_ > f_97_) {
float f_136_ = f_96_;
f_96_ = f_97_;
f_97_ = f_136_;
}
if (f < 0.0050F) {
f = 0.0050F;
}
if (f_93_ - f < 0.0391F) {
f_93_ = f + 0.0391F;
}
if (f_94_ - f_93_ < 0.0391F) {
f_94_ = f_93_ + 0.0391F;
}
if (f_95_ - f_94_ < 0.0391F) {
f_95_ = f_94_ + 0.0391F;
}
if (f_96_ - f_95_ < 0.0391F) {
f_96_ = f_95_ + 0.0391F;
}
if (f_97_ - f_96_ < 0.0391F) {
f_97_ = f_96_ + 0.0391F;
}
if (f_98_ - f_97_ < 0.0391F) {
f_98_ = f_97_ + 0.0391F;
}
if (f_99_ - f_98_ < 0.0391F) {
f_99_ = f_98_ + 0.0391F;
}
if (f_100_ - f_99_ < 0.0391F) {
f_100_ = f_99_ + 0.0391F;
}
if (f_101_ - f_100_ < 0.0391F) {
f_101_ = f_100_ + 0.0391F;
}
if (f_101_ > 3.135F) {
f_101_ = 3.135F;
}
fs[0] = f;
fs[1] = f_93_;
fs[2] = f_94_;
fs[3] = f_95_;
fs[4] = f_96_;
fs[5] = f_97_;
fs[6] = f_98_;
fs[7] = f_99_;
fs[8] = f_100_;
fs[9] = f_101_;
}
static void g729a_lsp_interpolation(float[] fs, float[] fs_137_,
float[] fs_138_) {
for (int i = 0; i < 10; i++) {
fs[i] = (fs_137_[i] + fs_138_[i]) * 0.5F;
}
}
static void g729a_LSP2LP(float[] fs, float[] fs_139_) {
float f = -2.0F * fs_139_[0];
float f_140_ = -2.0F * (fs_139_[2] * f - 1.0F);
f -= 2.0F * fs_139_[2];
float f_141_ = -2.0F * (fs_139_[4] * f_140_ - f);
f_140_ = f_140_ - 2.0F * fs_139_[4] * f + 1.0F;
f -= 2.0F * fs_139_[4];
float f_142_ = -2.0F * (fs_139_[6] * f_141_ - f_140_);
f_141_ = f_141_ - 2.0F * fs_139_[6] * f_140_ + f;
f_140_ = f_140_ - 2.0F * fs_139_[6] * f + 1.0F;
f -= 2.0F * fs_139_[6];
float f_143_ = -2.0F * (fs_139_[8] * f_142_ - f_141_);
f_142_ = f_142_ - 2.0F * fs_139_[8] * f_141_ + f_140_;
f_141_ = f_141_ - 2.0F * fs_139_[8] * f_140_ + f;
f_140_ = f_140_ - 2.0F * fs_139_[8] * f + 1.0F;
f -= 2.0F * fs_139_[8];
float f_144_ = -2.0F * fs_139_[1];
float f_145_ = -2.0F * (fs_139_[3] * f_144_ - 1.0F);
f_144_ -= 2.0F * fs_139_[3];
float f_146_ = -2.0F * (fs_139_[5] * f_145_ - f_144_);
f_145_ = f_145_ - 2.0F * fs_139_[5] * f_144_ + 1.0F;
f_144_ -= 2.0F * fs_139_[5];
float f_147_ = -2.0F * (fs_139_[7] * f_146_ - f_145_);
f_146_ = f_146_ - 2.0F * fs_139_[7] * f_145_ + f_144_;
f_145_ = f_145_ - 2.0F * fs_139_[7] * f_144_ + 1.0F;
f_144_ -= 2.0F * fs_139_[7];
float f_148_ = -2.0F * (fs_139_[9] * f_147_ - f_146_);
f_147_ = f_147_ - 2.0F * fs_139_[9] * f_146_ + f_145_;
f_146_ = f_146_ - 2.0F * fs_139_[9] * f_145_ + f_144_;
f_145_ = f_145_ - 2.0F * fs_139_[9] * f_144_ + 1.0F;
f_144_ -= 2.0F * fs_139_[9];
float f_149_ = f + 1.0F;
float f_150_ = f_140_ + f;
float f_151_ = f_141_ + f_140_;
float f_152_ = f_142_ + f_141_;
float f_153_ = f_143_ + f_142_;
float f_154_ = f_144_ - 1.0F;
float f_155_ = f_145_ - f_144_;
float f_156_ = f_146_ - f_145_;
float f_157_ = f_147_ - f_146_;
float f_158_ = f_148_ - f_147_;
fs[0] = 0.5F * (f_149_ + f_154_);
fs[1] = 0.5F * (f_150_ + f_155_);
fs[2] = 0.5F * (f_151_ + f_156_);
fs[3] = 0.5F * (f_152_ + f_157_);
fs[4] = 0.5F * (f_153_ + f_158_);
fs[5] = 0.5F * (f_153_ - f_158_);
fs[6] = 0.5F * (f_152_ - f_157_);
fs[7] = 0.5F * (f_151_ - f_156_);
fs[8] = 0.5F * (f_150_ - f_155_);
fs[9] = 0.5F * (f_149_ - f_154_);
}
}