Permalink
Browse files

new cameras, RawSpeed uncropped size import

  • Loading branch information...
1 parent 3cbcb4c commit 6ecc82a63821ba9a6754f46a0c02efe73f5b3190 @alextutubalin alextutubalin committed Aug 7, 2013
Showing with 47 additions and 17 deletions.
  1. +9 −0 Changelog.txt
  2. +10 −0 dcraw/dcraw.c
  3. +12 −2 internal/dcraw_common.cpp
  4. +1 −1 internal/dcraw_fileio.cpp
  5. +15 −14 src/libraw_cxx.cpp
View
@@ -1,3 +1,12 @@
+2013-08-07 Alex Tutubalin <lexa@lexa.ru>
+ * New camera/format support:
+ Richon GR
+ Panasonic LF1
+ Canon EOS 70D
+ Sony RX100II, RX1R
+ Olympus E-P5
+ * Generalized size copy from RawSpeed data
+
2013-07-04 Alex Tutubalin <lexa@lexa.ru>
* New camera/format support:
OmniVision OV5647 (Raspberry Pi)
View
@@ -7535,6 +7535,8 @@ void CLASS adobe_coeff (const char *t_make, const char *t_model)
{ 4920,616,-593,-6493,13964,2784,-1774,3178,7005 } },
{ "Canon EOS 60D", 0, 0x2ff7,
{ 6719,-994,-925,-4408,12426,2211,-887,2129,6051 } },
+ { "Canon EOS 70D", 0, 0x3c80,
+ { 7034,-804,-1014,-4420,12564,2058,-851,1994,5758 } },
{ "Canon EOS 300D", 0, 0xfa0,
{ 8197,-2000,-1118,-6714,14335,2592,-2536,3178,8266 } },
{ "Canon EOS 350D", 0, 0xfff,
@@ -8011,6 +8013,8 @@ void CLASS adobe_coeff (const char *t_make, const char *t_model)
{ 8343,-2050,-1021,-7715,15705,2103,-1831,2380,8235 } },
{ "OLYMPUS E-P3", 0, 0,
{ 7575,-2159,-571,-3722,11341,2725,-1434,2819,6271 } },
+ { "OLYMPUS E-P5", 0, 0,
+ { 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 } },
{ "OLYMPUS E-PL1s", 0, 0,
{ 11409,-3872,-1393,-4572,12757,2003,-709,1810,7415 } },
{ "OLYMPUS E-PL1", 0, 0,
@@ -8117,6 +8121,8 @@ void CLASS adobe_coeff (const char *t_make, const char *t_model)
{ 11340,-4069,-1275,-7555,15266,2448,-2960,3426,7685 } },
{ "LEICA DIGILUX 2", 0, 0,
{ 11340,-4069,-1275,-7555,15266,2448,-2960,3426,7685 } },
+ { "Panasonic DMC-LF1", 143, 0,
+ { 9379,-3267,-816,-3227,11560,1881,-926,1928,5340 } },
{ "Panasonic DMC-LX1", 0, 0xf7f,
{ 10704,-4187,-1230,-8314,15952,2501,-920,945,8927 } },
{ "LEICA D-LUX2", 0, 0xf7f,
@@ -8223,8 +8229,12 @@ void CLASS adobe_coeff (const char *t_make, const char *t_model)
{ 8512,-2641,-694,-8042,15670,2526,-1821,2117,7414 } },
{ "SONY DSC-V3", 0, 0,
{ 7511,-2571,-692,-7894,15088,3060,-948,1111,8128 } },
+ { "SONY DSC-RX100M2", 200, 0,
+ { 8651,-2754,-1057,-3464,12207,1373,-568,1398,4434 } },
{ "SONY DSC-RX100", 200, 0,
{ 8651,-2754,-1057,-3464,12207,1373,-568,1398,4434 } },
+ { "SONY DSC-RX1R", 128, 0,
+ { 6344,-1612,-462,-4863,12477,2681,-865,1786,6899 } },
{ "SONY DSC-RX1", 128, 0,
{ 6344,-1612,-462,-4863,12477,2681,-865,1786,6899 } },
{ "SONY DSLR-A100", 0, 0xfeb,
@@ -6380,6 +6380,8 @@ void CLASS adobe_coeff (const char *t_make, const char *t_model)
{ 4920,616,-593,-6493,13964,2784,-1774,3178,7005 } },
{ "Canon EOS 60D", 0, 0x2ff7,
{ 6719,-994,-925,-4408,12426,2211,-887,2129,6051 } },
+ { "Canon EOS 70D", 0, 0x3c80,
+ { 7034,-804,-1014,-4420,12564,2058,-851,1994,5758 } },
{ "Canon EOS 300D", 0, 0xfa0,
{ 8197,-2000,-1118,-6714,14335,2592,-2536,3178,8266 } },
{ "Canon EOS 350D", 0, 0xfff,
@@ -6856,6 +6858,8 @@ void CLASS adobe_coeff (const char *t_make, const char *t_model)
{ 8343,-2050,-1021,-7715,15705,2103,-1831,2380,8235 } },
{ "OLYMPUS E-P3", 0, 0,
{ 7575,-2159,-571,-3722,11341,2725,-1434,2819,6271 } },
+ { "OLYMPUS E-P5", 0, 0,
+ { 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 } },
{ "OLYMPUS E-PL1s", 0, 0,
{ 11409,-3872,-1393,-4572,12757,2003,-709,1810,7415 } },
{ "OLYMPUS E-PL1", 0, 0,
@@ -6962,6 +6966,8 @@ void CLASS adobe_coeff (const char *t_make, const char *t_model)
{ 11340,-4069,-1275,-7555,15266,2448,-2960,3426,7685 } },
{ "LEICA DIGILUX 2", 0, 0,
{ 11340,-4069,-1275,-7555,15266,2448,-2960,3426,7685 } },
+ { "Panasonic DMC-LF1", 143, 0,
+ { 9379,-3267,-816,-3227,11560,1881,-926,1928,5340 } },
{ "Panasonic DMC-LX1", 0, 0xf7f,
{ 10704,-4187,-1230,-8314,15952,2501,-920,945,8927 } },
{ "LEICA D-LUX2", 0, 0xf7f,
@@ -7068,8 +7074,12 @@ void CLASS adobe_coeff (const char *t_make, const char *t_model)
{ 8512,-2641,-694,-8042,15670,2526,-1821,2117,7414 } },
{ "SONY DSC-V3", 0, 0,
{ 7511,-2571,-692,-7894,15088,3060,-948,1111,8128 } },
+ { "SONY DSC-RX100M2", 200, 0,
+ { 8651,-2754,-1057,-3464,12207,1373,-568,1398,4434 } },
{ "SONY DSC-RX100", 200, 0,
{ 8651,-2754,-1057,-3464,12207,1373,-568,1398,4434 } },
+ { "SONY DSC-RX1R", 128, 0,
+ { 6344,-1612,-462,-4863,12477,2681,-865,1786,6899 } },
{ "SONY DSC-RX1", 128, 0,
{ 6344,-1612,-462,-4863,12477,2681,-865,1786,6899 } },
{ "SONY DSLR-A100", 0, 0xfeb,
@@ -8971,7 +8981,7 @@ void CLASS identify2(unsigned fsize, unsigned flen, char *head)
}
-#line 10221 "dcraw/dcraw.c"
+#line 10231 "dcraw/dcraw.c"
void CLASS convert_to_rgb()
{
#ifndef LIBRAW_LIBRARY_BUILD
@@ -9202,7 +9212,7 @@ int CLASS flip_index (int row, int col)
if (flip & 1) col = iwidth - 1 - col;
return row * iwidth + col;
}
-#line 10477 "dcraw/dcraw.c"
+#line 10487 "dcraw/dcraw.c"
void CLASS tiff_set (ushort *ntag,
ushort tag, ushort type, int count, int val)
{
@@ -154,7 +154,7 @@ void CLASS subtract (const char *fname)
RUN_CALLBACK(LIBRAW_PROGRESS_DARK_FRAME,1,2);
#endif
}
-#line 10132 "dcraw/dcraw.c"
+#line 10142 "dcraw/dcraw.c"
#ifndef NO_LCMS
void CLASS apply_profile (const char *input, const char *output)
{
View
@@ -1088,31 +1088,27 @@ int LibRaw::unpack(void)
// Save pointer to decoder
_rawspeed_decoder = static_cast<void*>(d);
imgdata.rawdata.raw_image = (ushort*) r->getDataUncropped(0,0);
- S.raw_pitch = r->pitch;
- S.raw_width = r->dim.x;
- S.raw_height = r->dim.y;
- fix_after_rawspeed(r->blackLevel);
} else if(r->getCpp()==4) {
_rawspeed_decoder = static_cast<void*>(d);
imgdata.rawdata.color4_image = (ushort(*)[4]) r->getDataUncropped(0,0);
- S.raw_pitch = r->pitch;
- S.raw_width = r->dim.x;
- S.raw_height = r->dim.y;
- C.maximum = r->whitePoint;
- fix_after_rawspeed(r->blackLevel);
} else if(r->getCpp() == 3)
{
_rawspeed_decoder = static_cast<void*>(d);
imgdata.rawdata.color3_image = (ushort(*)[3]) r->getDataUncropped(0,0);
- S.raw_pitch = r->pitch;
- S.raw_width = r->dim.x;
- S.raw_height = r->dim.y;
- C.maximum = r->whitePoint;
- fix_after_rawspeed(r->blackLevel);
}
else
{
delete d;
+ d = NULL;
+ }
+ if(d) // not deleted
+ {
+ iPoint2D rsdim = r->getUncroppedDim();
+ S.raw_pitch = r->pitch;
+ S.raw_width = rsdim.x;
+ S.raw_height = rsdim.y;
+ C.maximum = r->whitePoint;
+ fix_after_rawspeed(r->blackLevel);
}
free(_rawspeed_buffer);
imgdata.process_warnings |= LIBRAW_WARN_RAWSPEED_PROCESSED;
@@ -2814,6 +2810,7 @@ static const char *static_camera_list[] =
"Canon EOS 40D",
"Canon EOS 50D",
"Canon EOS 60D",
+"Canon EOS 70D",
"Canon EOS 100D/ Digital Rebel SL1",
"Canon EOS 300D / Digital Rebel / Kiss Digital",
"Canon EOS 350D / Digital Rebel XT / Kiss Digital N",
@@ -3103,6 +3100,7 @@ static const char *static_camera_list[] =
"Olympus E-P1",
"Olympus E-P2",
"Olympus E-P3",
+"Olympus E-P5",
"Olympus E-PL1",
"Olympus E-PL1s",
"Olympus E-PL2",
@@ -3151,6 +3149,7 @@ static const char *static_camera_list[] =
"Panasonic DMC-L1",
"Panasonic DMC-L10",
"Panasonic DMC-LC1",
+"Panasonic DMC-LF1",
"Panasonic DMC-LX1",
"Panasonic DMC-LX2",
"Panasonic DMC-LX3",
@@ -3243,7 +3242,9 @@ static const char *static_camera_list[] =
"Sony DSC-F828",
"Sony DSC-R1",
"Sony DSC-RX1",
+"Sony DSC-RX1R",
"Sony DSC-RX100",
+"Sony DSC-RX100II",
"Sony DSC-V3",
"Sony DSLR-A100",
"Sony DSLR-A200",

0 comments on commit 6ecc82a

Please sign in to comment.