Alien-FreeImage

 view release on metacpan or  search on metacpan

src/Source/LibRawLite/src/libraw_cxx.cpp  view on Meta::CPAN

}

void LibRaw::hasselblad_full_load_raw()
{
  int row, col;

  for (row=0; row < S.height; row++)
    for (col=0; col < S.width; col++)
      {
        read_shorts (&imgdata.image[row*S.width+col][2], 1); // B
        read_shorts (&imgdata.image[row*S.width+col][1], 1); // G
        read_shorts (&imgdata.image[row*S.width+col][0], 1); // R
      }
}

struct foveon_data_t
{
    const char *make;
    const char *model;
    const int raw_width,raw_height;
    const int  white;
    const int  left_margin,top_margin;
    const int  width,height;
} foveon_data [] =
{
  {"Sigma","SD9",2304,1531,12000,20,8,2266,1510},
  {"Sigma","SD9",1152,763,12000,10,2,1132,755},
  {"Sigma","SD10",2304,1531,12000,20,8,2266,1510},
  {"Sigma","SD10",1152,763,12000,10,2,1132,755},
  {"Sigma","SD14",2688,1792,14000,18,12,2651,1767},
  {"Sigma","SD14",2688,896,14000,18,6,2651,883}, // 2/3
  {"Sigma","SD14",1344,896,14000,9,6,1326,883}, // 1/2
  {"Sigma","SD15",2688,1792,2900,18,12,2651,1767},
  {"Sigma","SD15",2688,896,2900,18,6,2651,883}, // 2/3 ?
  {"Sigma","SD15",1344,896,2900,9,6,1326,883}, // 1/2 ?
  {"Sigma","DP1",2688,1792,2100,18,12,2651,1767},
  {"Sigma","DP1",2688,896,2100,18,6,2651,883}, // 2/3 ?
  {"Sigma","DP1",1344,896,2100,9,6,1326,883}, // 1/2 ?
  {"Sigma","DP1S",2688,1792,2200,18,12,2651,1767},
  {"Sigma","DP1S",2688,896,2200,18,6,2651,883}, // 2/3
  {"Sigma","DP1S",1344,896,2200,9,6,1326,883}, // 1/2
  {"Sigma","DP1X",2688,1792,3560,18,12,2651,1767},
  {"Sigma","DP1X",2688,896,3560,18,6,2651,883}, // 2/3
  {"Sigma","DP1X",1344,896,3560,9,6,1326,883}, // 1/2
  {"Sigma","DP2",2688,1792,2326,13,16,2651,1767},
  {"Sigma","DP2",2688,896,2326,13,8,2651,883}, // 2/3 ??
  {"Sigma","DP2",1344,896,2326,7,8,1325,883}, // 1/2 ??
  {"Sigma","DP2S",2688,1792,2300,18,12,2651,1767},
  {"Sigma","DP2S",2688,896,2300,18,6,2651,883}, // 2/3
  {"Sigma","DP2S",1344,896,2300,9,6,1326,883}, // 1/2
  {"Sigma","DP2X",2688,1792,2300,18,12,2651,1767},
  {"Sigma","DP2X",2688,896,2300,18,6,2651,883}, // 2/3
  {"Sigma","DP2X",1344,896,2300,9,6,1325,883}, // 1/2
  {"Sigma","SD1",4928,3264,3900,12,52,4807,3205}, // Full size
  {"Sigma","SD1",4928,1632,3900,12,26,4807,1603}, // 2/3 size
  {"Sigma","SD1",2464,1632,3900,6,26,2403,1603}, // 1/2 size
  {"Sigma","SD1 Merrill",4928,3264,3900,12,52,4807,3205}, // Full size
  {"Sigma","SD1 Merrill",4928,1632,3900,12,26,4807,1603}, // 2/3 size
  {"Sigma","SD1 Merrill",2464,1632,3900,6,26,2403,1603}, // 1/2 size
  {"Sigma","DP1 Merrill",4928,3264,3900,12,0,4807,3205},
  {"Sigma","DP1 Merrill",2464,1632,3900,12,0,2403,1603}, // 1/2 size
  {"Sigma","DP1 Merrill",4928,1632,3900,12,0,4807,1603}, // 2/3 size
  {"Sigma","DP2 Merrill",4928,3264,3900,12,0,4807,3205},
  {"Sigma","DP2 Merrill",2464,1632,3900,12,0,2403,1603}, // 1/2 size
  {"Sigma","DP2 Merrill",4928,1632,3900,12,0,4807,1603}, // 2/3 size
  {"Sigma","DP3 Merrill",4928,3264,3900,12,0,4807,3205},
  {"Sigma","DP3 Merrill",2464,1632,3900,12,0,2403,1603}, // 1/2 size
  {"Sigma","DP3 Merrill",4928,1632,3900,12,0,4807,1603}, // 2/3 size
  {"Polaroid","x530",1440,1088,2700,10,13,1419,1059},
  // dp2 Q
  {"Sigma","dp2 Quattro",5888,3672,16383,204,24,5446,3624}, // full size
  {"Sigma","dp2 Quattro",2944,1836,16383,102,12,2723,1812}, // half size
  {"Sigma","dp1 Quattro",5888,3672,16383,204,24,5446,3624}, // full size
  {"Sigma","dp1 Quattro",2944,1836,16383,102,12,2723,1812}, // half size
};
const int foveon_count = sizeof(foveon_data)/sizeof(foveon_data[0]);


int LibRaw::open_datastream(LibRaw_abstract_datastream *stream)
{

  if(!stream)
    return ENOENT;
  if(!stream->valid())
    return LIBRAW_IO_ERROR;
  recycle();

  try {
    ID.input = stream;
    SET_PROC_FLAG(LIBRAW_PROGRESS_OPEN);

    identify();

	if (!imgdata.idata.dng_version && !strcmp(imgdata.idata.make, "Leaf") && !strcmp(imgdata.idata.model, "Credo 50"))
	{
		imgdata.color.pre_mul[0] = 1.f / 0.3984f;
		imgdata.color.pre_mul[2] = 1.f / 0.7666f;
		imgdata.color.pre_mul[1] = imgdata.color.pre_mul[3] = 1.0;
	}

	// S3Pro DNG patch
	if(imgdata.idata.dng_version && !strcmp(imgdata.idata.make,"Fujifilm") && !strcmp(imgdata.idata.model,"S3Pro") && imgdata.sizes.raw_width == 4288 )
	{
		imgdata.sizes.left_margin++;
		imgdata.sizes.width--;
	}
	if(imgdata.idata.dng_version && !strcmp(imgdata.idata.make,"Fujifilm") && !strcmp(imgdata.idata.model,"S5Pro") && imgdata.sizes.raw_width == 4288 )
	{
		imgdata.sizes.left_margin++;
		imgdata.sizes.width--;
	}
	if(!imgdata.idata.dng_version && !strcmp(imgdata.idata.make,"Fujifilm") && !strcmp(imgdata.idata.model,"S20Pro"))
	{
		if(imgdata.idata.raw_count>1)
			imgdata.idata.raw_count = 1;
	}
	if(load_raw == &LibRaw::packed_load_raw && !strcasecmp(imgdata.idata.make,"Nikon")
		 && !libraw_internal_data.unpacker_data.load_flags
		 && (!strcasecmp(imgdata.idata.model,"D810") || !strcasecmp(imgdata.idata.model,"D4S"))
		 && libraw_internal_data.unpacker_data.data_size*2 == imgdata.sizes.raw_height*imgdata.sizes.raw_width*3)
	{
		libraw_internal_data.unpacker_data.load_flags = 80;
	}
	// Adjust BL for Sony A900/A850
    if(load_raw == &LibRaw::packed_load_raw && !strcasecmp(imgdata.idata.make,"Sony")) // 12 bit sony, but metadata may be for 14-bit range
      {
        if(C.maximum>4095)

src/Source/LibRawLite/src/libraw_cxx.cpp  view on Meta::CPAN

"Pentax K200D",
"Pentax K2000/K-m",
"Pentax K-x",
"Pentax K-r",
"Pentax K-01",
"Pentax K-3",
"Pentax K-30",
"Pentax K-5",
"Pentax K-5 II",
"Pentax K-5 IIs",
"Pentax K-50",
"Pentax K-500",
"Pentax K-7",
"Pentax K-S1",
"Pentax MX-1",
"Pentax Q",
"Pentax Q7",
"Pentax Q10",
"Pentax QS-1",
"Pentax Optio S",
"Pentax Optio S4",
"Pentax Optio 33WR",
"Pentax Optio 750Z",
"Pentax 645D",
"Pentax 645Z",
"PhaseOne IQ140",
"PhaseOne IQ160",
"PhaseOne IQ180",
"PhaseOne IQ250",
"PhaseOne IQ260",
"PhaseOne IQ260 Achromatic",
"PhaseOne IQ280",
"PhaseOne LightPhase",
"PhaseOne Achromatic+",
"PhaseOne H 10",
"PhaseOne H 20",
"PhaseOne H 25",
"PhaseOne P 20",
"PhaseOne P 20+",
"PhaseOne P 21",
"PhaseOne P 25",
"PhaseOne P 25+",
"PhaseOne P 30",
"PhaseOne P 30+",
"PhaseOne P 40+",
"PhaseOne P 45",
"PhaseOne P 45+",
"PhaseOne P 65",
"PhaseOne P 65+",
"Pixelink A782",
"Polaroid x530",
"Ricoh GR",
"Ricoh GR Digital",
"Ricoh GR Digital II",
"Ricoh GR Digital III",
"Ricoh GR Digital IV",
"Ricoh GX100",
"Ricoh GX200",
"Ricoh GXR MOUNT A12",
"Ricoh GXR MOUNT A16 24-85mm F3.5-5.5",
"Ricoh GXR, S10 24-72mm F2.5-4.4 VC",
"Ricoh GXR, GR A12 50mm F2.5 MACRO",
"Ricoh GXR, GR LENS A12 28mm F2.5",
"Ricoh GXR, GXR P10",
#ifndef NO_JASPER
"Redcode R3D format",
#endif
"Rollei d530flex",
"RoverShot 3320af",
"Samsung EX1",
"Samsung EX2F",
"Samsung GX-1L",
"Samsung GX-1S",
"Samsung GX10",
"Samsung GX20",
"Samsung Galaxy NX (EK-GN120)",
"Samsung NX1",
"Samsung NX5",
"Samsung NX10",
"Samsung NX11",
"Samsung NX100",
"Samsung NX1000",
"Samsung NX1100",
"Samsung NX20",
"Samsung NX200",
"Samsung NX210",
"Samsung NX2000",
"Samsung NX30",
"Samsung NX300",
"Samsung NX300M",
"Samsung NX3000",
"Samsung NX mini",
"Samsung Pro815",
"Samsung WB550",
"Samsung WB2000",
"Samsung S85 (hacked)",
"Samsung S850 (hacked)",
"Samsung Galaxy S3",
"Samsung Galaxy Nexus",
"Sarnoff 4096x5440",
"Seitz 6x17",
"Seitz Roundshot D3",
"Seitz Roundshot D2X",
"Seitz Roundshot D2Xs",
"Sigma SD9",
"Sigma SD10",
"Sigma SD14",
"Sigma SD15",
"Sigma SD1",
"Sigma SD1 Merill",
"Sigma DP1",
"Sigma DP1 Merill",
"Sigma DP1S",
"Sigma DP1X",
"Sigma DP2",
"Sigma DP2 Merill",
"Sigma DP2S",
"Sigma DP2X",
"Sigma dp1 Quattro",
"Sigma dp2 Quattro",
"Sinar eMotion 22",



( run in 0.750 second using v1.01-cache-2.11-cpan-411bb0df24b )