Solving issue 1102: "My system don't have any output ICC profile, it leads to crappy resulting images" on behalf of Jacques Desmis

iccprofiles now contains an "input" and "output" subdirectory. Jacques also created new output profiles that are necessary for good color rendering in the output file.
simpleprocess.cc has also been cleaned up.
This commit is contained in:
natureh
2011-11-21 22:07:56 +01:00
parent b22a8a8e0e
commit a7de9f8c91
36 changed files with 255 additions and 227 deletions

View File

@@ -16,7 +16,7 @@
* You should have received a copy of the GNU General Public License
* along with RawTherapee. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __ICCSTORE__
#ifndef __ICCSTORE__
#define __ICCSTORE__
#include <lcms2.h>
@@ -36,7 +36,8 @@ class ProfileContent {
ProfileContent (): data(NULL), length(0) {}
ProfileContent (Glib::ustring fileName);
ProfileContent (const ProfileContent& other);
ProfileContent (const ProfileContent& other);
ProfileContent (cmsHPROFILE hProfile);
~ProfileContent ();
ProfileContent& operator= (const ProfileContent other);
cmsHPROFILE toProfile ();
@@ -60,17 +61,17 @@ class ICCStore {
cmsHPROFILE xyz;
cmsHPROFILE srgb;
Glib::Mutex mutex_;
Glib::Mutex mutex_;
ICCStore ();
void loadICCs(Glib::ustring rootDirName, bool nameUpper, std::map<std::string, cmsHPROFILE>& resultProfiles, std::map<std::string, ProfileContent> &resultProfileContents);
public:
static ICCStore* getInstance(void);
Glib::ustring defaultMonitorProfile; // Main monitors standard profile name, from OS
void findDefaultMonitorProfile();
static ICCStore* getInstance(void);
Glib::ustring defaultMonitorProfile; // Main monitors standard profile name, from OS
void findDefaultMonitorProfile();
int numOfWProfiles ();
cmsHPROFILE createFromMatrix (const double matrix[3][3], bool gamma=false, Glib::ustring name="");