Recent comments

Reply to: Version 0.18.6 crashes constantly on Mac   6 years 7 months ago
Hi,

Hi,

do you mind to share the Mac and Win jni libraries to this community? :-D

Thanks

Reply to: 0.19.0-Beta2: replace use of auto_ptr with unique_ptr   6 years 8 months ago

Thank you for the patch.

Too late for 0.19 (do not want to change ABI), but to be included in master branch (and, so, in next stable release)

Reply to: Crashes in 0.18.8 potentially due to Chinese metadata?   6 years 8 months ago

Unfortunately, we do not have any experience on ARM, all mobile apps uses LibRaw on own risk, we're unable to provide any support for this (no development toolchain, no emulators, nothing).

If you're able to get real file samples that produces repeatable problem (and the problem is reproducible on PC/Mac), please share samples with us (info@libraw.org). Without samples it is very hard to say anything.

We have some (limited) sales of our FastRawViewer (uses LibRaw, of course) to Chinese users and there is no chinese-specific bug reports.

Reply to: Fuji X-T2 raw decode speed difference between half and full   6 years 8 months ago

Thanks -- very helpful!

Reply to: 0.19.0-Beta1: small fix in thumbnail generation code   6 years 8 months ago

I agree this is a much better fix and will apply it to my copy. Thanks!

Reply to: 0.19.0-Beta1: small fix in thumbnail generation code   6 years 8 months ago

And, yes, this points to two-part structure: pointers table + additional jump buffer.

I do not see anything bad here.

Reply to: 0.19.0-Beta1: small fix in thumbnail generation code   6 years 8 months ago

Agree, it may fail in bad loop here. To be fixed in beta2

return definitely needed here, also error should be indicated by
T.tformat = LIBRAW_THUMBNAIL_UNKNOWN;

Reply to: 0.19.0-Beta1: small fix in thumbnail generation code   6 years 8 months ago

With respect to cinfo.err, the current code does work.

However, if you look at the definition of cinfo.err in libjpeg, it is assumed to be a pointer to a structure that contains function pointers for the error handler, exit handler, etc. The cerr pointer you pass in has that structure as its first part, but then also has a jmp_buf structure following this structure as the second part.

Somehow to my mind it is cleaner to have cinfo.err point to a "pure" function pointers block, and use cinfo.client_data to point to the jmp_buf structure. But to each his own.

Reply to: 0.19.0-Beta1: small fix in thumbnail generation code   6 years 8 months ago

You still need the return statement, otherwise if jpeg_create_decompress fails, won't it fail again after the longjmp?

Reply to: 0.19.0-Beta1: small fix in thumbnail generation code   6 years 8 months ago

And 1st patch:

cinfo.err is pointer, it does not need to have 'space' for longjump, it just points to already allocated structure.

Reply to: Fuji X-T2 raw decode speed difference between half and full   6 years 8 months ago

Standard (no -q N) X-Trans interpolation is 3-pass Markesteijn method. Yes, it is slow (esp. compared with half demosaic)

Reply to: 0.19.0-Beta1: small fix in thumbnail generation code   6 years 8 months ago

JPEG thumbnails are provided as-is, libjpeg is used only to get channels count.
So, even if libjpeg fails, this does not mean bad thumbnail, calling app should test it (again)

Reply to: EXIF meta-data during RAW parsing   6 years 8 months ago

Followup:
Input data 'pointer' (in LibRaw_datastream* data pointer passed to callback) is positioned to start of data, pointer is restored after callback called, so you just may use data->read(....) to read tag-pointed data.

Reply to: EXIF meta-data during RAW parsing   6 years 8 months ago

You can install your own EXIF-callback and get all EXIF/TIFF tags into your app.
This callback is called:
- EXIF: tag parameter is EXIF tag ID
- Kodak Metadata: tag | 0x20000
- Panasonic metadata: tag | 0x30000
- Tiff/DNG IFDs: tag | ((ifd + 1) << 20)

(tag upper bits are for LibRaw 0.19, in 0.18 ifd# was not passed)

This callback is not called on makernotes value parsing, but will receive complete makernotes record as tag# 0x927c

Reply to: White Balance in Digital Cameras: Problems   6 years 8 months ago

i'd like to see that article too!

Reply to: Getting crazy cam_mul values   6 years 8 months ago

Bad cam_mul values issue finally fixed in 0.19-stable branch (preparing 0.19-beta2): https://github.com/LibRaw/LibRaw/commit/d4420a4dac0d1f232629f7f163fb59d7...

Reply to: Fujifilm Pattern with rawpy   6 years 8 months ago

Finally: it is fixed in LibRaw 0.19 (now in beta): COLOR() will check xtrans mask for xtrans files.

Reply to: Build histogram data   6 years 8 months ago

raw data are stored into imgdata.rawdata.raw_image[] array, available for both read and write.

This 'API' allows easy sampling with any stride, if you need sampled data.

Reply to: Build histogram data   6 years 8 months ago

Thanks for the answer, is there any api to get a sub-sampled version of the image data buffer because I guess it should be enough to calculate an histogram.

Reply to: Build histogram data   6 years 8 months ago

Histogram is built during postprocessing stage if auto-exposure is used.

Raw data are accessible after LibRaw::unpack() call, so histogram calculation is trivial single loop over all pixels.

Reply to: How to compile LibRaw with RawSpeed?   6 years 9 months ago

RawSpeed team is focused mostly on code rewrite and cleanup and on correct handling of corner cases (e.g. fuzzer testing, etc). This is very important work, but in reality users of RAW processing software usually feeds it by files created by cameras, but not random crap generated by fuzzer.

On the other side, the real issue with real files created by real camera is not fixed for 10 months: https://github.com/darktable-org/rawspeed/issues/100 (is this library really *maintained* ?)

So, I'm somewhat skeptical about current RawSpeed state. It has very strong features (e.g. LJPEG decoder is really ~30% faster on Canon 5Ds files, this is vital for apps build for speed /like our FastRawViewer/), but focusing on 'pure software development process' (code cleanup, modern C++ rewrite, fuzzer testing) instead of handling real issues is, at least, questionable from my point of view.

Most likely, we'll support 'RawSpeed devel' (do not know exact version is it v3 or v4 now) in LibRaw after 0.19 release (so, this year).

Very probable, that support will use some 'whitelisting', so only known/tested camera files to be passed to RawSpeed decoder (and, sure, this list will be empty by default).

P.S. RawSpeed has imported our (LibRaw) compressed fuji decoder and provided feedback was very useful, we fixed two (or so) corner cases based on it.

Reply to: How to compile LibRaw with RawSpeed?   6 years 9 months ago

RawSpeed is maintained here now: https://github.com/darktable-org/rawspeed There have been new versions and changes to the code. Is this something LibRaw supports currently? If not, does it make sense to add support?

Reply to: D65 or D50 sRGB   6 years 9 months ago

Yes, camera profiles are already camera-RGB-to-sRGB, so matrix mentioned does not matter in color space conversion. It is used only in output profile calculations (this profile is embedded into TIFF files recorded by dcraw_ppm_tiff_writer())

To match camera JPEG colors you need to use same (in-camera) color profile and tonal (contrast) curve.

Reply to: half size option for dcraw_emu   6 years 9 months ago

No. Only full-size and half-size (for bayer). Or cropped.

Pages