#include <QPair>
//x265 version info
-static const unsigned int VERSION_X265_MINIMUM_VER = 24;
-static const unsigned int VERSION_X265_MINIMUM_REV = 36;
+static const unsigned int VERSION_X265_MINIMUM_VER = 25;
+static const unsigned int VERSION_X265_MINIMUM_REV = 0;
// ------------------------------------------------------------
// Helper Macros
virtual QString getBinaryPath(const SysinfoModel *sysinfo, const quint32 &encArch, const quint32 &encVariant) const
{
- QString arch, variant;
+ QString arch;
switch(encArch)
{
case 0: arch = "x86"; break;
case 1: arch = "x64"; break;
default: MUTILS_THROW("Unknown encoder arch!");
}
- switch(encVariant)
+ if((encVariant < 0) || (encVariant > 2))
{
- case 0: variant = "8bit"; break;
- case 1: variant = "10bit"; break;
- case 2: variant = "12bit"; break;
- default: MUTILS_THROW("Unknown encoder arch!");
+ MUTILS_THROW("Unknown encoder variant!");
}
- 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
{
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())
{
case 0:
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};
const QString commandLine = input.trimmed();
{
const AbstractEncoderInfo &encInfo = EncoderFactory::getEncoderInfo(encdr);
const quint32 archCount = encInfo.getArchitectures().count();
- QSet<QString> dependencySet;
+ QSet<QString> filesSet;
for (quint32 archIdx = 0; archIdx < archCount; ++archIdx)
{
const QStringList variants = encInfo.getVariants();
const QStringList dependencies = encInfo.getDependencies(sysinfo, archIdx, varntIdx);
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(encInfo.getBinaryPath(sysinfo, archIdx, varntIdx), false);
+ const QString binary = encInfo.getBinaryPath(sysinfo, archIdx, varntIdx);
+ if (!filesSet.contains(binary))
+ {
+ filesSet << binary;
+ binFiles << qMakePair(binary, false);
+ }
}
}
}
#define VER_X264_MAJOR 2
#define VER_X264_MINOR 8
#define VER_X264_PATCH 3
-#define VER_X264_BUILD 1114
+#define VER_X264_BUILD 1115
#define VER_X264_PORTABLE_EDITION (0)