Updated x265 to version 2.5. Now using "multilib" build.

This commit is contained in:
LoRd_MuldeR 2017-07-15 20:38:23 +02:00
parent 339fb9ae25
commit e4b257d93d
4 changed files with 33 additions and 15 deletions

View File

@ -40,8 +40,8 @@
#include <QPair> #include <QPair>
//x265 version info //x265 version info
static const unsigned int VERSION_X265_MINIMUM_VER = 24; static const unsigned int VERSION_X265_MINIMUM_VER = 25;
static const unsigned int VERSION_X265_MINIMUM_REV = 36; static const unsigned int VERSION_X265_MINIMUM_REV = 0;
// ------------------------------------------------------------ // ------------------------------------------------------------
// Helper Macros // Helper Macros
@ -160,21 +160,18 @@ public:
virtual QString getBinaryPath(const SysinfoModel *sysinfo, const quint32 &encArch, const quint32 &encVariant) const virtual QString getBinaryPath(const SysinfoModel *sysinfo, const quint32 &encArch, const quint32 &encVariant) const
{ {
QString arch, variant; QString arch;
switch(encArch) switch(encArch)
{ {
case 0: arch = "x86"; break; case 0: arch = "x86"; break;
case 1: arch = "x64"; break; case 1: arch = "x64"; break;
default: MUTILS_THROW("Unknown encoder arch!"); default: MUTILS_THROW("Unknown encoder arch!");
} }
switch(encVariant) if((encVariant < 0) || (encVariant > 2))
{ {
case 0: variant = "8bit"; break; MUTILS_THROW("Unknown encoder variant!");
case 1: variant = "10bit"; break;
case 2: variant = "12bit"; break;
default: MUTILS_THROW("Unknown encoder arch!");
} }
return QString("%1/toolset/%2/x265_%3_%2.exe").arg(sysinfo->getAppPath(), arch, variant); return QString("%1/toolset/%2/x265_%2.exe").arg(sysinfo->getAppPath(), arch);
} }
virtual QString getHelpCommand(void) const virtual QString getHelpCommand(void) const
@ -294,6 +291,22 @@ void X265Encoder::buildCommandLine(QStringList &cmdLine, const bool &usePipe, co
{ {
double crf_int = 0.0, crf_frc = 0.0; double crf_int = 0.0, crf_frc = 0.0;
cmdLine << "-D";
switch (m_options->encVariant())
{
case 0:
cmdLine << QString::number(8);
break;
case 1:
cmdLine << QString::number(10);
break;
case 2:
cmdLine << QString::number(12);
break;
default:
MUTILS_THROW("Unknown encoder variant!");
}
switch(m_options->rcMode()) switch(m_options->rcMode())
{ {
case 0: case 0:

View File

@ -167,7 +167,7 @@ const bool &StringValidator::setStatus(const bool &flag, const QString &toolName
QValidator::State StringValidatorEncoder::validate(QString &input, int &pos) const QValidator::State StringValidatorEncoder::validate(QString &input, int &pos) const
{ {
static const char *const params[] = {"B", "o", "h", "p", "q", /*"fps", "frames",*/ "preset", "tune", "profile", static const char *const params[] = {"D", "B", "o", "h", "p", "q", /*"fps", "frames",*/ "preset", "tune", "profile",
"stdin", "crf", "bitrate", "qp", "pass", "stats", "output", "help", "quiet", "codec", "y4m", NULL}; "stdin", "crf", "bitrate", "qp", "pass", "stats", "output", "help", "quiet", "codec", "y4m", NULL};
const QString commandLine = input.trimmed(); const QString commandLine = input.trimmed();

View File

@ -152,7 +152,7 @@ void BinariesCheckThread::checkBinaries3(volatile bool &success, const SysinfoMo
{ {
const AbstractEncoderInfo &encInfo = EncoderFactory::getEncoderInfo(encdr); const AbstractEncoderInfo &encInfo = EncoderFactory::getEncoderInfo(encdr);
const quint32 archCount = encInfo.getArchitectures().count(); const quint32 archCount = encInfo.getArchitectures().count();
QSet<QString> dependencySet; QSet<QString> filesSet;
for (quint32 archIdx = 0; archIdx < archCount; ++archIdx) for (quint32 archIdx = 0; archIdx < archCount; ++archIdx)
{ {
const QStringList variants = encInfo.getVariants(); const QStringList variants = encInfo.getVariants();
@ -161,13 +161,18 @@ void BinariesCheckThread::checkBinaries3(volatile bool &success, const SysinfoMo
const QStringList dependencies = encInfo.getDependencies(sysinfo, archIdx, varntIdx); const QStringList dependencies = encInfo.getDependencies(sysinfo, archIdx, varntIdx);
for (QStringList::ConstIterator iter = dependencies.constBegin(); iter != dependencies.constEnd(); iter++) for (QStringList::ConstIterator iter = dependencies.constBegin(); iter != dependencies.constEnd(); iter++)
{ {
if (!dependencySet.contains(*iter)) if (!filesSet.contains(*iter))
{ {
dependencySet << (*iter); filesSet << (*iter);
binFiles << qMakePair(*iter, true); binFiles << qMakePair(*iter, true);
} }
} }
binFiles << qMakePair(encInfo.getBinaryPath(sysinfo, archIdx, varntIdx), false); const QString binary = encInfo.getBinaryPath(sysinfo, archIdx, varntIdx);
if (!filesSet.contains(binary))
{
filesSet << binary;
binFiles << qMakePair(binary, false);
}
} }
} }
} }

View File

@ -26,7 +26,7 @@
#define VER_X264_MAJOR 2 #define VER_X264_MAJOR 2
#define VER_X264_MINOR 8 #define VER_X264_MINOR 8
#define VER_X264_PATCH 3 #define VER_X264_PATCH 3
#define VER_X264_BUILD 1114 #define VER_X264_BUILD 1115
#define VER_X264_PORTABLE_EDITION (0) #define VER_X264_PORTABLE_EDITION (0)