Added option to choose between 8-Bit and 10-Bit encoding at runtime. We now include 8-Bit and 10-Bit builds in the distribution package.
This commit is contained in:
parent
2c021cf3f1
commit
b7acf86d6e
@ -10,7 +10,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>379</width>
|
<width>379</width>
|
||||||
<height>226</height>
|
<height>260</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -47,7 +47,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0" rowspan="6">
|
<item row="1" column="0" rowspan="8">
|
||||||
<spacer name="horizontalSpacer_2">
|
<spacer name="horizontalSpacer_2">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
@ -63,7 +63,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="6" rowspan="6">
|
<item row="1" column="6" rowspan="8">
|
||||||
<spacer name="horizontalSpacer_3">
|
<spacer name="horizontalSpacer_3">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
@ -89,7 +89,7 @@
|
|||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QCheckBox" name="checkRunNextJob">
|
<widget class="QCheckBox" name="checkRunNextJob">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string notr="true"/>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -128,14 +128,14 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="1">
|
<item row="6" column="1">
|
||||||
<widget class="QCheckBox" name="checkUse64BitAvs2YUV">
|
<widget class="QCheckBox" name="checkUse64BitAvs2YUV">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>If this option is un-checked (default), then 32-Bit Avisynth will be used - even when using 64-Bit x264.
|
<string>If this option is un-checked (default), then 32-Bit Avisynth will be used - even when using 64-Bit x264.
|
||||||
Please be aware that this option does NOT have any effect on 32-Bit systems.</string>
|
Please be aware that this option does NOT have any effect on 32-Bit systems.</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string notr="true"/>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -155,14 +155,14 @@ Please be aware that this option does NOT have any effect on 32-Bit systems.</st
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="1">
|
<item row="8" column="1">
|
||||||
<widget class="QCheckBox" name="checkShutdownComputer">
|
<widget class="QCheckBox" name="checkShutdownComputer">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string notr="true"/>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="2" colspan="4">
|
<item row="8" column="2" colspan="4">
|
||||||
<widget class="QLabel" name="labelShutdownComputer">
|
<widget class="QLabel" name="labelShutdownComputer">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Shutdown computer as soon as the last job has completed</string>
|
<string>Shutdown computer as soon as the last job has completed</string>
|
||||||
@ -185,7 +185,7 @@ Please be aware that this option does NOT have any effect on 32-Bit systems.</st
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item row="7" column="1" colspan="5">
|
<item row="9" column="1" colspan="5">
|
||||||
<spacer name="verticalSpacer_3">
|
<spacer name="verticalSpacer_3">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
@ -201,7 +201,7 @@ Please be aware that this option does NOT have any effect on 32-Bit systems.</st
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="2" colspan="4">
|
<item row="6" column="2" colspan="4">
|
||||||
<widget class="QLabel" name="labelUse64BitAvs2YUV">
|
<widget class="QLabel" name="labelUse64BitAvs2YUV">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>If this option is un-checked (default), then 32-Bit Avisynth will be used - even when using 64-Bit x264.
|
<string>If this option is un-checked (default), then 32-Bit Avisynth will be used - even when using 64-Bit x264.
|
||||||
@ -212,7 +212,7 @@ Please be aware that this option does NOT have any effect on 32-Bit systems.</st
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="2" colspan="4">
|
<item row="7" column="1" colspan="5">
|
||||||
<spacer name="verticalSpacer_4">
|
<spacer name="verticalSpacer_4">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
@ -228,6 +228,36 @@ Please be aware that this option does NOT have any effect on 32-Bit systems.</st
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QCheckBox" name="checkUse10BitEncoding">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="2" colspan="4">
|
||||||
|
<widget class="QLabel" name="labelUse10BitEncoding">
|
||||||
|
<property name="text">
|
||||||
|
<string>Use 10-Bit version of x264 → implies 'High 10' H.264 Profile</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1" colspan="5">
|
||||||
|
<spacer name="verticalSpacer_5">
|
||||||
|
<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>8</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
@ -71,6 +71,8 @@ QMutex EncodeThread::m_mutex_startProcess;
|
|||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define X264_BINARY(BIN_DIR, IS_10BIT, IS_X64) QString("%1/x264_%2_%3.exe").arg((BIN_DIR), ((IS_10BIT) ? "10bit" : "8bit"), ((IS_X64) ? "x64" : "x86"))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Static vars
|
* Static vars
|
||||||
*/
|
*/
|
||||||
@ -80,7 +82,7 @@ static const unsigned int REV_MULT = 10000;
|
|||||||
// Constructor & Destructor
|
// Constructor & Destructor
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
EncodeThread::EncodeThread(const QString &sourceFileName, const QString &outputFileName, const OptionsModel *options, const QString &binDir, bool x264_x64, bool avs2yuv_x64)
|
EncodeThread::EncodeThread(const QString &sourceFileName, const QString &outputFileName, const OptionsModel *options, const QString &binDir, bool x264_x64, bool x264_10bit, bool avs2yuv_x64)
|
||||||
:
|
:
|
||||||
m_jobId(QUuid::createUuid()),
|
m_jobId(QUuid::createUuid()),
|
||||||
m_sourceFileName(sourceFileName),
|
m_sourceFileName(sourceFileName),
|
||||||
@ -88,6 +90,7 @@ EncodeThread::EncodeThread(const QString &sourceFileName, const QString &outputF
|
|||||||
m_options(new OptionsModel(*options)),
|
m_options(new OptionsModel(*options)),
|
||||||
m_binDir(binDir),
|
m_binDir(binDir),
|
||||||
m_x264_x64(x264_x64),
|
m_x264_x64(x264_x64),
|
||||||
|
m_x264_10bit(x264_10bit),
|
||||||
m_avs2yuv_x64(avs2yuv_x64),
|
m_avs2yuv_x64(avs2yuv_x64),
|
||||||
m_handle_jobObject(NULL),
|
m_handle_jobObject(NULL),
|
||||||
m_semaphorePaused(0)
|
m_semaphorePaused(0)
|
||||||
@ -200,7 +203,7 @@ void EncodeThread::encode(void)
|
|||||||
log(tr("\n--- CHECK VERSION ---\n"));
|
log(tr("\n--- CHECK VERSION ---\n"));
|
||||||
unsigned int revision_x264 = UINT_MAX;
|
unsigned int revision_x264 = UINT_MAX;
|
||||||
bool x264_modified = false;
|
bool x264_modified = false;
|
||||||
ok = ((revision_x264 = checkVersionX264(m_x264_x64, x264_modified)) != UINT_MAX);
|
ok = ((revision_x264 = checkVersionX264(m_x264_x64, m_x264_10bit, x264_modified)) != UINT_MAX);
|
||||||
CHECK_STATUS(m_abort, ok);
|
CHECK_STATUS(m_abort, ok);
|
||||||
|
|
||||||
//Checking avs2yuv version
|
//Checking avs2yuv version
|
||||||
@ -259,17 +262,17 @@ void EncodeThread::encode(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
log(tr("\n--- PASS 1 ---\n"));
|
log(tr("\n--- PASS 1 ---\n"));
|
||||||
ok = runEncodingPass(m_x264_x64, m_avs2yuv_x64, usePipe, frames, indexFile, 1, passLogFile);
|
ok = runEncodingPass(m_x264_x64, m_x264_10bit, m_avs2yuv_x64, usePipe, frames, indexFile, 1, passLogFile);
|
||||||
CHECK_STATUS(m_abort, ok);
|
CHECK_STATUS(m_abort, ok);
|
||||||
|
|
||||||
log(tr("\n--- PASS 2 ---\n"));
|
log(tr("\n--- PASS 2 ---\n"));
|
||||||
ok = runEncodingPass(m_x264_x64, m_avs2yuv_x64, usePipe, frames, indexFile, 2, passLogFile);
|
ok = runEncodingPass(m_x264_x64, m_x264_10bit, m_avs2yuv_x64, usePipe, frames, indexFile, 2, passLogFile);
|
||||||
CHECK_STATUS(m_abort, ok);
|
CHECK_STATUS(m_abort, ok);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
log(tr("\n--- ENCODING ---\n"));
|
log(tr("\n--- ENCODING ---\n"));
|
||||||
ok = runEncodingPass(m_x264_x64, m_avs2yuv_x64, usePipe, frames, indexFile);
|
ok = runEncodingPass(m_x264_x64, m_x264_10bit, m_avs2yuv_x64, usePipe, frames, indexFile);
|
||||||
CHECK_STATUS(m_abort, ok);
|
CHECK_STATUS(m_abort, ok);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -280,7 +283,7 @@ void EncodeThread::encode(void)
|
|||||||
setStatus(JobStatus_Completed);
|
setStatus(JobStatus_Completed);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EncodeThread::runEncodingPass(bool x264_x64, bool avs2yuv_x64, bool usePipe, unsigned int frames, const QString &indexFile, int pass, const QString &passLogFile)
|
bool EncodeThread::runEncodingPass(bool x264_x64, bool x264_10bit, bool avs2yuv_x64, bool usePipe, unsigned int frames, const QString &indexFile, int pass, const QString &passLogFile)
|
||||||
{
|
{
|
||||||
QProcess processEncode, processAvisynth;
|
QProcess processEncode, processAvisynth;
|
||||||
|
|
||||||
@ -302,10 +305,10 @@ bool EncodeThread::runEncodingPass(bool x264_x64, bool avs2yuv_x64, bool usePipe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList cmdLine_Encode = buildCommandLine(usePipe, frames, indexFile, pass, passLogFile);
|
QStringList cmdLine_Encode = buildCommandLine(usePipe, x264_10bit, frames, indexFile, pass, passLogFile);
|
||||||
|
|
||||||
log("Creating x264 process:");
|
log("Creating x264 process:");
|
||||||
if(!startProcess(processEncode, QString("%1/%2.exe").arg(m_binDir, x264_x64 ? "x264_x64" : "x264"), cmdLine_Encode))
|
if(!startProcess(processEncode, X264_BINARY(m_binDir, x264_10bit, x264_x64), cmdLine_Encode))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -510,7 +513,7 @@ bool EncodeThread::runEncodingPass(bool x264_x64, bool avs2yuv_x64, bool usePipe
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList EncodeThread::buildCommandLine(bool usePipe, unsigned int frames, const QString &indexFile, int pass, const QString &passLogFile)
|
QStringList EncodeThread::buildCommandLine(bool usePipe, bool use10Bit, unsigned int frames, const QString &indexFile, int pass, const QString &passLogFile)
|
||||||
{
|
{
|
||||||
QStringList cmdLine;
|
QStringList cmdLine;
|
||||||
double crf_int = 0.0, crf_frc = 0.0;
|
double crf_int = 0.0, crf_frc = 0.0;
|
||||||
@ -548,7 +551,21 @@ QStringList EncodeThread::buildCommandLine(bool usePipe, unsigned int frames, co
|
|||||||
|
|
||||||
if(m_options->profile().compare("auto", Qt::CaseInsensitive))
|
if(m_options->profile().compare("auto", Qt::CaseInsensitive))
|
||||||
{
|
{
|
||||||
cmdLine << "--profile" << m_options->profile().toLower();
|
if(use10Bit)
|
||||||
|
{
|
||||||
|
if(m_options->profile().compare("baseline", Qt::CaseInsensitive) || m_options->profile().compare("main", Qt::CaseInsensitive) || m_options->profile().compare("high", Qt::CaseInsensitive))
|
||||||
|
{
|
||||||
|
log(tr("WARNING: Selected H.264 Profile not compatible with 10-Bit encoding. Ignoring!\n"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cmdLine << "--profile" << m_options->profile().toLower();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cmdLine << "--profile" << m_options->profile().toLower();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!m_options->customX264().isEmpty())
|
if(!m_options->customX264().isEmpty())
|
||||||
@ -574,13 +591,13 @@ QStringList EncodeThread::buildCommandLine(bool usePipe, unsigned int frames, co
|
|||||||
return cmdLine;
|
return cmdLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int EncodeThread::checkVersionX264(bool x64, bool &modified)
|
unsigned int EncodeThread::checkVersionX264(bool use_x64, bool use_10bit, bool &modified)
|
||||||
{
|
{
|
||||||
QProcess process;
|
QProcess process;
|
||||||
QStringList cmdLine = QStringList() << "--version";
|
QStringList cmdLine = QStringList() << "--version";
|
||||||
|
|
||||||
log("Creating process:");
|
log("Creating process:");
|
||||||
if(!startProcess(process, QString("%1/%2.exe").arg(m_binDir, x64 ? "x264_x64" : "x264"), cmdLine))
|
if(!startProcess(process, X264_BINARY(m_binDir, use_10bit, use_x64), cmdLine))
|
||||||
{
|
{
|
||||||
return false;;
|
return false;;
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,7 @@ public:
|
|||||||
JobStatus_Undefined = 666
|
JobStatus_Undefined = 666
|
||||||
};
|
};
|
||||||
|
|
||||||
EncodeThread(const QString &sourceFileName, const QString &outputFileName, const OptionsModel *options, const QString &binDir, bool x264_x64, bool avs2yuv_x64);
|
EncodeThread(const QString &sourceFileName, const QString &outputFileName, const OptionsModel *options, const QString &binDir, bool x264_x64, bool x264_10bit, bool avs2yuv_x64);
|
||||||
~EncodeThread(void);
|
~EncodeThread(void);
|
||||||
|
|
||||||
QUuid getId(void) { return this->m_jobId; };
|
QUuid getId(void) { return this->m_jobId; };
|
||||||
@ -90,6 +90,7 @@ protected:
|
|||||||
const OptionsModel *m_options;
|
const OptionsModel *m_options;
|
||||||
const QString m_binDir;
|
const QString m_binDir;
|
||||||
const bool m_x264_x64;
|
const bool m_x264_x64;
|
||||||
|
const bool m_x264_10bit;
|
||||||
const bool m_avs2yuv_x64;
|
const bool m_avs2yuv_x64;
|
||||||
|
|
||||||
//Flags
|
//Flags
|
||||||
@ -112,9 +113,9 @@ protected:
|
|||||||
|
|
||||||
//Encode functions
|
//Encode functions
|
||||||
void encode(void);
|
void encode(void);
|
||||||
bool runEncodingPass(bool x264_x64, bool avs2yuv_x64, bool usePipe, unsigned int frames, const QString &indexFile, int pass = 0, const QString &passLogFile = QString());
|
bool runEncodingPass(bool x264_x64, bool x264_10bit, bool avs2yuv_x64, bool usePipe, unsigned int frames, const QString &indexFile, int pass = 0, const QString &passLogFile = QString());
|
||||||
QStringList buildCommandLine(bool usePipe, unsigned int frames, const QString &indexFile, int pass = 0, const QString &passLogFile = QString());
|
QStringList buildCommandLine(bool usePipe, bool use10Bit, unsigned int frames, const QString &indexFile, int pass = 0, const QString &passLogFile = QString());
|
||||||
unsigned int checkVersionX264(bool x64, bool &modified);
|
unsigned int checkVersionX264(bool use_x64, bool use_10bit, bool &modified);
|
||||||
unsigned int checkVersionAvs2yuv(bool x64);
|
unsigned int checkVersionAvs2yuv(bool x64);
|
||||||
bool checkProperties(bool x64, unsigned int &frames);
|
bool checkProperties(bool x64, unsigned int &frames);
|
||||||
|
|
||||||
|
@ -21,11 +21,11 @@
|
|||||||
|
|
||||||
#define VER_X264_MAJOR 2
|
#define VER_X264_MAJOR 2
|
||||||
#define VER_X264_MINOR 0
|
#define VER_X264_MINOR 0
|
||||||
#define VER_X264_PATCH 2
|
#define VER_X264_PATCH 3
|
||||||
#define VER_X264_BUILD 275
|
#define VER_X264_BUILD 291
|
||||||
|
|
||||||
#define VER_X264_MINIMUM_REV 2146
|
#define VER_X264_MINIMUM_REV 2164
|
||||||
#define VER_X264_CURRENT_API 120
|
#define VER_X264_CURRENT_API 122
|
||||||
#define VER_X264_AVS2YUV_VER 242
|
#define VER_X264_AVS2YUV_VER 242
|
||||||
|
|
||||||
#define VER_X264_PRE_RELEASE (0)
|
#define VER_X264_PRE_RELEASE (0)
|
||||||
|
@ -227,6 +227,7 @@ void MainWindow::addButtonPressed(const QString &filePathIn, const QString &file
|
|||||||
options ? options : m_options,
|
options ? options : m_options,
|
||||||
QString("%1/toolset").arg(m_appDir),
|
QString("%1/toolset").arg(m_appDir),
|
||||||
m_cpuFeatures->x64,
|
m_cpuFeatures->x64,
|
||||||
|
m_preferences.use10BitEncoding,
|
||||||
m_cpuFeatures->x64 && m_preferences.useAvisyth64Bit
|
m_cpuFeatures->x64 && m_preferences.useAvisyth64Bit
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -629,7 +630,7 @@ void MainWindow::shutdownComputer(void)
|
|||||||
*/
|
*/
|
||||||
void MainWindow::init(void)
|
void MainWindow::init(void)
|
||||||
{
|
{
|
||||||
static const char *binFiles = "x264.exe:x264_x64.exe:avs2yuv.exe:avs2yuv_x64.exe";
|
static const char *binFiles = "x264_8bit_x86.exe:x264_8bit_x64.exe:x264_10bit_x86.exe:x264_10bit_x64.exe:avs2yuv.exe:avs2yuv_x64.exe";
|
||||||
QStringList binaries = QString::fromLatin1(binFiles).split(":", QString::SkipEmptyParts);
|
QStringList binaries = QString::fromLatin1(binFiles).split(":", QString::SkipEmptyParts);
|
||||||
|
|
||||||
updateLabelPos();
|
updateLabelPos();
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QDesktopServices>
|
#include <QDesktopServices>
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
#define UPDATE_CHECKBOX(CHKBOX, VALUE) \
|
#define UPDATE_CHECKBOX(CHKBOX, VALUE) \
|
||||||
{ \
|
{ \
|
||||||
@ -43,10 +44,12 @@ PreferencesDialog::PreferencesDialog(QWidget *parent, Preferences *preferences,
|
|||||||
setFixedSize(minimumSize());
|
setFixedSize(minimumSize());
|
||||||
|
|
||||||
labelRunNextJob->installEventFilter(this);
|
labelRunNextJob->installEventFilter(this);
|
||||||
|
labelUse10BitEncoding->installEventFilter(this);
|
||||||
labelUse64BitAvs2YUV->installEventFilter(this);
|
labelUse64BitAvs2YUV->installEventFilter(this);
|
||||||
labelShutdownComputer->installEventFilter(this);
|
labelShutdownComputer->installEventFilter(this);
|
||||||
|
|
||||||
connect(resetButton, SIGNAL(clicked()), this, SLOT(resetButtonPressed()));
|
connect(resetButton, SIGNAL(clicked()), this, SLOT(resetButtonPressed()));
|
||||||
|
connect(checkUse10BitEncoding, SIGNAL(toggled(bool)), this, SLOT(use10BitEncodingToggled(bool)));
|
||||||
|
|
||||||
m_preferences = preferences;
|
m_preferences = preferences;
|
||||||
}
|
}
|
||||||
@ -63,6 +66,10 @@ void PreferencesDialog::showEvent(QShowEvent *event)
|
|||||||
UPDATE_CHECKBOX(checkShutdownComputer, m_preferences->shutdownComputer);
|
UPDATE_CHECKBOX(checkShutdownComputer, m_preferences->shutdownComputer);
|
||||||
UPDATE_CHECKBOX(checkUse64BitAvs2YUV, m_preferences->useAvisyth64Bit);
|
UPDATE_CHECKBOX(checkUse64BitAvs2YUV, m_preferences->useAvisyth64Bit);
|
||||||
|
|
||||||
|
checkUse10BitEncoding->blockSignals(true);
|
||||||
|
UPDATE_CHECKBOX(checkUse10BitEncoding, m_preferences->use10BitEncoding);
|
||||||
|
checkUse10BitEncoding->blockSignals(false);
|
||||||
|
|
||||||
spinBoxJobCount->setValue(m_preferences->maxRunningJobCount);
|
spinBoxJobCount->setValue(m_preferences->maxRunningJobCount);
|
||||||
|
|
||||||
checkUse64BitAvs2YUV->setEnabled(m_x64);
|
checkUse64BitAvs2YUV->setEnabled(m_x64);
|
||||||
@ -73,6 +80,7 @@ bool PreferencesDialog::eventFilter(QObject *o, QEvent *e)
|
|||||||
{
|
{
|
||||||
emulateMouseEvent(o, e, labelRunNextJob, checkRunNextJob);
|
emulateMouseEvent(o, e, labelRunNextJob, checkRunNextJob);
|
||||||
emulateMouseEvent(o, e, labelShutdownComputer, checkShutdownComputer);
|
emulateMouseEvent(o, e, labelShutdownComputer, checkShutdownComputer);
|
||||||
|
emulateMouseEvent(o, e, labelUse10BitEncoding, checkUse10BitEncoding);
|
||||||
emulateMouseEvent(o, e, labelUse64BitAvs2YUV, checkUse64BitAvs2YUV);
|
emulateMouseEvent(o, e, labelUse64BitAvs2YUV, checkUse64BitAvs2YUV);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -101,6 +109,7 @@ void PreferencesDialog::done(int n)
|
|||||||
{
|
{
|
||||||
m_preferences->autoRunNextJob = checkRunNextJob->isChecked();
|
m_preferences->autoRunNextJob = checkRunNextJob->isChecked();
|
||||||
m_preferences->shutdownComputer = checkShutdownComputer->isChecked();
|
m_preferences->shutdownComputer = checkShutdownComputer->isChecked();
|
||||||
|
m_preferences->use10BitEncoding = checkUse10BitEncoding->isChecked();
|
||||||
m_preferences->useAvisyth64Bit = checkUse64BitAvs2YUV->isChecked();
|
m_preferences->useAvisyth64Bit = checkUse64BitAvs2YUV->isChecked();
|
||||||
m_preferences->maxRunningJobCount = spinBoxJobCount->value();
|
m_preferences->maxRunningJobCount = spinBoxJobCount->value();
|
||||||
|
|
||||||
@ -114,6 +123,22 @@ void PreferencesDialog::resetButtonPressed(void)
|
|||||||
showEvent(NULL);
|
showEvent(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PreferencesDialog::use10BitEncodingToggled(bool checked)
|
||||||
|
{
|
||||||
|
if(checked)
|
||||||
|
{
|
||||||
|
QString text;
|
||||||
|
text += tr("<nobr>Please note that 10−Bit H.264 streams are <b>not</b> currently supported by hardware (standalone) players!</nobr><br>");
|
||||||
|
text += tr("<nobr>To play such streams, you will need an <i>up−to−date</i> ffdshow−tryouts, CoreAVC 3.x or another supported s/w decoder.</nobr><br>");
|
||||||
|
text += tr("<nobr>Also be aware that hardware−acceleration (CUDA, DXVA, etc) usually will <b>not</b> work with 10−Bit H.264 streams.</nobr><br>");
|
||||||
|
|
||||||
|
if(QMessageBox::warning(this, tr("10-Bit Encoding"), text, tr("Continue"), tr("Revert"), QString(), 1) != 0)
|
||||||
|
{
|
||||||
|
UPDATE_CHECKBOX(checkUse10BitEncoding, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Static Functions
|
// Static Functions
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
@ -125,6 +150,7 @@ void PreferencesDialog::initPreferences(Preferences *preferences)
|
|||||||
preferences->autoRunNextJob = true;
|
preferences->autoRunNextJob = true;
|
||||||
preferences->maxRunningJobCount = 1;
|
preferences->maxRunningJobCount = 1;
|
||||||
preferences->shutdownComputer = false;
|
preferences->shutdownComputer = false;
|
||||||
|
preferences->use10BitEncoding = false;
|
||||||
preferences->useAvisyth64Bit = false;
|
preferences->useAvisyth64Bit = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,6 +166,7 @@ void PreferencesDialog::loadPreferences(Preferences *preferences)
|
|||||||
preferences->autoRunNextJob = settings.value("auto_run_next_job", QVariant(defaults.autoRunNextJob)).toBool();
|
preferences->autoRunNextJob = settings.value("auto_run_next_job", QVariant(defaults.autoRunNextJob)).toBool();
|
||||||
preferences->maxRunningJobCount = qBound(1U, settings.value("max_running_job_count", QVariant(defaults.maxRunningJobCount)).toUInt(), 16U);
|
preferences->maxRunningJobCount = qBound(1U, settings.value("max_running_job_count", QVariant(defaults.maxRunningJobCount)).toUInt(), 16U);
|
||||||
preferences->shutdownComputer = settings.value("shutdown_computer_on_completion", QVariant(defaults.shutdownComputer)).toBool();
|
preferences->shutdownComputer = settings.value("shutdown_computer_on_completion", QVariant(defaults.shutdownComputer)).toBool();
|
||||||
|
preferences->use10BitEncoding = settings.value("use_10bit_encoding", QVariant(defaults.use10BitEncoding)).toBool();
|
||||||
preferences->useAvisyth64Bit = settings.value("use_64bit_avisynth", QVariant(defaults.useAvisyth64Bit)).toBool();
|
preferences->useAvisyth64Bit = settings.value("use_64bit_avisynth", QVariant(defaults.useAvisyth64Bit)).toBool();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -152,6 +179,7 @@ void PreferencesDialog::savePreferences(Preferences *preferences)
|
|||||||
settings.setValue("auto_run_next_job", preferences->autoRunNextJob);
|
settings.setValue("auto_run_next_job", preferences->autoRunNextJob);
|
||||||
settings.setValue("shutdown_computer_on_completion", preferences->shutdownComputer);
|
settings.setValue("shutdown_computer_on_completion", preferences->shutdownComputer);
|
||||||
settings.setValue("max_running_job_count", preferences->maxRunningJobCount);
|
settings.setValue("max_running_job_count", preferences->maxRunningJobCount);
|
||||||
|
settings.setValue("use_10bit_encoding", preferences->use10BitEncoding);
|
||||||
settings.setValue("use_64bit_avisynth", preferences->useAvisyth64Bit);
|
settings.setValue("use_64bit_avisynth", preferences->useAvisyth64Bit);
|
||||||
settings.sync();
|
settings.sync();
|
||||||
}
|
}
|
||||||
|
@ -33,6 +33,7 @@ public:
|
|||||||
bool autoRunNextJob;
|
bool autoRunNextJob;
|
||||||
unsigned int maxRunningJobCount;
|
unsigned int maxRunningJobCount;
|
||||||
bool shutdownComputer;
|
bool shutdownComputer;
|
||||||
|
bool use10BitEncoding;
|
||||||
bool useAvisyth64Bit;
|
bool useAvisyth64Bit;
|
||||||
}
|
}
|
||||||
Preferences;
|
Preferences;
|
||||||
@ -58,4 +59,5 @@ private:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void resetButtonPressed(void);
|
void resetButtonPressed(void);
|
||||||
|
void use10BitEncodingToggled(bool checked);
|
||||||
};
|
};
|
||||||
|
@ -104,7 +104,7 @@ REM ///////////////////////////////////////////////////////////////////////////
|
|||||||
REM // Compress
|
REM // Compress
|
||||||
REM ///////////////////////////////////////////////////////////////////////////
|
REM ///////////////////////////////////////////////////////////////////////////
|
||||||
"%UPX3_PATH%\upx.exe" --brute "%PACK_PATH%\*.exe"
|
"%UPX3_PATH%\upx.exe" --brute "%PACK_PATH%\*.exe"
|
||||||
"%UPX3_PATH%\upx.exe" --best "%PACK_PATH%\*.dll"
|
"%UPX3_PATH%\upx.exe" --best "%PACK_PATH%\*.dll"
|
||||||
|
|
||||||
REM ///////////////////////////////////////////////////////////////////////////
|
REM ///////////////////////////////////////////////////////////////////////////
|
||||||
REM // Attributes
|
REM // Attributes
|
||||||
@ -134,6 +134,7 @@ echo #Generated File - Do NOT modify! > "%NSI_FILE%"
|
|||||||
echo !define ZIP2EXE_NAME `Simple x264 Launcher (%ISO_DATE%)` >> "%NSI_FILE%"
|
echo !define ZIP2EXE_NAME `Simple x264 Launcher (%ISO_DATE%)` >> "%NSI_FILE%"
|
||||||
echo !define ZIP2EXE_OUTFILE `%OUT_FULL%` >> "%NSI_FILE%"
|
echo !define ZIP2EXE_OUTFILE `%OUT_FULL%` >> "%NSI_FILE%"
|
||||||
echo !define ZIP2EXE_COMPRESSOR_LZMA >> "%NSI_FILE%"
|
echo !define ZIP2EXE_COMPRESSOR_LZMA >> "%NSI_FILE%"
|
||||||
|
echo !define ZIP2EXE_COMPRESSOR_SOLID >> "%NSI_FILE%"
|
||||||
echo !define ZIP2EXE_INSTALLDIR `$PROGRAMFILES\MuldeR\Simple x264 Launcher v2` >> "%NSI_FILE%"
|
echo !define ZIP2EXE_INSTALLDIR `$PROGRAMFILES\MuldeR\Simple x264 Launcher v2` >> "%NSI_FILE%"
|
||||||
echo !define ZIP2EXE_REGPATH `SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{986E454F-DACA-4326-A9C7-3E46C0BFFDCE}` >> "%NSI_FILE%"
|
echo !define ZIP2EXE_REGPATH `SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{986E454F-DACA-4326-A9C7-3E46C0BFFDCE}` >> "%NSI_FILE%"
|
||||||
echo !define MUI_INSTFILESPAGE_COLORS "C5DEFB 000000" >> "%NSI_FILE%"
|
echo !define MUI_INSTFILESPAGE_COLORS "C5DEFB 000000" >> "%NSI_FILE%"
|
||||||
@ -142,6 +143,7 @@ echo ShowInstDetails show >> "%NSI_FILE%"
|
|||||||
echo BrandingText `Created: %ISO_DATE%, %ISO_TIME% [Build #%BUILD_NO%]` >> "%NSI_FILE%"
|
echo BrandingText `Created: %ISO_DATE%, %ISO_TIME% [Build #%BUILD_NO%]` >> "%NSI_FILE%"
|
||||||
echo InstallDirRegKey HKLM `${ZIP2EXE_REGPATH}` InstallLocation >> "%NSI_FILE%"
|
echo InstallDirRegKey HKLM `${ZIP2EXE_REGPATH}` InstallLocation >> "%NSI_FILE%"
|
||||||
echo !include `${NSISDIR}\Contrib\zip2exe\Base.nsh` >> "%NSI_FILE%"
|
echo !include `${NSISDIR}\Contrib\zip2exe\Base.nsh` >> "%NSI_FILE%"
|
||||||
|
echo SetCompressorDictSize 96 >> "%NSI_FILE%"
|
||||||
echo !include `${NSISDIR}\Contrib\zip2exe\Modern.nsh` >> "%NSI_FILE%"
|
echo !include `${NSISDIR}\Contrib\zip2exe\Modern.nsh` >> "%NSI_FILE%"
|
||||||
echo !include `%~dp0\etc\check_os.nsh` >> "%NSI_FILE%"
|
echo !include `%~dp0\etc\check_os.nsh` >> "%NSI_FILE%"
|
||||||
echo !include `%~dp0\etc\finalization.nsh` >> "%NSI_FILE%"
|
echo !include `%~dp0\etc\finalization.nsh` >> "%NSI_FILE%"
|
||||||
|
Loading…
Reference in New Issue
Block a user