/// <summary> /// Build ultra-wideband submodes. /// </summary> /// <returns>the ultra-wideband submodes.</returns> protected static internal SubMode[] BuildUwbSubModes() { /* Initialize Long Term Predictions */ HighLspQuant highLU = new HighLspQuant(); SubMode[] uwbSubModes = new SubMode[SB_SUBMODES]; uwbSubModes[1] = new SubMode(0, 0, 1, 0, highLU, null, null, .75f, .75f, -1, 2); return(uwbSubModes); }
/// <summary> /// Build wideband submodes. /// </summary> /// <returns>the wideband submodes.</returns> protected static internal SubMode[] BuildWbSubModes() { // Initialize Long Term Predictions HighLspQuant highLU = new HighLspQuant(); // Initialize Codebook Searches SplitShapeSearch ssCbHighLbrSearch = new SplitShapeSearch(40, 10, 4, NSpeex.Codebook_Constants.hexc_10_32_table, 5, 0); SplitShapeSearch ssCbHighSearch = new SplitShapeSearch(40, 8, 5, NSpeex.Codebook_Constants.hexc_table, 7, 1); // Initialize wide-band modes SubMode[] wbSubModes = new SubMode[SB_SUBMODES]; wbSubModes[1] = new SubMode(0, 0, 1, 0, highLU, null, null, .75f, .75f, -1, 36); wbSubModes[2] = new SubMode(0, 0, 1, 0, highLU, null, ssCbHighLbrSearch, .85f, .6f, -1, 112); wbSubModes[3] = new SubMode(0, 0, 1, 0, highLU, null, ssCbHighSearch, .75f, .7f, -1, 192); wbSubModes[4] = new SubMode(0, 0, 1, 1, highLU, null, ssCbHighSearch, .75f, .75f, -1, 352); return(wbSubModes); }