void X265Encoder::checkVersion_init(QList<QRegExp*> &patterns, QStringList &cmdLine)
{
cmdLine << "--version";
- patterns << new QRegExp("\\bHEVC\\s+encoder\\s+version\\s+0\\.(\\d+)\\+(\\d+)-[a-f0-9]+\\b", Qt::CaseInsensitive);
+ patterns << new QRegExp("\\bHEVC\\s+encoder\\s+version\\s+(\\d)\\.(\\d+)\\+(\\d+)-[a-f0-9]+\\b", Qt::CaseInsensitive);
}
void X265Encoder::checkVersion_parseLine(const QString &line, QList<QRegExp*> &patterns, unsigned int &coreVers, unsigned int &revision, bool &modified)
if((offset = patterns[0]->lastIndexIn(line)) >= 0)
{
- bool ok1 = false, ok2 = false;
- unsigned int temp1 = patterns[0]->cap(1).toUInt(&ok1);
- unsigned int temp2 = patterns[0]->cap(2).toUInt(&ok2);
- if(ok1) coreVers = temp1;
- if(ok2) revision = temp2;
+ bool ok[3] = { false, false, false };
+ unsigned int temp[3];
+ temp[0] = patterns[0]->cap(1).toUInt(&ok[0]);
+ temp[1] = patterns[0]->cap(2).toUInt(&ok[1]);
+ temp[2] = patterns[0]->cap(3).toUInt(&ok[2]);
+ if(ok[0] && ok[1])
+ {
+ coreVers = (10 * temp[0]) + temp[1];
+ }
+ if(ok[2]) revision = temp[2];
}
if(!line.isEmpty())
QString X265Encoder::printVersion(const unsigned int &revision, const bool &modified)
{
- return tr("x265 version: 0.%1+%2").arg(QString::number(revision / REV_MULT), QString::number(revision % REV_MULT));
+ const unsigned int core = revision / REV_MULT;
+ const unsigned int plus = revision % REV_MULT;
+
+ return tr("x265 version: %1.%2+%3").arg(QString::number(core / 10), QString::number(core % 10), QString::number(plus));
}
bool X265Encoder::isVersionSupported(const unsigned int &revision, const bool &modified)
log(tr("Preset : %1").arg(m_options->preset()));
log(tr("Tuning : %1").arg(m_options->tune()));
log(tr("Profile : %1").arg(m_options->profile()));
- log(tr("Custom : %1").arg(m_options->customEncParams().isEmpty() ? tr("(None)") : m_options->customEncParams()));
+ log(tr("Custom : %1").arg(m_options->customEncParams().isEmpty() ? tr("<None>") : m_options->customEncParams()));
bool ok = false;
unsigned int frames = 0;