public int flake_set_defaults(FlakeWriterSettings settings) { // default to level 7 params window_function = WindowFunction.Flattop | WindowFunction.Tukey; order_method = OrderMethod.Akaike; stereo_method = StereoMethod.Evaluate; window_method = WindowMethod.Evaluate; block_time_ms = 105; prediction_type = PredictionType.Search; estimation_depth = 1; variable_block_size = 0; lpc_min_precision_search = 1; lpc_max_precision_search = 1; do_seektable = true; development_mode = -1; // differences from level 7 switch (settings.EncoderModeIndex) { case 0: block_time_ms = 53; prediction_type = PredictionType.Fixed; stereo_method = StereoMethod.Independent; break; case 1: prediction_type = PredictionType.Levinson; stereo_method = StereoMethod.Independent; window_function = WindowFunction.Bartlett; break; case 2: stereo_method = StereoMethod.Independent; window_function = WindowFunction.Bartlett; break; case 3: stereo_method = StereoMethod.Estimate; window_function = WindowFunction.Bartlett; break; case 4: stereo_method = StereoMethod.Estimate; window_function = WindowFunction.Bartlett; break; case 5: stereo_method = StereoMethod.Estimate; window_method = WindowMethod.Estimate; break; case 6: stereo_method = StereoMethod.Estimate; break; case 7: break; case 8: estimation_depth = 2; lpc_min_precision_search = 0; break; case 9: window_function = WindowFunction.Bartlett; break; case 10: //lpc_max_precision_search = 2; break; case 11: estimation_depth = 5; //lpc_max_precision_search = 2; variable_block_size = 4; break; } return 0; }
public int flake_set_defaults(int lvl) { compression = lvl; if ((lvl < 0 || lvl > 12) && (lvl != 99)) { return -1; } // default to level 5 params window_function = WindowFunction.Flattop | WindowFunction.Tukey; order_method = OrderMethod.Akaike; stereo_method = StereoMethod.Evaluate; window_method = WindowMethod.Evaluate; block_size = 0; block_time_ms = 105; prediction_type = PredictionType.Search; min_prediction_order = 1; max_prediction_order = 12; estimation_depth = 1; min_fixed_order = 2; max_fixed_order = 2; min_partition_order = 0; max_partition_order = 8; variable_block_size = 0; lpc_min_precision_search = 1; lpc_max_precision_search = 1; do_seektable = true; // differences from level 7 switch (lvl) { case 0: block_time_ms = 53; prediction_type = PredictionType.Fixed; stereo_method = StereoMethod.Independent; max_partition_order = 6; break; case 1: prediction_type = PredictionType.Levinson; stereo_method = StereoMethod.Independent; window_function = WindowFunction.Bartlett; max_prediction_order = 8; max_partition_order = 6; break; case 2: stereo_method = StereoMethod.Independent; window_function = WindowFunction.Bartlett; max_partition_order = 6; break; case 3: stereo_method = StereoMethod.Estimate; window_function = WindowFunction.Bartlett; max_prediction_order = 8; break; case 4: stereo_method = StereoMethod.Estimate; window_function = WindowFunction.Bartlett; break; case 5: stereo_method = StereoMethod.Estimate; window_method = WindowMethod.Estimate; break; case 6: stereo_method = StereoMethod.Estimate; break; case 7: break; case 8: estimation_depth = 2; min_fixed_order = 0; lpc_min_precision_search = 0; break; case 9: window_function = WindowFunction.Bartlett; max_prediction_order = 32; break; case 10: min_fixed_order = 0; max_fixed_order = 4; max_prediction_order = 32; //lpc_max_precision_search = 2; break; case 11: min_fixed_order = 0; max_fixed_order = 4; max_prediction_order = 32; estimation_depth = 5; //lpc_max_precision_search = 2; variable_block_size = 4; break; } return 0; }
public int set_defaults(int lvl) { compression = lvl; if ((lvl < 0 || lvl > 12) && (lvl != 99)) { return -1; } // default to level 5 params window_function = WindowFunction.Flattop | WindowFunction.Tukey; order_method = OrderMethod.Estimate; stereo_method = StereoMethod.Evaluate; window_method = WindowMethod.Evaluate; block_size = 0; block_time_ms = 105; min_modifier = 4; max_modifier = 4; min_prediction_order = 1; max_prediction_order = 12; estimation_depth = 1; adaptive_passes = 0; do_seektable = false; chunk_size = 5; // differences from level 6 switch (lvl) { case 0: stereo_method = StereoMethod.Independent; window_function = WindowFunction.Hann; max_prediction_order = 6; break; case 1: stereo_method = StereoMethod.Independent; window_function = WindowFunction.Hann; max_prediction_order = 8; break; case 2: stereo_method = StereoMethod.Estimate; window_function = WindowFunction.Hann; max_prediction_order = 6; break; case 3: stereo_method = StereoMethod.Estimate; window_function = WindowFunction.Hann; max_prediction_order = 8; break; case 4: stereo_method = StereoMethod.Estimate; window_method = WindowMethod.Estimate; max_prediction_order = 8; break; case 5: stereo_method = StereoMethod.Estimate; window_method = WindowMethod.Estimate; break; case 6: stereo_method = StereoMethod.Estimate; break; case 7: stereo_method = StereoMethod.Estimate; adaptive_passes = 1; min_modifier = 2; break; case 8: adaptive_passes = 1; min_modifier = 2; break; case 9: adaptive_passes = 1; max_prediction_order = 30; min_modifier = 2; break; case 10: estimation_depth = 2; adaptive_passes = 2; max_prediction_order = 30; min_modifier = 2; break; } return 0; }