Properly verify custom Avs2YUV parameters. Also improved color-space info in the ReadMe file.
This commit is contained in:
parent
e316c3cd37
commit
5046a80d56
18
ReadMe.txt
18
ReadMe.txt
@ -126,14 +126,20 @@ i.e. YUV data with 4:2:0 chroma subsampling and 8-Bit precision.
|
|||||||
Usually this is exactly what you want/need. If, however, your Avisynth
|
Usually this is exactly what you want/need. If, however, your Avisynth
|
||||||
script outputs image data with a higher chroma resolution, e.g. YUY2
|
script outputs image data with a higher chroma resolution, e.g. YUY2
|
||||||
(4:2:2), then the conversion to YV12 (4:2:0) will discard some of the
|
(4:2:2), then the conversion to YV12 (4:2:0) will discard some of the
|
||||||
information. In that case, if you want/need to keep the full chroma
|
information. In that case, and if you want/need to keep the full chroma
|
||||||
resolution of your Avisynth script's output, you will have to pass the
|
resolution of your Avisynth script's output, you will have to pass the
|
||||||
"-csp" switch to Avs2YUV as a custom parameter! Use "-csp I422" for
|
"-csp" switch to Avs2YUV as a custom parameter! Use "-csp I422" for
|
||||||
YUV 4:2:2 (YV16) and use "-csp I444" for YUV 4:4:4 (YV24). Note,
|
YUV 4:2:2 (YV16) and use "-csp I444" for YUV 4:4:4 (YV24). Please note
|
||||||
however, that Avisynth 2.5 did NOT support YV16/YV24, so you need to
|
that Avs2YUV can NOT pass through the "packed" YUY2 format. Thus it has
|
||||||
use Avisynth 2.6 or Avs2YUV will fail! Also be aware that x264 itself
|
to be converted to the "planar" YV16 format. As both, YUY2 and YV16,
|
||||||
will convert any YV16 or YV24 input back to YV12, if you don't pass the
|
are YUV 4:2:2 formats, converting from YUY2 to YV16 is a lossless
|
||||||
suitable "--csp-output i422/i444" switch as a custom parameter to x264!
|
operation. Note, however, that Avisynth 2.5 did NOT support YV16/YV24,
|
||||||
|
so you need to use Avisynth 2.6; otherwise Avs2YUV will fail to do the
|
||||||
|
conversion! Also be aware that the x264 encoder itself will convert any
|
||||||
|
YV16 or YV24 input back to the YV12 format, if you don't pass the
|
||||||
|
suitable "--output-csp i422/i444" switch to x264 as a custom parameter!
|
||||||
|
In short, to encode YUY2 from Avisynth, you have to pass "-csp I422" to
|
||||||
|
Avs2YUV and "--output-csp i422" to x264 to avoid 4:2:0 downsampling.
|
||||||
|
|
||||||
|
|
||||||
9. Command-line Syntax
|
9. Command-line Syntax
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>640</width>
|
<width>640</width>
|
||||||
<height>611</height>
|
<height>614</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -767,6 +767,12 @@
|
|||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_10">
|
<widget class="QLabel" name="label_10">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>150</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>All command-line parameters you enter here will be passed to x264 unmodified and unchecked. Some parameters are forbidden, as they are reserved for the GUI.</string>
|
<string>All command-line parameters you enter here will be passed to x264 unmodified and unchecked. Some parameters are forbidden, as they are reserved for the GUI.</string>
|
||||||
</property>
|
</property>
|
||||||
@ -789,7 +795,7 @@
|
|||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="iconNotification">
|
<widget class="QLabel" name="iconNotificationX264">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Your custom parameters will be ignored entirely, if you don't fix them!</string>
|
<string>Your custom parameters will be ignored entirely, if you don't fix them!</string>
|
||||||
</property>
|
</property>
|
||||||
@ -818,7 +824,7 @@
|
|||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="labelNotification">
|
<widget class="QLabel" name="labelNotificationX264">
|
||||||
<property name="palette">
|
<property name="palette">
|
||||||
<palette>
|
<palette>
|
||||||
<active>
|
<active>
|
||||||
@ -941,7 +947,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLineEdit" name="editCustomParams">
|
<widget class="QLineEdit" name="editCustomX264Params">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<family>Lucida Console</family>
|
<family>Lucida Console</family>
|
||||||
@ -955,15 +961,126 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer_11">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>3</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_11">
|
<widget class="QLabel" name="label_11">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>150</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Custom Avs2YUV Parameters:</string>
|
<string>Custom Avs2YUV Parameters:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_12">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="iconNotificationAvs2YUV">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="pixmap">
|
||||||
|
<pixmap resource="../res/resources.qrc">:/buttons/error.png</pixmap>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_13">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>6</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="labelNotificationAvs2YUV">
|
||||||
|
<property name="palette">
|
||||||
|
<palette>
|
||||||
|
<active>
|
||||||
|
<colorrole role="WindowText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>170</red>
|
||||||
|
<green>0</green>
|
||||||
|
<blue>0</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</active>
|
||||||
|
<inactive>
|
||||||
|
<colorrole role="WindowText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>170</red>
|
||||||
|
<green>0</green>
|
||||||
|
<blue>0</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</inactive>
|
||||||
|
<disabled>
|
||||||
|
<colorrole role="WindowText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>120</red>
|
||||||
|
<green>120</green>
|
||||||
|
<blue>120</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</disabled>
|
||||||
|
</palette>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Invalid parameter entered!</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="horizontalSpacer_11">
|
<spacer name="horizontalSpacer_11">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
@ -1156,7 +1273,7 @@
|
|||||||
<tabstop>cbxPreset</tabstop>
|
<tabstop>cbxPreset</tabstop>
|
||||||
<tabstop>cbxTuning</tabstop>
|
<tabstop>cbxTuning</tabstop>
|
||||||
<tabstop>cbxProfile</tabstop>
|
<tabstop>cbxProfile</tabstop>
|
||||||
<tabstop>editCustomParams</tabstop>
|
<tabstop>editCustomX264Params</tabstop>
|
||||||
<tabstop>checkBoxRun</tabstop>
|
<tabstop>checkBoxRun</tabstop>
|
||||||
<tabstop>buttonAccept</tabstop>
|
<tabstop>buttonAccept</tabstop>
|
||||||
<tabstop>buttonCancel</tabstop>
|
<tabstop>buttonCancel</tabstop>
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#define VER_X264_MAJOR 2
|
#define VER_X264_MAJOR 2
|
||||||
#define VER_X264_MINOR 0
|
#define VER_X264_MINOR 0
|
||||||
#define VER_X264_PATCH 1
|
#define VER_X264_PATCH 1
|
||||||
#define VER_X264_BUILD 135
|
#define VER_X264_BUILD 146
|
||||||
|
|
||||||
#define VER_X264_MINIMUM_REV 2146
|
#define VER_X264_MINIMUM_REV 2146
|
||||||
#define VER_X264_CURRENT_API 120
|
#define VER_X264_CURRENT_API 120
|
||||||
|
@ -69,20 +69,7 @@ public:
|
|||||||
m_icon->hide();
|
m_icon->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual State validate(QString &input, int &pos) const
|
virtual State validate(QString &input, int &pos) const = 0;
|
||||||
{
|
|
||||||
static const char* p[] = {"B", "o", "h", "p", "q", "fps", "frames", "preset", "tune", "profile",
|
|
||||||
"stdin", "crf", "bitrate", "qp", "pass", "stats", "output", "help","quiet", NULL};
|
|
||||||
|
|
||||||
bool invalid = false;
|
|
||||||
|
|
||||||
for(size_t i = 0; p[i] && (!invalid); i++)
|
|
||||||
{
|
|
||||||
invalid = invalid || checkParam(input, QString::fromLatin1(p[i]));
|
|
||||||
}
|
|
||||||
|
|
||||||
return invalid ? QValidator::Intermediate : QValidator::Acceptable;
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void fixup(QString &input) const
|
virtual void fixup(QString &input) const
|
||||||
{
|
{
|
||||||
@ -92,17 +79,18 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
QLabel *const m_notifier, *const m_icon;
|
QLabel *const m_notifier, *const m_icon;
|
||||||
|
|
||||||
bool checkParam(const QString &input, const QString ¶m) const
|
bool checkParam(const QString &input, const QString ¶m, const bool doubleMinus) const
|
||||||
{
|
{
|
||||||
static const char c[20] = {' ', '*', '?', '<', '>', '/', '\\', '"', '\'', '!', '+', '#', '&', '%', '=', ',', ';', '.', '´', '`'};
|
static const char c[20] = {' ', '*', '?', '<', '>', '/', '\\', '"', '\'', '!', '+', '#', '&', '%', '=', ',', ';', '.', '´', '`'};
|
||||||
|
const QString prefix = doubleMinus ? QLatin1String("--") : QLatin1String("-");
|
||||||
|
|
||||||
bool flag = false;
|
bool flag = false;
|
||||||
if(param.length() > 1)
|
if(param.length() > 1)
|
||||||
{
|
{
|
||||||
flag = flag || input.endsWith(QString("--%1").arg(param), Qt::CaseInsensitive);
|
flag = flag || input.endsWith(QString("%1%2").arg(prefix, param), Qt::CaseInsensitive);
|
||||||
for(size_t i = 0; i < sizeof(c); i++)
|
for(size_t i = 0; i < sizeof(c); i++)
|
||||||
{
|
{
|
||||||
flag = flag || input.contains(QString("--%1%2").arg(param, QChar::fromLatin1(c[i])), Qt::CaseInsensitive);
|
flag = flag || input.contains(QString("%1%2%3").arg(prefix, param, QChar::fromLatin1(c[i])), Qt::CaseInsensitive);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -117,7 +105,7 @@ protected:
|
|||||||
{
|
{
|
||||||
if(m_notifier)
|
if(m_notifier)
|
||||||
{
|
{
|
||||||
m_notifier->setText(tr("Invalid parameter: %1").arg((param.length() > 1) ? QString("--%1").arg(param) : QString("-%1").arg(param)));
|
m_notifier->setText(tr("Invalid parameter: %1").arg((param.length() > 1) ? QString("%1%2").arg(prefix, param) : QString("-%1").arg(param)));
|
||||||
if(m_notifier->isHidden()) m_notifier->show();
|
if(m_notifier->isHidden()) m_notifier->show();
|
||||||
if(m_icon) { if(m_icon->isHidden()) m_icon->show(); }
|
if(m_icon) { if(m_icon->isHidden()) m_icon->show(); }
|
||||||
}
|
}
|
||||||
@ -134,6 +122,47 @@ protected:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class StringValidatorX264 : public StringValidator
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
StringValidatorX264(QLabel *notifier, QLabel *icon) : StringValidator(notifier, icon) {}
|
||||||
|
|
||||||
|
virtual State validate(QString &input, int &pos) const
|
||||||
|
{
|
||||||
|
static const char* p[] = {"B", "o", "h", "p", "q", "fps", "frames", "preset", "tune", "profile",
|
||||||
|
"stdin", "crf", "bitrate", "qp", "pass", "stats", "output", "help","quiet", NULL};
|
||||||
|
|
||||||
|
bool invalid = false;
|
||||||
|
|
||||||
|
for(size_t i = 0; p[i] && (!invalid); i++)
|
||||||
|
{
|
||||||
|
invalid = invalid || checkParam(input, QString::fromLatin1(p[i]), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return invalid ? QValidator::Intermediate : QValidator::Acceptable;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class StringValidatorAvs2YUV : public StringValidator
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
StringValidatorAvs2YUV(QLabel *notifier, QLabel *icon) : StringValidator(notifier, icon) {}
|
||||||
|
|
||||||
|
virtual State validate(QString &input, int &pos) const
|
||||||
|
{
|
||||||
|
static const char* p[] = {"o", "frames", "seek", "raw", "hfyu", NULL};
|
||||||
|
|
||||||
|
bool invalid = false;
|
||||||
|
|
||||||
|
for(size_t i = 0; p[i] && (!invalid); i++)
|
||||||
|
{
|
||||||
|
invalid = invalid || checkParam(input, QString::fromLatin1(p[i]), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
return invalid ? QValidator::Intermediate : QValidator::Acceptable;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Constructor & Destructor
|
// Constructor & Destructor
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
@ -169,9 +198,12 @@ AddJobDialog::AddJobDialog(QWidget *parent, OptionsModel *options, bool x64suppo
|
|||||||
connect(buttonDeleteTemplate, SIGNAL(clicked()), this, SLOT(deleteTemplateButtonClicked()));
|
connect(buttonDeleteTemplate, SIGNAL(clicked()), this, SLOT(deleteTemplateButtonClicked()));
|
||||||
|
|
||||||
//Setup validator
|
//Setup validator
|
||||||
editCustomParams->installEventFilter(this);
|
editCustomX264Params->installEventFilter(this);
|
||||||
editCustomParams->setValidator(new StringValidator(labelNotification, iconNotification));
|
editCustomX264Params->setValidator(new StringValidatorX264(labelNotificationX264, iconNotificationX264));
|
||||||
editCustomParams->clear();
|
editCustomX264Params->clear();
|
||||||
|
editCustomAvs2YUVParams->installEventFilter(this);
|
||||||
|
editCustomAvs2YUVParams->setValidator(new StringValidatorAvs2YUV(labelNotificationAvs2YUV, iconNotificationAvs2YUV));
|
||||||
|
editCustomAvs2YUVParams->clear();
|
||||||
|
|
||||||
//Install event filter
|
//Install event filter
|
||||||
labelHelpScreenX264->installEventFilter(this);
|
labelHelpScreenX264->installEventFilter(this);
|
||||||
@ -184,7 +216,8 @@ AddJobDialog::AddJobDialog(QWidget *parent, OptionsModel *options, bool x64suppo
|
|||||||
connect(cbxPreset, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
|
connect(cbxPreset, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
|
||||||
connect(cbxTuning, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
|
connect(cbxTuning, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
|
||||||
connect(cbxProfile, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
|
connect(cbxProfile, SIGNAL(currentIndexChanged(int)), this, SLOT(configurationChanged()));
|
||||||
connect(editCustomParams, SIGNAL(textChanged(QString)), this, SLOT(configurationChanged()));
|
connect(editCustomX264Params, SIGNAL(textChanged(QString)), this, SLOT(configurationChanged()));
|
||||||
|
connect(editCustomAvs2YUVParams, SIGNAL(textChanged(QString)), this, SLOT(configurationChanged()));
|
||||||
|
|
||||||
//Setup template selector
|
//Setup template selector
|
||||||
loadTemplateList();
|
loadTemplateList();
|
||||||
@ -232,8 +265,10 @@ void AddJobDialog::showEvent(QShowEvent *event)
|
|||||||
buttonAccept->setFocus();
|
buttonAccept->setFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
labelNotification->hide();
|
labelNotificationX264->hide();
|
||||||
iconNotification->hide();
|
iconNotificationX264->hide();
|
||||||
|
labelNotificationAvs2YUV->hide();
|
||||||
|
iconNotificationAvs2YUV->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AddJobDialog::eventFilter(QObject *o, QEvent *e)
|
bool AddJobDialog::eventFilter(QObject *o, QEvent *e)
|
||||||
@ -250,9 +285,9 @@ bool AddJobDialog::eventFilter(QObject *o, QEvent *e)
|
|||||||
helpScreen->exec();
|
helpScreen->exec();
|
||||||
X264_DELETE(helpScreen);
|
X264_DELETE(helpScreen);
|
||||||
}
|
}
|
||||||
else if((o == editCustomParams) && (e->type() == QEvent::FocusOut))
|
else if((o == editCustomX264Params) && (e->type() == QEvent::FocusOut))
|
||||||
{
|
{
|
||||||
editCustomParams->setText(editCustomParams->text().simplified());
|
editCustomX264Params->setText(editCustomX264Params->text().simplified());
|
||||||
}
|
}
|
||||||
else if((o == editCustomAvs2YUVParams) && (e->type() == QEvent::FocusOut))
|
else if((o == editCustomAvs2YUVParams) && (e->type() == QEvent::FocusOut))
|
||||||
{
|
{
|
||||||
@ -353,7 +388,7 @@ void AddJobDialog::accept(void)
|
|||||||
QMessageBox::warning(this, tr("Not a File!"), tr("<nobr>Selected output file does not appear to be a valid file!</nobr>"));
|
QMessageBox::warning(this, tr("Not a File!"), tr("<nobr>Selected output file does not appear to be a valid file!</nobr>"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!editCustomParams->hasAcceptableInput())
|
if(!editCustomX264Params->hasAcceptableInput())
|
||||||
{
|
{
|
||||||
int ret = QMessageBox::warning(this, tr("Invalid Params"), tr("<nobr>Your custom parameters are invalid and will be discarded!</nobr>"), QMessageBox::Ignore | QMessageBox::Cancel, QMessageBox::Cancel);
|
int ret = QMessageBox::warning(this, tr("Invalid Params"), tr("<nobr>Your custom parameters are invalid and will be discarded!</nobr>"), QMessageBox::Ignore | QMessageBox::Cancel, QMessageBox::Cancel);
|
||||||
if(ret != QMessageBox::Ignore) return;
|
if(ret != QMessageBox::Ignore) return;
|
||||||
@ -662,7 +697,8 @@ void AddJobDialog::restoreOptions(OptionsModel *options)
|
|||||||
cbxPreset->blockSignals(true);
|
cbxPreset->blockSignals(true);
|
||||||
cbxTuning->blockSignals(true);
|
cbxTuning->blockSignals(true);
|
||||||
cbxProfile->blockSignals(true);
|
cbxProfile->blockSignals(true);
|
||||||
editCustomParams->blockSignals(true);
|
editCustomX264Params->blockSignals(true);
|
||||||
|
editCustomAvs2YUVParams->blockSignals(true);
|
||||||
|
|
||||||
cbxRateControlMode->setCurrentIndex(options->rcMode());
|
cbxRateControlMode->setCurrentIndex(options->rcMode());
|
||||||
spinQuantizer->setValue(options->quantizer());
|
spinQuantizer->setValue(options->quantizer());
|
||||||
@ -670,7 +706,7 @@ void AddJobDialog::restoreOptions(OptionsModel *options)
|
|||||||
updateComboBox(cbxPreset, options->preset());
|
updateComboBox(cbxPreset, options->preset());
|
||||||
updateComboBox(cbxTuning, options->tune());
|
updateComboBox(cbxTuning, options->tune());
|
||||||
updateComboBox(cbxProfile, options->profile());
|
updateComboBox(cbxProfile, options->profile());
|
||||||
editCustomParams->setText(options->customX264());
|
editCustomX264Params->setText(options->customX264());
|
||||||
editCustomAvs2YUVParams->setText(options->customAvs2YUV());
|
editCustomAvs2YUVParams->setText(options->customAvs2YUV());
|
||||||
|
|
||||||
cbxRateControlMode->blockSignals(false);
|
cbxRateControlMode->blockSignals(false);
|
||||||
@ -679,7 +715,8 @@ void AddJobDialog::restoreOptions(OptionsModel *options)
|
|||||||
cbxPreset->blockSignals(false);
|
cbxPreset->blockSignals(false);
|
||||||
cbxTuning->blockSignals(false);
|
cbxTuning->blockSignals(false);
|
||||||
cbxProfile->blockSignals(false);
|
cbxProfile->blockSignals(false);
|
||||||
editCustomParams->blockSignals(false);
|
editCustomX264Params->blockSignals(false);
|
||||||
|
editCustomAvs2YUVParams->blockSignals(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddJobDialog::saveOptions(OptionsModel *options)
|
void AddJobDialog::saveOptions(OptionsModel *options)
|
||||||
@ -690,8 +727,8 @@ void AddJobDialog::saveOptions(OptionsModel *options)
|
|||||||
options->setPreset(cbxPreset->model()->data(cbxPreset->model()->index(cbxPreset->currentIndex(), 0)).toString());
|
options->setPreset(cbxPreset->model()->data(cbxPreset->model()->index(cbxPreset->currentIndex(), 0)).toString());
|
||||||
options->setTune(cbxTuning->model()->data(cbxTuning->model()->index(cbxTuning->currentIndex(), 0)).toString());
|
options->setTune(cbxTuning->model()->data(cbxTuning->model()->index(cbxTuning->currentIndex(), 0)).toString());
|
||||||
options->setProfile(cbxProfile->model()->data(cbxProfile->model()->index(cbxProfile->currentIndex(), 0)).toString());
|
options->setProfile(cbxProfile->model()->data(cbxProfile->model()->index(cbxProfile->currentIndex(), 0)).toString());
|
||||||
options->setCustomX264(editCustomParams->hasAcceptableInput() ? editCustomParams->text().simplified() : QString());
|
options->setCustomX264(editCustomX264Params->hasAcceptableInput() ? editCustomX264Params->text().simplified() : QString());
|
||||||
options->setCustomAvs2YUV(editCustomAvs2YUVParams->text().simplified());
|
options->setCustomAvs2YUV(editCustomAvs2YUVParams->hasAcceptableInput() ? editCustomAvs2YUVParams->text().simplified() : QString());
|
||||||
}
|
}
|
||||||
|
|
||||||
QString AddJobDialog::makeFileFilter(void)
|
QString AddJobDialog::makeFileFilter(void)
|
||||||
|
@ -40,7 +40,7 @@ public:
|
|||||||
QString preset(void) { return cbxPreset->itemText(cbxPreset->currentIndex()); }
|
QString preset(void) { return cbxPreset->itemText(cbxPreset->currentIndex()); }
|
||||||
QString tuning(void) { return cbxTuning->itemText(cbxTuning->currentIndex()); }
|
QString tuning(void) { return cbxTuning->itemText(cbxTuning->currentIndex()); }
|
||||||
QString profile(void) { return cbxProfile->itemText(cbxProfile->currentIndex()); }
|
QString profile(void) { return cbxProfile->itemText(cbxProfile->currentIndex()); }
|
||||||
QString params(void) { return editCustomParams->text().simplified(); }
|
QString params(void) { return editCustomX264Params->text().simplified(); }
|
||||||
bool runImmediately(void) { return checkBoxRun->isChecked(); }
|
bool runImmediately(void) { return checkBoxRun->isChecked(); }
|
||||||
void setRunImmediately(bool run) { checkBoxRun->setChecked(run); }
|
void setRunImmediately(bool run) { checkBoxRun->setChecked(run); }
|
||||||
void setSourceFile(const QString &path) { editSource->setText(QDir::toNativeSeparators(path)); }
|
void setSourceFile(const QString &path) { editSource->setText(QDir::toNativeSeparators(path)); }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user