|
|
|
@ -1517,12 +1517,12 @@ void CLASS phase_one_correct()
|
|
|
|
|
void CLASS phase_one_load_raw()
|
|
|
|
|
{
|
|
|
|
|
int row, col, a, b;
|
|
|
|
|
ushort *pixel, akey, bkey, tqmask;
|
|
|
|
|
ushort *pixel, akey, bkey, mask;
|
|
|
|
|
|
|
|
|
|
fseek (ifp, ph1.key_off, SEEK_SET);
|
|
|
|
|
akey = get2();
|
|
|
|
|
bkey = get2();
|
|
|
|
|
tqmask = ph1.format == 1 ? 0x5555:0x1354;
|
|
|
|
|
mask = ph1.format == 1 ? 0x5555:0x1354;
|
|
|
|
|
#ifndef LIBRAW_LIBRARY_BUILD
|
|
|
|
|
fseek (ifp, data_offset + top_margin*raw_width*2, SEEK_SET);
|
|
|
|
|
pixel = (ushort *) calloc (raw_width, sizeof *pixel);
|
|
|
|
@ -1532,8 +1532,8 @@ void CLASS phase_one_load_raw()
|
|
|
|
|
for (col=0; col < raw_width; col+=2) {
|
|
|
|
|
a = pixel[col+0] ^ akey;
|
|
|
|
|
b = pixel[col+1] ^ bkey;
|
|
|
|
|
pixel[col+0] = (a & tqmask) | (b & ~tqmask);
|
|
|
|
|
pixel[col+1] = (b & tqmask) | (a & ~tqmask);
|
|
|
|
|
pixel[col+0] = (a & mask) | (b & ~mask);
|
|
|
|
|
pixel[col+1] = (b & mask) | (a & ~mask);
|
|
|
|
|
}
|
|
|
|
|
for (col=0; col < width; col++)
|
|
|
|
|
BAYER(row,col) = pixel[col+left_margin];
|
|
|
|
@ -1548,8 +1548,8 @@ void CLASS phase_one_load_raw()
|
|
|
|
|
for (col=0; col < raw_width; col+=2) {
|
|
|
|
|
a = pixel[col+0] ^ akey;
|
|
|
|
|
b = pixel[col+1] ^ bkey;
|
|
|
|
|
pixel[col+0] = (a & tqmask) | (b & ~tqmask);
|
|
|
|
|
pixel[col+1] = (b & tqmask) | (a & ~tqmask);
|
|
|
|
|
pixel[col+0] = (a & mask) | (b & ~mask);
|
|
|
|
|
pixel[col+1] = (b & mask) | (a & ~mask);
|
|
|
|
|
}
|
|
|
|
|
for (col=0; col < raw_width; col++)
|
|
|
|
|
{
|
|
|
|
|