Skip to content

[FEATURE ADD] Create proper with Qt-based GUI with Pyside6 #6

@HunterAP23

Description

@HunterAP23

Describe the feature that is being tested/implemented
Replace existing GUI generated with gooey tool with GUI generated using the Pyside6 library.

  • General GUI:
    • Text box to display console output, shared between all suite modules
    • Progress bar to display progress of current task
    • Option to load existing TOML configuration file
    • Option to load progress TOML file
  • Encoder application:
    • Display left-hand list box that lists the individual reference files
    • Have text box showing the location of the reference files.
    • Have button for the reference files text box to open a single file / multi-file / single directory chooser.
    • Have a similar text box and button combo for choosing a directory where the encoded output files will be stored.
    • Selectors for different options (need to do more research on what to do for each option):
      • Encoders
        • Individual options for each encoder
      • B-frames
      • Bit rates
      • Hardware acceleration
      • Specify a decoder on a per-reference file basis
      • Frame rate (only allow down sampling)
      • Resolution (only allow down scaling)
        • Provide options for what scaling method to use (bilinear, bicubic, lanzcos, nearest neighbor, area, etc.)
      • Constant bit rate vs Variable bit rate vs Constant Rate Factor / Constant Quantization Parameter
  • Calculator application:
    • VMAF arguments
      • Models (normal, 4k, NEG) and/or user-provided model
      • SSIM / MS-SSIM / PSNR / etc. features
      • Subsamples
      • Threads
      • Log format (xml, json, csv)
    • FFmpeg arguments
      • FFmpeg executable location (by default looks for it in env path)
      • Decode threads
      • Hardware accelerated decoding
    • General arguments
      • Number of FFmpeg processes to run at one time
        • Limited to N processes with 1 thread per process OR one process with N threads (where N = number of threads available on the system)
      • Location of reference file(s)
      • Location of encoded output file(s)
      • Location of where VAMF results should be stored
  • Plotter application:
    • Location of VMAF results
    • Location of where to store the output graphs
    • Whether or not to produce a photo or video graph, or both
    • Resolution of the given photo graph
    • Resolution of the given video graph
    • Frame rate of the output video graph
    • Whether the photo graph should be transparent or not
    • Whether the video graph should be transparent or not
    • Output format of the photo graph
    • Output format of the video graph

List any relations to other issues in this repository or in other repositories
Provide a list of issues.

Metadata

Metadata

Assignees

Labels

GeneralTasks relating to the entire applicationenhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions