OSDN Git Service

Correctly handle the case when Preset and/or Tune is "UNSPECIFIED".
[x264-launcher/x264-launcher.git] / src / encoder_x265.cpp
index 3f9842d..ac99598 100644 (file)
@@ -334,21 +334,30 @@ void X265Encoder::buildCommandLine(QStringList &cmdLine, const bool &usePipe, co
                cmdLine << "--stats" << QDir::toNativeSeparators(passLogFile);
        }
 
-       cmdLine << "--preset" << m_options->preset().toLower();
+       const QString preset = m_options->preset().simplified().toLower();
+       if(!preset.isEmpty())
+       {
+               if(preset.compare(QString::fromLatin1(OptionsModel::SETTING_UNSPECIFIED), Qt::CaseInsensitive) != 0)
+               {
+                       cmdLine << "--preset" << preset;
+               }
+       }
 
-       if(!m_options->tune().simplified().isEmpty())
+       const QString tune = m_options->tune().simplified().toLower();
+       if(!tune.isEmpty())
        {
-               if(m_options->tune().simplified().compare(QString::fromLatin1(OptionsModel::TUNING_UNSPECIFIED), Qt::CaseInsensitive) != 0)
+               if(tune.compare(QString::fromLatin1(OptionsModel::SETTING_UNSPECIFIED), Qt::CaseInsensitive) != 0)
                {
-                       cmdLine << "--tune" << m_options->tune().simplified().toLower();
+                       cmdLine << "--tune" << tune;
                }
        }
 
-       if(!m_options->profile().simplified().isEmpty())
+       const QString profile = m_options->profile().simplified().toLower();
+       if(!profile.isEmpty())
        {
-               if(m_options->profile().simplified().compare(QString::fromLatin1(OptionsModel::PROFILE_UNRESTRICTED), Qt::CaseInsensitive) != 0)
+               if(profile.compare(QString::fromLatin1(OptionsModel::PROFILE_UNRESTRICTED), Qt::CaseInsensitive) != 0)
                {
-                       cmdLine << "--profile" << m_options->profile().simplified().toLower();
+                       cmdLine << "--profile" << profile;
                }
        }