Esempio n. 1
0
        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;
        }
Esempio n. 2
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;
		}
Esempio n. 3
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;
		}