diff --git a/rtdata/dcpprofiles/CANON EOS R5.dcp b/rtdata/dcpprofiles/CANON EOS R5.dcp new file mode 100644 index 000000000..88f94620d Binary files /dev/null and b/rtdata/dcpprofiles/CANON EOS R5.dcp differ diff --git a/rtdata/dcpprofiles/CANON EOS R6.dcp b/rtdata/dcpprofiles/CANON EOS R6.dcp new file mode 100644 index 000000000..7aaa04ab2 Binary files /dev/null and b/rtdata/dcpprofiles/CANON EOS R6.dcp differ diff --git a/rtengine/camconst.json b/rtengine/camconst.json index 578ff1811..eca17a238 100644 --- a/rtengine/camconst.json +++ b/rtengine/camconst.json @@ -1149,6 +1149,22 @@ Camera constants: "raw_crop": [ 144, 46, 6744, 4500 ] }, + { // Quality C + "make_model": "Canon EOS R5", + "dcraw_matrix" : [9766, -2953, -1254, -4276, 12116, 2433, -437, 1336, 5131], + "raw_crop" : [ 124, 92, 8220, 5486 ], + "masked_areas" : [ 94, 20, 5578, 122 ], + "ranges" : { "white" : 16382 } + }, + + { // Quality C + "make_model": "Canon EOS R6", + "dcraw_matrix" : [8293, -1611, -1132, -4759, 12710, 2275, -1013, 2415, 5508], + "raw_crop": [ 72, 38, 5496, 3670 ], + "masked_areas" : [ 40, 10, 5534, 70 ], + "ranges" : { "white" : 16382 } + }, + // Canon Powershot { // Quality C, CHDK DNGs, raw frame correction "make_model": "Canon PowerShot A3100 IS", @@ -1729,6 +1745,11 @@ Camera constants: "pdaf_offset" : 32 }, + { // Quality C, only dcraw looted from ART commit ad88c7d97 + "make_model" : "NIKON Z 5", + "dcraw_matrix" : [8695, -2558, -648, -5015, 12711, 2575, -1279, 2215, 7514] + }, + { // Quality A, white levels and PDAF lines measured by Yann Leprince #5851 "make_model" : "Nikon Z 50", "dcraw_matrix" : [11640, -4829, -1079, -5107, 13006, 2325, -972, 1711, 7380], // Adobe DNG Converter 12.2.1 ColorMatrix2 (D65) diff --git a/rtengine/canon_cr3_decoder.cc b/rtengine/canon_cr3_decoder.cc index 51beb66f3..e3097ad2e 100644 --- a/rtengine/canon_cr3_decoder.cc +++ b/rtengine/canon_cr3_decoder.cc @@ -3132,7 +3132,8 @@ void DCraw::crxLoadRaw() hdr.tileHeight >>= 1; } -// /*imgdata.color.*/maximum = (1 << hdr.nBits) - 1; + // /*imgdata.color.*/maximum = (1 << hdr.nBits) - 1; + tiff_bps = hdr.nBits; std::uint8_t* const hdrBuf = static_cast(malloc(hdr.mdatHdrSize));