private static SubMode[] BuildNbSubModes() { Ltp3Tap ltp = new Ltp3Tap(Codebook_Constants.gain_cdbk_nb, 7, 7); Ltp3Tap ltp2 = new Ltp3Tap(Codebook_Constants.gain_cdbk_lbr, 5, 0); Ltp3Tap ltp3 = new Ltp3Tap(Codebook_Constants.gain_cdbk_lbr, 5, 7); Ltp3Tap ltp4 = new Ltp3Tap(Codebook_Constants.gain_cdbk_lbr, 5, 7); LtpForcedPitch ltp5 = new LtpForcedPitch(); NoiseSearch innovation = new NoiseSearch(); SplitShapeSearch innovation2 = new SplitShapeSearch(40, 10, 4, Codebook_Constants.exc_10_16_table, 4, 0); SplitShapeSearch innovation3 = new SplitShapeSearch(40, 10, 4, Codebook_Constants.exc_10_32_table, 5, 0); SplitShapeSearch innovation4 = new SplitShapeSearch(40, 5, 8, Codebook_Constants.exc_5_64_table, 6, 0); SplitShapeSearch innovation5 = new SplitShapeSearch(40, 8, 5, Codebook_Constants.exc_8_128_table, 7, 0); SplitShapeSearch innovation6 = new SplitShapeSearch(40, 5, 8, Codebook_Constants.exc_5_256_table, 8, 0); SplitShapeSearch innovation7 = new SplitShapeSearch(40, 20, 2, Codebook_Constants.exc_20_32_table, 5, 0); NbLspQuant lspQuant = new NbLspQuant(); LbrLspQuant lspQuant2 = new LbrLspQuant(); SubMode[] array = new SubMode[16]; array[1] = new SubMode(0, 1, 0, 0, lspQuant2, ltp5, innovation, 0.7f, 0.7f, -1f, 43); array[2] = new SubMode(0, 0, 0, 0, lspQuant2, ltp2, innovation2, 0.7f, 0.5f, 0.55f, 119); array[3] = new SubMode(-1, 0, 1, 0, lspQuant2, ltp3, innovation3, 0.7f, 0.55f, 0.45f, 160); array[4] = new SubMode(-1, 0, 1, 0, lspQuant2, ltp4, innovation5, 0.7f, 0.63f, 0.35f, 220); array[5] = new SubMode(-1, 0, 3, 0, lspQuant, ltp, innovation4, 0.7f, 0.65f, 0.25f, 300); array[6] = new SubMode(-1, 0, 3, 0, lspQuant, ltp, innovation6, 0.68f, 0.65f, 0.1f, 364); array[7] = new SubMode(-1, 0, 3, 1, lspQuant, ltp, innovation4, 0.65f, 0.65f, -1f, 492); array[8] = new SubMode(0, 1, 0, 0, lspQuant2, ltp5, innovation7, 0.7f, 0.5f, 0.65f, 79); return(array); }
protected internal static SubMode[] BuildUwbSubModes() { HighLspQuant lspQuant = new HighLspQuant(); SubMode[] array = new SubMode[8]; array[1] = new SubMode(0, 0, 1, 0, lspQuant, null, null, 0.75f, 0.75f, -1f, 2); return(array); }
protected internal static SubMode[] BuildWbSubModes() { HighLspQuant lspQuant = new HighLspQuant(); SplitShapeSearch innovation = new SplitShapeSearch(40, 10, 4, Codebook_Constants.hexc_10_32_table, 5, 0); SplitShapeSearch innovation2 = new SplitShapeSearch(40, 8, 5, Codebook_Constants.hexc_table, 7, 1); SubMode[] array = new SubMode[8]; array[1] = new SubMode(0, 0, 1, 0, lspQuant, null, null, 0.75f, 0.75f, -1f, 36); array[2] = new SubMode(0, 0, 1, 0, lspQuant, null, innovation, 0.85f, 0.6f, -1f, 112); array[3] = new SubMode(0, 0, 1, 0, lspQuant, null, innovation2, 0.75f, 0.7f, -1f, 192); array[4] = new SubMode(0, 0, 1, 1, lspQuant, null, innovation2, 0.75f, 0.75f, -1f, 352); return(array); }