Recent comments

Reply to: Panasonic Lumix DC GH6 raw RW2 support   2 years 1 month ago

I tried to inspect a bit more the situation:

rawtherapee which uses some custom dcraw success in extracting the compressed raw data,
but it fails in decoding the decompressed structure.
I modified it to dump the uncompressed raw (which display as garbage currently).

For a 25 mb pixels image, there is exactly 50 mbytes of decoded data being decoded.
which correspond to 2 bytes per pixel, which seems to be confirming the 16 bits per pixel.

I tried making a black frame and a white frame,
just to see if I could understand something, but the result are not that great:

The first bytes of the frames are looking like that:

white frame:

00000000: dfce f87f 7b8c ffdb d77c 9d99 7c14 29bd  ....{....|..|.).
00000010: 91a7 d027 0405 22d3 147d 3371 f16b 0b07  ...'.."..}3q.k..

black frame:

00000000: 1ba4 1b9c 1b80 1bb0 b707 f8d9 cdf8 12fa  ................
00000010: f71f 4e32 e6ad f321 9dff d53f 2731 ead1  ..N2...!...?'1..

So...
either they are crypted or salted,
either the colorspace is uncommon,
either I am missing something, which can be possible as I am far from an expert in this domain.

The data are there : (including the two RW2 files)

http://esby.free.fr/perso/GH6-RW2/

See
http://esby.free.fr/perso/GH6-RW2/P1000404-black.info
and
http://esby.free.fr/perso/GH6-RW2/P1000407-white.info

for the filesizes and basic descriptions

(the dng were producted by Adobe Dngconverter 14_3 under wine staging 7.2 )

Reply to: Panasonic Lumix DC GH6 raw RW2 support   2 years 1 month ago

In the meantime conversion with the most recent Adobe DNG Converter works.

Reply to: Panasonic Lumix DC GH6 raw RW2 support   2 years 1 month ago

Most likely not

Reply to: Panasonic Lumix DC GH6 raw RW2 support   2 years 1 month ago

Will GH6 raw format supported in the next release/snapshot?
Regards
Ugo

Reply to: Nikon Z9   2 years 1 month ago

Nikon Z9/standard compression support will be published in next snapshot or release (whatever comes first)

Reply to: Where is RAW Image data stored and datatype   2 years 1 month ago

Thanks. This gives me the confidence that I am looking at the correct data structure.

I have looked at unprocessed_raw.cpp, but it is slow going for me, not being a C or C++ developer, but I will keep at it.

I now have the confidence that I should be able to solve my issue in VB.NET.

Will keep you posted.

SteveR

Reply to: Where is RAW Image data stored and datatype   2 years 1 month ago

Dear SteveR:

Quoting from datastructures API (https://www.libraw.org/docs/API-datastruct-eng.html#libraw_rawdata_t already quoted above):

unsigned short *raw_image;
Pointer to buffer with one-component (bayer) data.

Have you looked at the source code of the unprocessed_raw.cpp (also quoted above)?

Reply to: Where is RAW Image data stored and datatype   2 years 1 month ago

Thanks. However, I don't believe I can create an instance in VB.NET of imgdata to be able to access the raw_image array

I can access the various data structures in VB.NET, as listed previously.

Does one of the data structures contain the RAW values from the sensor pixels?

Reply to: Where is RAW Image data stored and datatype   2 years 1 month ago

libraw_rawdata_t is described in documentation: https://www.libraw.org/docs/API-datastruct-eng.html#libraw_rawdata_t

samples/unprocessed_raw.cpp code sample shows how to use imgdata.rawdata.raw_image array (other cases: 3/4 color images, float images are not covered by this sample)

Sorry, know nothing about VB.NET, so I don't know what your problems might be

Reply to: Panasonic Lumix DC GH6 raw RW2 support   2 years 1 month ago

Yes, this is completely new encoding format, nothing common with previous panasonic formats.

Reply to: New camera support   2 years 1 month ago

The profile created is very close to sRGB profile (default tone curve is slightly different).

So, if the problem still exists: please make sure
a) you use real updated LibRaw, not outdated .dll or .so/.dylib somewhere in the shared library path
b) you have recompiled your application too: offsets in LibRaw object may change resulting in unexpected things

Reply to: New camera support   2 years 1 month ago

The approach via dcraw_emu works.

But is there any way to use:
libraw_processed_image_t *image = RawProcessor->dcraw_make_mem_image(&ret);
and to get the color profile which is embedded by dcraw_emu into the TIFF?

Thorsten

Reply to: New camera support   2 years 2 months ago

Here is your file processed with dcraw_emu -w -T: https://www.dropbox.com/s/z14eycj4932v47s/original.orf.tiff?dl=0
I do not see anything that bad here.

dcraw_emu was just built from LibRaw github/master

Please try to repeat the problem with LibRaw's dcraw_emu (-w -T), if it is not reproduce: the problem is in your code.

Reply to: New camera support   2 years 2 months ago

I tried the latest patch.
It imports the ORF file. But the colors are really terrible with the default settings. Do you suggest any special settings?
Original file: https://www.lemkesoft.org/temp/original.orf
Imported file: https://www.lemkesoft.org/temp/import_25percent.png

Thorsten

Reply to: DNG recorder   2 years 2 months ago

Just use Adobe DNG SDK:
- it is free
- it is BSD licensed
- it is capable to record industry-standard RAW files compatible with ANY raw-processing software.

(the only problem is lack of useable documentation but it is easy to grab a working sample code from github :)

Reply to: DNG recorder   2 years 2 months ago

Actually, I am in position similar to the OP's, so I would like to expand a bit on the subject:
- many industrial cameras can be interfaced using the Gige Vision protocol.
- this protocol is very low-level, and each frame is received with minimal meta-data.
- so storing the pixel values is mostly the programmer's responsibility.
- so every person facing such a camera ends up defining his/her RAW format.
- still, it would be good if the images produced could be read by LibRaw, and all the programs built around it.
- and it would hardly make any sense to add to LibRaw a routine for each file type produced by each version of each software written by each new person.

So the bottom line is:
- given LibRaw's developers experience with RAW file formats, could they point out an existing one that is already handled by LibRaw with which newcomers could comply with minimal hassle? (as the OP pointed out, DNG seems to have been designed just for that, but I have no idea how hard writing DNG files is).

Reply to: LibRaw 0.20 supported cameras   2 years 2 months ago

ILCE-7M4 support will be published in the next public snapshot (or beta/release, if it comes first)

Reply to: LibRaw 0.20 supported cameras   2 years 2 months ago

request a7iv (ILCE-7M4) raw support

Environment

  • MacOS
  • LibRaw-0.20.2

I tried my EOS 80D's cr2 file and SONY a330's ARW file, both of them are working okay. But the ARW shoot by a7m4 does not work.

Reply to: image scaled to 65535 even with no_auto_bright   2 years 2 months ago

baseline exposure tag for DNG is parsed into imgdata.color.dng_levels.baseline_exposure (and also into tiff_ifds[ifd].dng_levels.....)

Reply to: image scaled to 65535 even with no_auto_bright   2 years 2 months ago

Sorry if I wasn't clear on this - by correct scale I mean every image is scaled by the same factor so that 1 pixel intensity measures the same amount of physical light energy for all images.

After doing some research I found each file has a different value for "baseline exposure", and to convert them back to the same scale one needs to apply following correction:

intensity = raw_intensity * (2^ baseline_exposure)

After this conversion intensities are now consistent across images.

I still have a few questions though:

- Does libraw expose "baseline_exposure" through API?
- I think above correction should be applied to post processed image, is that correct?

Cheers

Reply to: image scaled to 65535 even with no_auto_bright   2 years 2 months ago

I did not quite understand what is meant by the 'correct scale' in this context.

DNG tag 0xc61d values are extracted into
1) imgdata.color.maximum (for channel 0)
2) imgdata.color.dng_levels.dng_whitelevel[channel] (for selected DNG ifd)
3) tiff_ifd[ifd].dng_levels.dng_whitelevel[channel] (all IFDs)

Reply to: image scaled to 65535 even with no_auto_bright   2 years 2 months ago

Hi Alex,

Thank you so much for the quick reply. When I opened both files in photoshop and the preview app they were shown in the correct scale. Is there any way I can fetch that information from the DNG with libraw?

Cheers
Zac

Reply to: image scaled to 65535 even with no_auto_bright   2 years 2 months ago

Your DNG files have data range of 65535:

Tag 0xc61d:
| | 15) WhiteLevel = 65535 65535 65535

So, 65535 is an expected data range even without scaling.

Reply to: Problems building libraw.dll   2 years 2 months ago

There is no need to modify Makefile.msvc for 64-bit.

Just run nmake in corresponding (32 or 64 bit) Developer Shell (or use vcvarsNN.bat to set up environment variables)

We also provide LibRaw.sln (one may need to change tools version to Visual Studio used)

Pages