using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace butterflow_ui { /// An options configuration file. This class is used to serialize out the configuration to a file. [Serializable] public class OptionsConfigurationFile { #region Properties /// Gets or sets the playback rate. /// The playback rate. public string PlaybackRate { get; set; } /// Gets or sets a value indicating whether the keep audio. /// True if keep audio, false if not. public bool KeepAudio { get; set; } /// Gets or sets a value indicating whether the keep subregions that are not explicitly specified. /// True if keeping subregions not explicitly specified, false if not. public bool KeepSubregions { get; set; } /// Gets or sets a value indicating whether the result is rendered in lossless quality. /// True if lossless quality is selected, false if not. public bool LosslessQuality { get; set; } /// Gets or sets a value indicating whether the butterflow should be turned toward smooth motion. /// True if tuned toward smooth motion, false if not. public bool SmoothMotion { get; set; } /// Gets or sets a value indicating whether to lock aspect ratio of the video. /// True if locking aspect ratio of the video, false if not. public bool LockAspectRatio { get; set; } /// Gets or sets a value indicating whether to use fast pyramids. /// True if using fast pyramids, false if not. public bool FastPyramid { get; set; } /// Gets or sets the pyramid scale factor. /// The pyramid scale factor. public decimal PyramidScale { get; set; } /// Gets or sets the number of pyramid layers. /// The number of pyramid layers. public int Levels { get; set; } /// Gets or sets the size of the windowing average. /// The size of the windowing average. public int WindowSize { get; set; } /// Gets or sets the number of iterations at each pyramid level. /// The number of iterations at each pyramid level. public int Iterations { get; set; } /// Gets or sets the size of the pixel neighborhood. /// The size of the pixel neighborhood. /// Per butterflow's documentation, the valid range for --poly-n is {5,7}. public int PixelNeighborhood { get; set; } /// Gets or sets the standard deviation of smooth derivatives. /// The standard deviation of smooth derivatives. public decimal SmoothDerivativeStandardDeviation { get; set; } /// Gets or sets the type of the flow filter used for optical flow calculations. /// The type of the flow filter used for optical flow calculations. public FlowFilterType FlowFilterType { get; set; } #endregion } }