Merge branch 'dev' into pfcorrect-cleanup
This commit is contained in:
@@ -102,9 +102,9 @@ protected:
|
||||
private:
|
||||
unsigned int owner;
|
||||
#ifdef __SSE2__
|
||||
vfloat maxsv ALIGNED16;
|
||||
vfloat sizev ALIGNED16;
|
||||
vint sizeiv ALIGNED16;
|
||||
alignas(16) vfloat maxsv;
|
||||
alignas(16) vfloat sizev;
|
||||
alignas(16) vint sizeiv;
|
||||
#endif
|
||||
public:
|
||||
/// convenience flag! If one doesn't want to delete the buffer but want to flag it to be recomputed...
|
||||
|
||||
@@ -1265,6 +1265,12 @@ Camera constants:
|
||||
"ranges": { "white": 16100 }
|
||||
},
|
||||
|
||||
{ // Quality B
|
||||
"make_model": "FUJIFILM X-E3",
|
||||
"dcraw_matrix": [ 11434,-4948,-1210,-3746,12042,1903,-666,1479,5235 ], // DNG v10 D65
|
||||
"ranges": { "white": 16100 }
|
||||
},
|
||||
|
||||
{ // Quality B
|
||||
"make_model": "FUJIFILM X-PRO1",
|
||||
"dcraw_matrix": [ 10413,-3996,-993,-3721,11640,2361,-733,1540,6011 ], // DNG_v9.4 D65
|
||||
|
||||
@@ -1337,6 +1337,8 @@ int ImageIO::saveTIFF (Glib::ustring fname, int bps, bool uncompressed)
|
||||
pl->setProgress (0.0);
|
||||
}
|
||||
|
||||
bool applyExifPatch = false;
|
||||
|
||||
if (exifRoot) {
|
||||
rtexif::TagDirectory* cl = (const_cast<rtexif::TagDirectory*> (exifRoot))->clone (nullptr);
|
||||
|
||||
@@ -1379,6 +1381,7 @@ int ImageIO::saveTIFF (Glib::ustring fname, int bps, bool uncompressed)
|
||||
// at a different offset:
|
||||
TIFFSetWriteOffset (out, exif_size + 8);
|
||||
TIFFSetField (out, TIFFTAG_EXIFIFD, 8);
|
||||
applyExifPatch = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1490,6 +1493,38 @@ int ImageIO::saveTIFF (Glib::ustring fname, int bps, bool uncompressed)
|
||||
writeOk = false;
|
||||
}
|
||||
|
||||
/************************************************************************************************************
|
||||
*
|
||||
* Hombre: This is a dirty hack to update the Exif tag data type to 0x0004 so that Windows can understand it.
|
||||
* libtiff will set this data type to 0x000d and doesn't provide any mechanism to update it before
|
||||
* dumping to the file.
|
||||
*
|
||||
*/
|
||||
if (applyExifPatch) {
|
||||
unsigned char b[10];
|
||||
uint16 tagCount = 0;
|
||||
lseek(fileno, 4, SEEK_SET);
|
||||
read(fileno, b, 4);
|
||||
uint32 ifd0Offset = rtexif::sget4(b, exifRoot->getOrder());
|
||||
lseek(fileno, ifd0Offset, SEEK_SET);
|
||||
read(fileno, b, 2);
|
||||
tagCount = rtexif::sget2(b, exifRoot->getOrder());
|
||||
for (size_t i = 0; i < tagCount ; ++i) {
|
||||
uint16 tagID = 0;
|
||||
read(fileno, b, 2);
|
||||
tagID = rtexif::sget2(b, exifRoot->getOrder());
|
||||
if (tagID == 0x8769) {
|
||||
rtexif::sset2(4, b, exifRoot->getOrder());
|
||||
write(fileno, b, 2);
|
||||
break;
|
||||
} else {
|
||||
read(fileno, b, 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
/************************************************************************************************************/
|
||||
|
||||
|
||||
TIFFClose (out);
|
||||
#ifdef WIN32
|
||||
fclose (file);
|
||||
|
||||
@@ -121,11 +121,14 @@ void ProfileStore::_parseProfiles ()
|
||||
Glib::ustring p2 = options.getGlobalProfilePath();
|
||||
bool displayLevel0 = options.useBundledProfiles && !p1.empty() && !p2.empty() && p1 != p2;
|
||||
|
||||
Glib::ustring virtualPath ("${U}");
|
||||
Glib::ustring currDir ("${U}");
|
||||
parseDir (p1, virtualPath, currDir, 0, 0, displayLevel0);
|
||||
|
||||
if (displayLevel0) {
|
||||
Glib::ustring virtualPath;
|
||||
Glib::ustring currDir;
|
||||
if (!p1.empty()) {
|
||||
virtualPath = "${U}";
|
||||
currDir = "${U}";
|
||||
parseDir (p1, virtualPath, currDir, 0, 0, displayLevel0);
|
||||
}
|
||||
if (p1.empty() || displayLevel0) {
|
||||
virtualPath = "${G}";
|
||||
currDir = "${G}";
|
||||
parseDir (p2, virtualPath, currDir, 0, 0, displayLevel0);
|
||||
|
||||
Reference in New Issue
Block a user