Obviously my cleaning wasn't good, i ran the unprocessed_raw with a raw image file of 11.2MB and the result was a .tiff file with 18.4MB, so i have check my code. Here is the small routine (without validations) that i did:
---
int main(int i, char *rawimg[])
{
// Initialization
LibRaw RawProcessor;
RawProcessor.imgdata.params.document_mode = 2;
RawProcessor.imgdata.params.output_bps = 16;
RawProcessor.imgdata.params.output_tiff = 1;
RawProcessor.imgdata.params.user_flip = 0;
RawProcessor.imgdata.params.no_auto_bright = 1;
RawProcessor.imgdata.params.filtering_mode = (LibRaw_filtering)(LIBRAW_FILTERING_DEFAULT);
// Opening file and unpack
int tmpimg;
i = 1;
tmpimg = RawProcessor.open_file(rawimg[i]);
tmpimg = RawProcessor.unpack();
// extracting raw image data
int row, col;
char rawfn[1024];
for(row=0;row<RawProcessor.imgdata.sizes.iheight;row++)
for(col=0;col<RawProcessor.imgdata.sizes.iwidth;col++)
RawProcessor.imgdata.image[row*RawProcessor.imgdata.sizes.iwidth+col][0]=
RawProcessor.imgdata.image[row*RawProcessor.imgdata.sizes.iwidth+col]
[RawProcessor.COLOR(row,col)];
// formating and saving image data
snprintf(rawfn,sizeof(rawfn),"%s.tiff",rawimg[i]);
tmpimg = RawProcessor.dcraw_ppm_tiff_writer(rawfn);
// cleaning image processor
RawProcessor.recycle();
return 0;
}
---
If the unprocessed_raw extract only the raw data, without process anything, why the resultant file is bigger that the original?.
According with your suggestion, how can i do the step two (position to libraw_internal_data.unpacker_data.data_offset), and the step three (Read libraw_internal_data.unpacker_data.data_size bytes)?
For the step three, i assume can be done using a "for" structure, but if you can show a basic example code for your suggestion it will be really helpful for me, because i'm not an expert.
Thanks for your answer.
Obviously my cleaning wasn't good, i ran the unprocessed_raw with a raw image file of 11.2MB and the result was a .tiff file with 18.4MB, so i have check my code. Here is the small routine (without validations) that i did:
---
---
If the unprocessed_raw extract only the raw data, without process anything, why the resultant file is bigger that the original?.
According with your suggestion, how can i do the step two (position to libraw_internal_data.unpacker_data.data_offset), and the step three (Read libraw_internal_data.unpacker_data.data_size bytes)?
For the step three, i assume can be done using a "for" structure, but if you can show a basic example code for your suggestion it will be really helpful for me, because i'm not an expert.
Thank you for your time and help.