OSDN Git Service

Remove extra qualification.
[lamexp/LameXP.git] / src / Thread_Initialization.h
index c66a840..3cfe7be 100644 (file)
@@ -1,11 +1,12 @@
 ///////////////////////////////////////////////////////////////////////////////
 // LameXP - Audio Encoder Front-End
-// Copyright (C) 2004-2011 LoRd_MuldeR <MuldeR2@GMX.de>
+// Copyright (C) 2004-2015 LoRd_MuldeR <MuldeR2@GMX.de>
 //
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
 // the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
+// (at your option) any later version, but always including the *additional*
+// restrictions defined in the "License.txt" file.
 //
 // This program is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 #pragma once
 
+//Internal
+#include "Global.h"
+
+//MUtils
+#include <MUtils/CPUFeatures.h>
+
+//Qt
 #include <QThread>
 
 ////////////////////////////////////////////////////////////
@@ -32,14 +40,25 @@ class InitializationThread: public QThread
        Q_OBJECT
 
 public:
-       InitializationThread(void);
-       void run();
+       InitializationThread(const MUtils::CPUFetaures::cpu_info_t &cpuFeatures);
+
        bool getSuccess(void) { return !isRunning() && m_bSuccess; }
+       bool getSlowIndicator(void) { return m_slowIndicator; }
+
+       static void selfTest(void);
+
+protected:
+       void run(void);
+       double doInit(const size_t threadCount = 0);
 
 private:
        void delay(void);
-       void initNeroAac(void);
-       void initWmaDec(void);
+       void initTranslations(void);
+       void initAacEnc_Nero(void);
+       void initAacEnc_FHG(void);
+       void initAacEnc_QAAC(void);
 
        bool m_bSuccess;
+       MUtils::CPUFetaures::cpu_info_t m_cpuFeatures;
+       bool m_slowIndicator;
 };