video2x/src/video2x_gui.ui
2020-05-22 17:55:55 -04:00

2625 lines
95 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Video2xGui</class>
<widget class="QMainWindow" name="Video2xGui">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>673</width>
<height>802</height>
</rect>
</property>
<property name="acceptDrops">
<bool>true</bool>
</property>
<property name="windowTitle">
<string>Video2X GUI</string>
</property>
<widget class="QWidget" name="centralWidget">
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="leftMargin">
<number>5</number>
</property>
<property name="topMargin">
<number>5</number>
</property>
<property name="rightMargin">
<number>5</number>
</property>
<property name="bottomMargin">
<number>5</number>
</property>
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="mainTab">
<attribute name="title">
<string>Main</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_8">
<item>
<widget class="QLabel" name="dragDropLabelTop">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>15</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="text">
<string>**Drag and drop file or folder anywhere in this window to select input file/folder.**</string>
</property>
<property name="textFormat">
<enum>Qt::MarkdownText</enum>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="dragDropLabelBottom">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>15</height>
</size>
</property>
<property name="text">
<string>**Drop item on a specific input box to set the value of that box.**</string>
</property>
<property name="textFormat">
<enum>Qt::MarkdownText</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="hoverTooltipLabel">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>15</height>
</size>
</property>
<property name="text">
<string>**Hover over an item to see its description (if applicable).**</string>
</property>
<property name="textFormat">
<enum>Qt::MarkdownText</enum>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="inputSelectionGroupBox">
<property name="title">
<string>Input Selection</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QTableView" name="inputTableView"/>
</item>
<item>
<layout class="QHBoxLayout" name="inputButtonsHorizontalLayout">
<item>
<widget class="QPushButton" name="inputSelectFileButton">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Select File</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="inputSelectFolderButton">
<property name="text">
<string>Select Folder</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="inputDeleteSelectedButton">
<property name="text">
<string>Delete Selected</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="inputClearAllButton">
<property name="text">
<string>Clear All</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="otherPathsSelectionGroupBox">
<property name="title">
<string>Other Paths Selection</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_9">
<item>
<layout class="QHBoxLayout" name="outputHorizontalLayout">
<item>
<widget class="QLabel" name="outputLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>63</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Output</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="outputLineEdit"/>
</item>
<item>
<widget class="QPushButton" name="outputSelectFileButton">
<property name="text">
<string>Select File</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="outputSelectFolderButton">
<property name="text">
<string>Select Folder</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="configHorizontalLayout">
<item>
<widget class="QLabel" name="configLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>63</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Config</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="configLineEdit"/>
</item>
<item>
<widget class="QPushButton" name="configSelectButton">
<property name="text">
<string>Select</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="cacheHorizontalLayout">
<item>
<widget class="QLabel" name="cacheLabel">
<property name="minimumSize">
<size>
<width>63</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Cache Folder</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="cacheLineEdit"/>
</item>
<item>
<widget class="QPushButton" name="cacheSelectFolderButton">
<property name="text">
<string>Select Folder</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QGroupBox" name="expressSettingsGroupBox">
<property name="title">
<string>Express Settings</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<layout class="QHBoxLayout" name="driverHorizontalLayout">
<item>
<widget class="QLabel" name="driverLabel">
<property name="text">
<string>Driver</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="driverComboBox">
<property name="toolTip">
<string>&lt;p style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;Driver to use for
upscaling. &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;Waifu2X Caffe&lt;/span&gt;
&lt;ul&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span
style=&quot;font-size: 8pt; font-weight: 600;&quot;&gt;requires Nvidia GPU and CUDA/cuDNN&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;Caffe
implementation of waifu2x which is classic and stable&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;Lots of models
available&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;Waifu2X Converter
CPP&lt;/span&gt;
&lt;ul&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;CPP
implementation of waifu2x&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;Uses OpenCL
and OpenCV for graphical processing&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;Waifu2X NCNN
Vulkan&lt;/span&gt;
&lt;ul&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;NCNN
implementation of waifu2x&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;Uses Vulkan
API for graphical processing&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;SRMD NCNN
Vulkan&lt;/span&gt;
&lt;ul&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;NCNN
implementation of SRMD&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;Uses Vulkan
API for graphical processing&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;Anime4KCPP&lt;/span&gt;
&lt;ul&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;CPP
implementation of Anime4K&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;Very fast but
low quality&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-qt-block-indent: 0; text-indent: 0px; margin: 0px;&quot;&gt;&lt;span style=&quot;font-size: 8pt;&quot;&gt;Multithreading
is preferred&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</string>
</property>
<item>
<property name="text">
<string>Waifu2X Caffe</string>
</property>
</item>
<item>
<property name="text">
<string>Waifu2X Converter CPP</string>
</property>
</item>
<item>
<property name="text">
<string>Waifu2X NCNN Vulkan</string>
</property>
</item>
<item>
<property name="text">
<string>SRMD NCNN Vulkan</string>
</property>
</item>
<item>
<property name="text">
<string>Anime4KCPP</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="processesHorizontalLayout">
<item>
<widget class="QLabel" name="processesLabel">
<property name="text">
<string>Processes</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="processesSpinBox">
<property name="toolTip">
<string>Number of processes/threads to launch. Going to high for Waifu2X drivers might GPU's VRAM space.</string>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="scaleRatioHorizontalLayout">
<item>
<widget class="QLabel" name="scaleRatioLabel">
<property name="text">
<string>Scale Ratio</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="scaleRatioDoubleSpinBox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Number of times to enlarge the video. Larger values will increase the time needed drastically.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>9999.989999999999782</double>
</property>
<property name="singleStep">
<double>0.500000000000000</double>
</property>
<property name="value">
<double>2.000000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="preserveFramesCheckBox">
<property name="toolTip">
<string>Check this to prevent Video2X from cleaning up its cache folder containing extracted and upscaled frames.</string>
</property>
<property name="text">
<string>Preserve Frames</string>
</property>
<property name="tristate">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="framePreviewGroupBox">
<property name="title">
<string>Frame Preview</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_14">
<item>
<layout class="QHBoxLayout" name="framPreviewHorizontalLayout">
<item>
<layout class="QVBoxLayout" name="framePreviewOptionsVerticalLayout">
<item>
<widget class="QCheckBox" name="framePreviewShowPreviewCheckBox">
<property name="text">
<string>Show Preview</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="framePreviewKeepAspectRatioCheckBox">
<property name="text">
<string>Keep Aspect Ratio</string>
</property>
</widget>
</item>
<item>
<spacer name="framePreviewOptionsVerticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="framePreviewLabel">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="text">
<string/>
</property>
<property name="scaledContents">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="driverSettingsTab">
<attribute name="title">
<string>Driver Settings</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_10">
<item>
<widget class="QTabWidget" name="driversTabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="waifu2xCaffeTab">
<attribute name="title">
<string>Waifu2X Caffe</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="waifu2xCaffePathHorizontalLayout">
<item>
<widget class="QLineEdit" name="waifu2xCaffePathLineEdit"/>
</item>
<item>
<widget class="QPushButton" name="waifu2xCaffePathSelectButton">
<property name="text">
<string>Select Binary Path</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xCaffeScaleWidthHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xCaffeScaleWidthLabel">
<property name="text">
<string>Scale Width</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xCaffeScaleWidthSpinBox">
<property name="toolTip">
<string>custom scale width (specifying this will overwrite scale_ratio)</string>
</property>
<property name="maximum">
<number>999999</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xCaffeScaleHeightHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xCaffeScaleHeightLabel">
<property name="text">
<string>Scale Height</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xCaffeScaleHeightSpinBox">
<property name="toolTip">
<string>custom scale height (specifying this will overwrite scale_ratio)</string>
</property>
<property name="maximum">
<number>999999</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xCaffeModeHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xCaffeModeLabel">
<property name="text">
<string>Mode</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="waifu2xCaffeModeComboBox">
<property name="toolTip">
<string>image processing mode</string>
</property>
<item>
<property name="text">
<string>noise_scale</string>
</property>
</item>
<item>
<property name="text">
<string>auto_scale</string>
</property>
</item>
<item>
<property name="text">
<string>scale</string>
</property>
</item>
<item>
<property name="text">
<string>noise</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xCaffeNoiseLevelHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xCaffeNoiseLevelLabel">
<property name="text">
<string>Noise Level</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xCaffeNoiseLevelSpinBox">
<property name="toolTip">
<string>noise reduction level</string>
</property>
<property name="maximum">
<number>3</number>
</property>
<property name="value">
<number>3</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xCaffeProcessHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xCaffeProcessLabel">
<property name="text">
<string>Process</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="waifu2xCaffeProcessComboBox">
<property name="toolTip">
<string>process mode, cudnn requires CUDA and cuDNN to be installed</string>
</property>
<item>
<property name="text">
<string>gpu</string>
</property>
</item>
<item>
<property name="text">
<string>cudnn</string>
</property>
</item>
<item>
<property name="text">
<string>cpu</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xCaffeModelHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xCaffeModelLabel">
<property name="text">
<string>Model</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="waifu2xCaffeModelComboBox">
<property name="toolTip">
<string>name of the built-in model to use</string>
</property>
<item>
<property name="text">
<string>cunet</string>
</property>
</item>
<item>
<property name="text">
<string>anime_style_art</string>
</property>
</item>
<item>
<property name="text">
<string>anime_style_art_rgb</string>
</property>
</item>
<item>
<property name="text">
<string>photo</string>
</property>
</item>
<item>
<property name="text">
<string>ukbench</string>
</property>
</item>
<item>
<property name="text">
<string>upconv_7_anime_style_art_rgb</string>
</property>
</item>
<item>
<property name="text">
<string>upconv_7_photo</string>
</property>
</item>
<item>
<property name="text">
<string>upresnet10</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xCaffeCropSizeHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xCaffeCropSizeLabel">
<property name="text">
<string>Crop Size</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xCaffeCropSizeSpinBox">
<property name="toolTip">
<string>input image split size</string>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>128</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xCaffeOutputQualityHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xCaffeOutputQualityLabel">
<property name="text">
<string>Output Quality</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xCaffeOutputQualitySpinBox">
<property name="toolTip">
<string>output image quality</string>
</property>
<property name="minimum">
<number>-1</number>
</property>
<property name="value">
<number>-1</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xCaffeOutputDepthHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xCaffeOutputDepthLabel">
<property name="text">
<string>Output Depth</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xCaffeOutputDepthSpinBox">
<property name="toolTip">
<string>output image chanel depth bit</string>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>8</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xCaffeBatchSizeHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xCaffeBatchSizeLabel">
<property name="text">
<string>Batch Size</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xCaffeBatchSizeSpinBox">
<property name="toolTip">
<string>input batch size</string>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xCaffeGpuHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xCaffeGpuLabel">
<property name="text">
<string>GPU</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xCaffeGpuSpinBox">
<property name="toolTip">
<string>gpu device no</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xCaffeOptionsHorizontalLayout">
<item>
<widget class="QCheckBox" name="waifu2xCaffeTtaCheckBox">
<property name="toolTip">
<string>8x slower and slightly high quality</string>
</property>
<property name="text">
<string>TTA</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="waifu2xCaffeVerticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="waifu2xConverterCppTab">
<attribute name="title">
<string>Waifu2X Converter CPP</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="waifu2xConverterCppPathHorizontalLayout">
<item>
<widget class="QLineEdit" name="waifu2xConverterCppPathLineEdit"/>
</item>
<item>
<widget class="QPushButton" name="waifu2xConverterCppPathSelectButton">
<property name="text">
<string>Select Binary Path</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xConverterCppPngCompressionHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xConverterCppPngCompressionLabel">
<property name="text">
<string>PNG Compression</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xConverterCppPngCompressionSpinBox">
<property name="maximum">
<number>9</number>
</property>
<property name="value">
<number>5</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xConverterCppImageQualityHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xConverterCppImageQualityLabel">
<property name="text">
<string>Image Quality</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xConverterCppImageQualitySpinBox">
<property name="minimum">
<number>-1</number>
</property>
<property name="maximum">
<number>101</number>
</property>
<property name="value">
<number>-1</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xConverterCppBlockSizeHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xConverterCppBlockSizeLabel">
<property name="text">
<string>Block Size</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xConverterCppBlockSizeSpinBox">
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xConverterCppProcessorHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xConverterCppProcessorLabel">
<property name="text">
<string>Processor</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xConverterCppProcessorSpinBox">
<property name="minimum">
<number>-1</number>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>-1</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xConverterCppModelHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xConverterCppModelLabel">
<property name="text">
<string>Model</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="waifu2xConverterCppModelComboBox">
<item>
<property name="text">
<string>models_rgb</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xConverterCppNoiseLevelHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xConverterCppNoiseLevelLabel">
<property name="text">
<string>Noise Level</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xConverterCppNoiseLevelSpinBox">
<property name="maximum">
<number>3</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xConverterCppModeHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xConverterCppModeLabel">
<property name="text">
<string>Mode</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="waifu2xConverterCppModeComboBox">
<item>
<property name="text">
<string>noise-scale</string>
</property>
</item>
<item>
<property name="text">
<string>noise</string>
</property>
</item>
<item>
<property name="text">
<string>scale</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xConverterCppLogLevelHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xConverterCppLogLevelLabel">
<property name="text">
<string>Log Level</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xConverterCppLogLevelSpinBox">
<property name="maximum">
<number>4</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xConverterCppOptionsHorizontalLayout">
<item>
<widget class="QCheckBox" name="waifu2xConverterCppDisableGpuCheckBox">
<property name="text">
<string>Disable GPU</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="waifu2xConverterCppForceOpenclCheckBox">
<property name="text">
<string>Force OpenCL</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="waifu2xConverterCppTtaCheckBox">
<property name="text">
<string>TTA</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="waifu2xConverterCppVerticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="waifu2xNcnnVulkanTab">
<attribute name="title">
<string>Waifu2X NCNN Vulkan</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<layout class="QHBoxLayout" name="waifu2xNcnnVulkanPathHorizontalLayout">
<item>
<widget class="QLineEdit" name="waifu2xNcnnVulkanPathLineEdit"/>
</item>
<item>
<widget class="QPushButton" name="waifu2xNcnnVulkanPathSelectButton">
<property name="text">
<string>Select Binary Path</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xNcnnVulkanNoiseLevelHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xNcnnVulkanNoiseLevelLabel">
<property name="text">
<string>Noise Level</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xNcnnVulkanNoiseLevelSpinBox">
<property name="minimum">
<number>-1</number>
</property>
<property name="maximum">
<number>3</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xNcnnVulkanTileSizeHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xNcnnVulkanTileSizeLabel">
<property name="text">
<string>Tile Size</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xNcnnVulkanTileSizeSpinBox">
<property name="minimum">
<number>32</number>
</property>
<property name="maximum">
<number>99999</number>
</property>
<property name="value">
<number>400</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xNcnnVulkanModelHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xNcnnVulkanModelLabel">
<property name="text">
<string>Model</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="waifu2xNcnnVulkanModelComboBox">
<item>
<property name="text">
<string>models-cunet</string>
</property>
</item>
<item>
<property name="text">
<string>models-upconv_7_anime_style_art_rgb</string>
</property>
</item>
<item>
<property name="text">
<string>models-upconv_7_photo</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xNcnnVulkanGpuIdHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xNcnnVulkanGpuIdLabel">
<property name="text">
<string>GPU ID</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="waifu2xNcnnVulkanGpuIdSpinBox"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xNcnnVulkanJobsHorizontalLayout">
<item>
<widget class="QLabel" name="waifu2xNcnnVulkanJobsLabel">
<property name="text">
<string>Jobs</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="waifu2xNcnnVulkanJobsLineEdit">
<property name="text">
<string>1:2:2</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="waifu2xNcnnVulkanOptionsHorizontalLayout">
<item>
<widget class="QCheckBox" name="waifu2xNcnnVulkanTtaCheckBox">
<property name="text">
<string>TTA</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="waifu2xNcnnVulkanVerticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="srmdNcnnVulkanTab">
<attribute name="title">
<string>SRMD NCNN Vulkan</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<layout class="QHBoxLayout" name="srmdNcnnVulkanPathHorizontalLayout">
<item>
<widget class="QLineEdit" name="srmdNcnnVulkanPathLineEdit"/>
</item>
<item>
<widget class="QPushButton" name="srmdNcnnVulkanPathSelectButton">
<property name="text">
<string>Select Binary Path</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="srmdNcnnVulkanNoiseLevelHorizontalLayout">
<item>
<widget class="QLabel" name="srmdNcnnVulkanNoiseLevelLabel">
<property name="text">
<string>Noise Level</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="srmdNcnnVulkanNoiseLevelSpinBox">
<property name="minimum">
<number>-1</number>
</property>
<property name="maximum">
<number>10</number>
</property>
<property name="value">
<number>3</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="srmdNcnnVulkanTileSizeHorizontalLayout">
<item>
<widget class="QLabel" name="srmdNcnnVulkanTileSizeLabel">
<property name="text">
<string>Tile Size</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="srmdNcnnVulkanTileSizeSpinBox">
<property name="minimum">
<number>32</number>
</property>
<property name="maximum">
<number>99999</number>
</property>
<property name="value">
<number>400</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="srmdNcnnVulkanModelHorizontalLayout">
<item>
<widget class="QLabel" name="srmdNcnnVulkanModelLabel">
<property name="text">
<string>Model</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="srmdNcnnVulkanModelComboBox">
<item>
<property name="text">
<string>models-srmd</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="srmdNcnnVulkanGpuIdHorizontalLayout">
<item>
<widget class="QLabel" name="srmdNcnnVulkanGpuIdLabel">
<property name="text">
<string>GPU ID</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="srmdNcnnVulkanGpuIdSpinBox"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="srmdNcnnVulkanJobsHorizontalLayout">
<item>
<widget class="QLabel" name="srmdNcnnVulkanJobsLabel">
<property name="text">
<string>Jobs</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="srmdNcnnVulkanJobsLineEdit">
<property name="text">
<string>1:2:2</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="srmdNcnnVulkanOptionsHorizontalLayout">
<item>
<widget class="QCheckBox" name="srmdNcnnVulkanTtaCheckBox">
<property name="text">
<string>TTA</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="srmdNcnnVulkanVerticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="anime4kCppTab">
<attribute name="title">
<string>Anime4K CPP</string>
</attribute>
<layout class="QGridLayout" name="gridLayout">
<item row="7" column="0">
<layout class="QHBoxLayout" name="anime4kCppThreadsHorizontalLayout">
<item>
<widget class="QLabel" name="anime4kCppThreadsLabel">
<property name="text">
<string>Threads</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="anime4kCppThreadsSpinBox">
<property name="maximum">
<number>99999</number>
</property>
<property name="value">
<number>16</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<layout class="QHBoxLayout" name="anime4kCppPassesHorizontalLayout">
<item>
<widget class="QLabel" name="anime4kCppPassesLabel">
<property name="text">
<string>Passes</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="anime4kCppPassesSpinBox">
<property name="maximum">
<number>99999</number>
</property>
<property name="value">
<number>2</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="1">
<layout class="QHBoxLayout" name="anime4kCppPreFiltersHorizontalLayout">
<item>
<widget class="QLabel" name="anime4kCppPreFiltersLabel">
<property name="text">
<string>Pre-Filters</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="anime4kCppPreFiltersSpinBox">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>99999</number>
</property>
<property name="value">
<number>4</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="3" column="1">
<layout class="QHBoxLayout" name="anime4kCppPlatformIdHorizontalLayout">
<item>
<widget class="QLabel" name="anime4kCppPlatformIdLabel">
<property name="text">
<string>Platform ID</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="anime4kCppPlatformIdSpinBox">
<property name="maximum">
<number>99999</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="4" column="0">
<layout class="QHBoxLayout" name="anime4kCppStrengthGradientHorizontalLayout">
<item>
<widget class="QLabel" name="anime4kCppStrengthGradientLabel">
<property name="text">
<string>Strength Gradient</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="anime4kCppStrengthGradientSpinBox">
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
<item row="3" column="0">
<layout class="QHBoxLayout" name="anime4kCppStrengthColorHorizontalLayout">
<item>
<widget class="QLabel" name="anime4kCppStrengthColorLabel">
<property name="text">
<string>Strength Color</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="anime4kCppStrengthColorSpinBox">
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>0.300000000000000</double>
</property>
</widget>
</item>
</layout>
</item>
<item row="9" column="0" colspan="2">
<widget class="QGroupBox" name="anime4kCppSwitchesGroupBox">
<property name="title">
<string>Switches</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_12">
<item>
<widget class="QCheckBox" name="anime4kCppFastModeCheckBox">
<property name="text">
<string>Fast Mode</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="anime4kCppPreProcessingCheckBox">
<property name="text">
<string>Pre-Processing</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="anime4kCppPostProcessingCheckBox">
<property name="text">
<string>Post-Processing</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="anime4kCppGpuModeCheckBox">
<property name="text">
<string>GPU Mode</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="4" column="1">
<layout class="QHBoxLayout" name="anime4kCppDeviceIdHorizontalLayout">
<item>
<widget class="QLabel" name="anime4kCppDeviceIdLabel">
<property name="text">
<string>Device ID</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="anime4kCppDeviceIdSpinBox">
<property name="maximum">
<number>99999</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="7" column="1">
<layout class="QHBoxLayout" name="anime4kCppCodecHorizontalLayout">
<item>
<widget class="QLabel" name="anime4kCppCodecLabel">
<property name="text">
<string>Codec</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="anime4kCppCodecComboBox">
<item>
<property name="text">
<string>mp4v</string>
</property>
</item>
<item>
<property name="text">
<string>dxva</string>
</property>
</item>
<item>
<property name="text">
<string>avc1</string>
</property>
</item>
<item>
<property name="text">
<string>vp09</string>
</property>
</item>
<item>
<property name="text">
<string>hevc</string>
</property>
</item>
<item>
<property name="text">
<string>av01</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item row="0" column="0" colspan="2">
<layout class="QHBoxLayout" name="anime4kCppPathHorizontalLayout">
<item>
<widget class="QLineEdit" name="anime4kCppPathLineEdit"/>
</item>
<item>
<widget class="QPushButton" name="anime4kCppPathSelectButton">
<property name="text">
<string>Select Binary Path</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0">
<layout class="QHBoxLayout" name="anime4kCppPushColorCountHorizontalLayout">
<item>
<widget class="QLabel" name="anime4kCppPushColorLabel">
<property name="text">
<string>Push Color Count</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="anime4kCppPushColorCountSpinBox">
<property name="maximum">
<number>99999</number>
</property>
<property name="value">
<number>2</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="1">
<layout class="QHBoxLayout" name="anime4kCppPostFiltersHorizontalLayout">
<item>
<widget class="QLabel" name="anime4kCppPostFiltersLabel">
<property name="text">
<string>Post-Filters</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="anime4kCppPostFiltersSpinBox">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>99999</number>
</property>
<property name="value">
<number>40</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="10" column="0" colspan="2">
<spacer name="anime4kCppVerticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="ffmpegSettingsTab">
<attribute name="title">
<string>FFmpeg Settings</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_17">
<item>
<widget class="QTabWidget" name="ffmpegSettingsTabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="ffmpegGlobalOptionsTab">
<attribute name="title">
<string>Global Options</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_33">
<item>
<layout class="QHBoxLayout" name="ffmpegPathHboxLayout">
<item>
<widget class="QLineEdit" name="ffmpegPathLineEdit"/>
</item>
<item>
<widget class="QPushButton" name="ffmpegPathSelectButton">
<property name="text">
<string>Select FFmpeg Binary Directory</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="ffmpegIntermediateFileNameHorizontalLayout">
<item>
<widget class="QLabel" name="ffmpegIntermediateFileNameLabel">
<property name="text">
<string>Intermediate File Name</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="ffmpegIntermediateFileNameLineEdit">
<property name="text">
<string>intermediate.mkv</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="ffmpegGeneralOptionsVerticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="ffmpegExtractFramesTab">
<attribute name="title">
<string>Frame Extraction</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_18">
<item>
<widget class="QGroupBox" name="ffmpegExtractFramesInputOptionsGroupBox">
<property name="title">
<string>Input Options</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_27">
<item>
<widget class="QLabel" name="ffmpegExtractFramesInputOptionsLabel">
<property name="text">
<string>There are no input options for this stage.</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="ffmpegExtractFramesOutputOptionsGroupBox">
<property name="title">
<string>Output Options</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_24">
<item>
<layout class="QHBoxLayout" name="ffmpegExtractFramesOutputOptionsPixelFormatHorizontalLayout">
<item>
<widget class="QLabel" name="ffmpegExtractFramesOutputOptionsPixelFormatLabel">
<property name="text">
<string>Pixel Format (-pix_fmt)</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="ffmpegExtractFramesOutputOptionsPixelFormatLineEdit">
<property name="text">
<string>rgba64be</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="ffmpegExtractFramesGeneralGroupBox">
<property name="title">
<string>General</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_19">
<item>
<widget class="QCheckBox" name="ffmpegExtractFramesHardwareAccelerationCheckBox">
<property name="text">
<string>Hardware Acceleration (-hwaccel auto)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="ffmpegExtractFramesVerticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="ffmpegAssembleVideoTab">
<attribute name="title">
<string>Video Assembly</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_23">
<item>
<widget class="QGroupBox" name="ffmpegAssembleVideoInputOptionsGroupBox">
<property name="title">
<string>Input Options</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_25">
<item>
<layout class="QHBoxLayout" name="ffmpegAssembleVideoInputOptionsForceFormatHorizontalLayout">
<item>
<widget class="QLabel" name="ffmpegAssembleVideoInputOptionsForceFormatLabel">
<property name="text">
<string>Force Format (-f)</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="ffmpegAssembleVideoInputOptionsForceFormatLineEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>image2</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="ffmpegAssembleVideoOutputOptionsGroupBox">
<property name="title">
<string>Output Options</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_26">
<item>
<layout class="QHBoxLayout" name="ffmpegAssembleVideoOutputOptionsVideoCodecHorizontalLayout">
<item>
<widget class="QLabel" name="ffmpegAssembleVideoOutputOptionsVideoCodecLabel">
<property name="text">
<string>Video Codec (-vcodec)</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="ffmpegAssembleVideoOutputOptionsVideoCodecLineEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>libx264</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="ffmpegAssembleVideoOutputOptionsPixelFormatHorizontalLayout">
<item>
<widget class="QLabel" name="ffmpegAssembleVideoOutputOptionsPixelFormatLabel">
<property name="text">
<string>Pixel Format (-pix_fmt)</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="ffmpegAssembleVideoOutputOptionsPixelFormatLineEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>yuv444p10le</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="ffmpegAssembleVideoOutputOptionsCrfHorizontalLayout">
<item>
<widget class="QLabel" name="ffmpegAssembleVideoOutputOptionsCrfLabel">
<property name="text">
<string>H.264/H.265 Constant Rate Factor (-crf)</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="ffmpegAssembleVideoOutputOptionsCrfSpinBox">
<property name="maximum">
<number>51</number>
</property>
<property name="value">
<number>17</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="ffmpegAssembleVideoOutputOptionsBitrateHorizontalLayout">
<item>
<widget class="QLabel" name="ffmpegAssembleVideoOutputOptionsBitrateLabel">
<property name="text">
<string>Target Average Bitrate (-b:v)</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="ffmpegAssembleVideoOutputOptionsBitrateLineEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="ffmpegAssembleVideoOutputOptionsEnsureDivisibleCheckBox">
<property name="text">
<string>Ensure output width and height are divisible by 2 (-vf: &quot;pad=ceil(iw/2)*2:ceil(ih/2)*2&quot;)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="ffmpegAssembleVideoGeneralGroupBox">
<property name="title">
<string>General</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_22">
<item>
<widget class="QCheckBox" name="ffmpegAssembleVideoHardwareAccelerationCheckBox">
<property name="text">
<string>Hardware Acceleration (-hwaccel auto)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="ffmpegAssembleVideoOutputOptionsVerticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="ffmpegMigrateStreamsTab">
<attribute name="title">
<string>Streams Migration</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_30">
<item>
<widget class="QGroupBox" name="ffmpegMigrateStreamsInputOptionsGroupBox">
<property name="title">
<string>Input Options</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_28">
<item>
<widget class="QLabel" name="ffmpegMigrateStreamsInputOptionsLabel">
<property name="text">
<string>There are no input options for this stage.</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="ffmpegMigrateStreamsOutputOptionsGroupBox">
<property name="title">
<string>Output Options</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QGroupBox" name="ffmpegMigrateStreamsOutputOptionsMappingGroupBox">
<property name="title">
<string>Mapping</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_31">
<item>
<widget class="QCheckBox" name="ffmpegMigrateStreamsOutputOptionsMappingVideoCheckBox">
<property name="text">
<string>Copy additional video streams (-map 0:v?)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ffmpegMigrateStreamsOutputOptionsMappingAudioCheckBox">
<property name="text">
<string>Copy audio streams (-map 1:a?)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ffmpegMigrateStreamsOutputOptionsMappingSubtitleCheckBox">
<property name="text">
<string>Copy subtitle streams (-map 1:s?)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ffmpegMigrateStreamsOutputOptionsMappingDataCheckBox">
<property name="text">
<string>Copy data streams (-map 1:d?)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ffmpegMigrateStreamsOutputOptionsMappingFontCheckBox">
<property name="text">
<string>Copy fonts (-map 1:t?)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="ffmpegMigrateStreamsOutputOptionsOtherGroupBox">
<property name="title">
<string>Other Options</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_32">
<item>
<layout class="QHBoxLayout" name="ffmpegMigrateStreamsOutputOptionsPixelFormatHorizontalLayout">
<item>
<widget class="QLabel" name="ffmpegMigrateStreamsOutputOptionsPixelFormatLabel">
<property name="text">
<string>Pixel Format (-pix_fmt)</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="ffmpegMigrateStreamsOutputOptionsPixelFormatLineEdit"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="ffmpegMigrateStreamsOutputOptionsFrameInterpolationHorizontalLayout">
<item>
<widget class="QLabel" name="ffmpegMigrateStreamsOutputOptionsFrameInterpolationLabel">
<property name="text">
<string>Frame Interpolation (-filter &quot;minterpolate='fps=n'&quot;)</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="ffmpegMigrateStreamsOutputOptionsFrameInterpolationSpinBox">
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="ffmpegMigrateStreamsOutputOptionsCopyStreamsCheckBox">
<property name="toolTip">
<string>Copy streams without re-encoding</string>
</property>
<property name="text">
<string>Copy streams (-c copy)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ffmpegMigrateStreamsOutputOptionsCopyKnownMetadataTagsCheckBox">
<property name="text">
<string>Copy known metadata tags (-map_metadata 0)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ffmpegMigrateStreamsOutputOptionsCopyArbitraryMetadataTagsCheckBox">
<property name="text">
<string>Copy arbitrary metadata tags (-movflags use_metadata_tags)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="ffmpegMigrateStreamsOutputOptionsOtherVerticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="ffmpegMigrateStreamsGeneralGroupBox">
<property name="title">
<string>Switches</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_29">
<item>
<widget class="QCheckBox" name="ffmpegMigrateStreamsHardwareAccelerationCheckBox">
<property name="text">
<string>Hardware Acceleration (-hwaccel auto)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="ffmpegMigrateStreamsVerticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="gifskiSettingsTab">
<attribute name="title">
<string>Gifski Settings</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_20">
<item>
<layout class="QHBoxLayout" name="gifskiPathHorizontalLayout">
<item>
<widget class="QLineEdit" name="gifskiPathLineEdit"/>
</item>
<item>
<widget class="QPushButton" name="gifskiPathSelectButton">
<property name="text">
<string>Select Gifski Binary</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="gifskiQualityHorizontalLayout">
<item>
<widget class="QLabel" name="gifskiQualityLabel">
<property name="text">
<string>Quality</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="gifskiQualitySpinBox">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>100</number>
</property>
<property name="value">
<number>100</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="gifskiWidthHorizontalLayout">
<item>
<widget class="QLabel" name="gifskiWidthLabel">
<property name="text">
<string>Width</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="gifskiWidthSpinBox">
<property name="maximum">
<number>99999</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="gifskiHeightHorizontalLayout">
<item>
<widget class="QLabel" name="gifskiHeightLabel">
<property name="text">
<string>Height</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="gifskiHeightSpinBox">
<property name="maximum">
<number>99999</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="gifskiSwitchesGroupBox">
<property name="title">
<string>Switches</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_21">
<item>
<widget class="QCheckBox" name="gifskiFastCheckBox">
<property name="text">
<string>Fast</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="gifskiOnceCheckBox">
<property name="text">
<string>Once</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="gifskiQuietCheckBox">
<property name="text">
<string>Quiet</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="gifskiVerticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="toolsTab">
<attribute name="title">
<string>Tools</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_15">
<item>
<widget class="QTabWidget" name="toolsTabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="toolsFFprobeTab">
<attribute name="title">
<string>FFprobe</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_16">
<item>
<widget class="QPlainTextEdit" name="ffprobePlainTextEdit">
<property name="plainText">
<string>Drop a file in this box to get its FFprobe output.</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QGroupBox" name="currentVideoProcessingProgressGroupBox">
<property name="title">
<string>Current Video Processing Progress</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_11">
<item>
<widget class="QLabel" name="currentlyProcessingLabel">
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="text">
<string>Currently Processing:</string>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="currentProgressBar">
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="currentlyProcessingInfoHorizontalLayout">
<item>
<widget class="QLabel" name="timeElapsedLabel">
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="acceptDrops">
<bool>false</bool>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="text">
<string>Time Elapsed: 00:00:00</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="timeRemainingLabel">
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="text">
<string>Time Remaining: 00:00:00</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="rateLabel">
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="text">
<string>Rate (FPS): 0.0</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="framesLabel">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="text">
<string>Frames: 0/0</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="overallVideoProcessingProgressGroupBox">
<property name="title">
<string>Overall Video Processing Progress</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_13">
<item>
<widget class="QProgressBar" name="overallProgressBar">
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="overallProcessingHorizontalLayout">
<item>
<widget class="QLabel" name="overallProgressLabel">
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="text">
<string>Overall Progress: 0/0</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="startButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>130</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Start</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="stopButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>130</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Stop</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>673</width>
<height>21</height>
</rect>
</property>
<widget class="QMenu" name="menuFile">
<property name="title">
<string>File</string>
</property>
<addaction name="actionExit"/>
</widget>
<widget class="QMenu" name="menuAbout">
<property name="title">
<string>Help</string>
</property>
<addaction name="actionShortcuts"/>
<addaction name="actionAbout"/>
</widget>
<addaction name="menuFile"/>
<addaction name="menuAbout"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<action name="actionExit">
<property name="text">
<string>Exit</string>
</property>
</action>
<action name="actionAbout">
<property name="text">
<string>About</string>
</property>
</action>
<action name="actionShortcuts">
<property name="text">
<string>Shortcuts</string>
</property>
</action>
</widget>
<resources/>
<connections/>
</ui>