Merge pull request #5321 from Beep6581/clut_scan_speedup

Clut scan speedup
This commit is contained in:
Ingo Weyrich
2019-05-14 12:33:14 +02:00
committed by GitHub
3 changed files with 22 additions and 15 deletions

View File

@@ -270,7 +270,8 @@ void rtengine::HaldCLUT::splitClutFilename(
const Glib::ustring& filename, const Glib::ustring& filename,
Glib::ustring& name, Glib::ustring& name,
Glib::ustring& extension, Glib::ustring& extension,
Glib::ustring& profile_name Glib::ustring& profile_name,
bool checkProfile
) )
{ {
Glib::ustring basename = Glib::path_get_basename(filename); Glib::ustring basename = Glib::path_get_basename(filename);
@@ -284,6 +285,7 @@ void rtengine::HaldCLUT::splitClutFilename(
name = basename; name = basename;
} }
if (checkProfile) {
profile_name = "sRGB"; profile_name = "sRGB";
if (!name.empty()) { if (!name.empty()) {
@@ -298,6 +300,7 @@ void rtengine::HaldCLUT::splitClutFilename(
} }
} }
} }
}
} }
rtengine::CLUTStore& rtengine::CLUTStore::getInstance() rtengine::CLUTStore& rtengine::CLUTStore::getInstance()

View File

@@ -39,7 +39,8 @@ public:
const Glib::ustring& filename, const Glib::ustring& filename,
Glib::ustring& name, Glib::ustring& name,
Glib::ustring& extension, Glib::ustring& extension,
Glib::ustring& profile_name Glib::ustring& profile_name,
bool checkProfile = true
); );
private: private:

View File

@@ -8,6 +8,8 @@
#include "../rtengine/clutstore.h" #include "../rtengine/clutstore.h"
#include "../rtengine/procparams.h" #include "../rtengine/procparams.h"
#define BENCHMARK
#include "../rtengine/StopWatch.h"
using namespace rtengine; using namespace rtengine;
using namespace rtengine::procparams; using namespace rtengine::procparams;
@@ -305,6 +307,7 @@ ClutComboBox::ClutModel::ClutModel(const Glib::ustring &path)
int ClutComboBox::ClutModel::parseDir(const Glib::ustring& path) int ClutComboBox::ClutModel::parseDir(const Glib::ustring& path)
{ {
BENCHFUNMICRO
if (path.empty() || !Glib::file_test(path, Glib::FILE_TEST_IS_DIR)) { if (path.empty() || !Glib::file_test(path, Glib::FILE_TEST_IS_DIR)) {
return 0; return 0;
} }
@@ -364,7 +367,7 @@ int ClutComboBox::ClutModel::parseDir(const Glib::ustring& path)
} }
// Fill menu structure with CLUT files // Fill menu structure with CLUT files
std::set<Glib::ustring> entries; std::set<std::string> entries;
unsigned long fileCount = 0; unsigned long fileCount = 0;
@@ -390,10 +393,10 @@ int ClutComboBox::ClutModel::parseDir(const Glib::ustring& path)
Glib::ustring name; Glib::ustring name;
Glib::ustring extension; Glib::ustring extension;
Glib::ustring profileName; Glib::ustring profileName;
HaldCLUT::splitClutFilename (entry, name, extension, profileName); HaldCLUT::splitClutFilename (entry, name, extension, profileName, false);
extension = extension.casefold(); extension = extension.casefold();
if (extension.compare("tif") != 0 && extension.compare("png") != 0) { if (extension != "png" && extension != "tif") {
continue; continue;
} }