Recent comments

Reply to: LibRaw 0.21 supported cameras   11 months 5 days ago

Dear all, what about OM Digital Solutions OM-5 (not Olympus EM5) thank you

Reply to: How can I generate synthetic raw file?   11 months 1 week ago

I would be very interested in learning more. Could you please reach me at rijamo at gmail dot com

Reply to: Fujifilm X-T5 RAW Support   11 months 2 weeks ago

According to our release schedule/policy: https://www.libraw.org/#updatepolicy

If you need to get such support ASAP:
- if you're a software vendor, consider our extended support/advanced option: https://www.libraw.org/extended-support
- If you are just a user of some program using LibRaw: tell your vendor about early camera support access option.

Reply to: Support for Nikon Z8   11 months 2 weeks ago

New camera support will be provided according to our update policy: https://www.libraw.org/#updatepolicy

Consider signing up for extended support if you need support for new cameras faster: https://www.libraw.org/extended-support

Specific file you provided is recorded in HE/HE* Nikon pseudo-RAW format; this format is not supported yet, while other Z8 recording formats are supported.

Reply to: How can I generate synthetic raw file?   12 months 3 days ago

> Does anyone know a create such artificial raw image?

Yes, I do.

Reply to: ImageMagick signatures are different when using 0.20.2 vs 0.21.1   1 year 1 week ago

I stripped down the unprocessed_raw sample and achieved what I want (I think) by piping the output through a hash utility like sha256sum or xxh128sum.

Posting here in case it helps someone later:

#include <stdio.h>
#include "libraw/libraw.h"
int main(int ac, char *av[])
{
	LibRaw RawProcessor;
	int ret;  
	if ((ret = RawProcessor.open_file(av[1])) != LIBRAW_SUCCESS)  
	{
		fprintf(stderr, "Cannot open %s: %s\n", av[1], libraw_strerror(ret));  
		return 1;  
	}
	if ((ret = RawProcessor.unpack()) != LIBRAW_SUCCESS)  
	{
		fprintf(stderr, "Cannot unpack %s: %s\n", av[1], libraw_strerror(ret));  
		return 1;  
	}
	size_t bytes = RawProcessor.imgdata.sizes.raw_height * RawProcessor.imgdata.sizes.raw_pitch;  
	fwrite(RawProcessor.imgdata.rawdata.raw_alloc, sizeof(uint8_t), bytes, stdout);  
	fflush(stdout);
}

Compile with g++ rawbytes.cpp -o rawbytes -Ofast -lraw -lm.

Reply to: Not able to use Libraw 0.21.1 for intel mac   1 year 1 week ago

Yes, doing that solved it!! thank you so much

Reply to: Not able to use Libraw 0.21.1 for intel mac   1 year 1 week ago

You need to add libz (-lz) to your linker input

Reply to: Not able to use Libraw 0.21.1 for intel mac   1 year 1 week ago

So I tried building my program again using the libraw 0.21.1 binaries provided for macos..

I used the command

g++ --std=c++17 -I/Users/aayush/Downloads/LibRaw-0.21.1/libraw -L/Users/aayush/Downloads/LibRaw-0.21.1/lib base64.cpp Server-mac.cpp -o Ninja -lm /Users/aayush/Downloads/LibRaw-0.21.1/lib/libraw.a

and I seem to get the following error

Undefined symbols for architecture x86_64:
"_uncompress", referenced from:
LibRaw::deflate_dng_load_raw() in libraw.a(fp_dng.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1

I also tried using -lraw instead of adding the full path name to libraw.a still got the same error

Reply to: ImageMagick signatures are different when using 0.20.2 vs 0.21.1   1 year 2 weeks ago

Thank you. This is helpful.

Reply to: ImageMagick signatures are different when using 0.20.2 vs 0.21.1   1 year 2 weeks ago

It is difficult to recommend any specific document/site. May be 'dcraw annotated' will help: https://ninedegreesbelow.com/files/dcraw-c-code-annotated-code.html

(at least, LibRaw postprocessing is derived from dcraw.c code, so this specific document is applicable to LibRaw::dcraw_process() code)

Reply to: ImageMagick signatures are different when using 0.20.2 vs 0.21.1   1 year 2 weeks ago

Thank you very much. This is all new to me but I'm eager to get into it.

One last question - I'm completely new to working with RAW processing, but I've been a coder for 25 years. Can you recommend any conceptual documentation or reference material that will help me understand RAW processing better? There are lots of search results, but if you have a recommended resource I would love to know about it. (Apologies if it's on page 1 of your documentation and I just missed it.)

Thanks again!

Reply to: ImageMagick signatures are different when using 0.20.2 vs 0.21.1   1 year 2 weeks ago

Yes, one of *image pointer in libraw_rawdata_t will be non-zero after LibRaw::unpack() and will contain imgdata.sizes.raw_height rows, imgdata.sizes.raw_width items each, with imgdata.sizes.raw_pitch byte pitch.

Reply to: Not able to use Libraw 0.21.1 for intel mac   1 year 2 weeks ago

it looks like 'your file from another computer' is dynamically linked with libraw.23.dylib

We do not provide dynamic LibRaw for macOS, make -f Makefile.dist will also create static library only.

Please contact the 'file from another computer' vendor for libraw.23.dylib library

Reply to: ImageMagick signatures are different when using 0.20.2 vs 0.21.1   1 year 2 weeks ago

Ahh thanks, I think you just helped me understand something.

I haven't checked, but I'm almost certain you're right about it using the rendered image. My understanding is that ImageMagick delegates all the decoding to libraw, libjpeg, libtiff, libpng, etc., and in my case it doesn't necessarily know it's dealing with a RAW image by the time it creates the signature.

So let's say I wanted to write my own signature program using LibRaw that only operates on the image data, leaving the metadata completely out of it. After a quick look at the API, my best guess is that I'd want to hash the contents of libraw_rawdata_t. Does that sound right?

Reply to: ImageMagick signatures are different when using 0.20.2 vs 0.21.1   1 year 2 weeks ago

Sorry, we do not know how identify -verbose tool works. Is that possible that it checksums not RAW data but rendered image?

Reply to: Panasonic Lumix DC GH6 raw RW2 support   1 year 2 weeks ago

We'll release LibRaw with GH6 support on schedule: https://www.libraw.org/#updatepolicy

Reply to: Panasonic Lumix DC GH6 raw RW2 support   1 year 2 weeks ago

If you download a trial of RawDigger at https://www.rawdigger.com/download you can open a GH6 raw file now. RawDigger is a for-purchase product of LibRaw, correct (it says LibRaw LLC in the footer of the site page).

Any chance someone from LibRaw can answer the question, "if RawDigger now supports GH6, does that mean that a current or soon to be released update to LibRaw will have support for the GH6 .RW2 format?"

Reply to: Fuji X-Trans files opening slow   1 year 2 weeks ago

> Processing X-Trans files takes much longer than processing Bayer files.

This is expected. If lower quality is acceptable for your task you may switch from (default) 3-pass Markesteijn to 1-pass or to linear approximation.

Reply to: Fuji X-Trans files opening slow   1 year 2 weeks ago

Hi,
I'm having the same issues with libraw. Processing X-Trans files takes much longer than processing Bayer files.
I'm using the C-API version "0.19.5-Release".
I used the default params (I don't now which interpolation algorithm it is using). I tried digging into the source code to see whats going on, but couldn't figure out what exactly takes that much time in the libraw_dcraw_process call.
Here a few logs:

Opening file: "test.RAF"
libraw_open_file: 2.4638ms
libraw_unpack: 331.530498ms
libraw_dcraw_process: 18.465117336s
libraw_dcraw_make_mem_image: 258.297201ms
tiff.write_image: 64.792601ms (not libraw-function)

Opening file: "test.CR2"
libraw_open_file: 3.3209ms
libraw_unpack: 657.3599ms
libraw_dcraw_process: 720.410201ms
libraw_dcraw_make_mem_image: 63.3256ms
tiff.write_image: 50.7873ms (not libraw-function)

Has anyone looked into this problem already?

Thanks in advance

Reply to: Libraw Android Port on GitHub   1 year 2 weeks ago

How can I install this library on Android Studio? What documents or folders should I copy or import?

Reply to: lossy compression decoding   1 year 2 weeks ago

Thank you. I understand.

Reply to: lossy compression decoding   1 year 2 weeks ago

Yes, pixel values are above 16383 and this is normal for this type of files.

Reply to: lossy compression decoding   1 year 2 weeks ago

The original data already exceeds 16383,
Data:
======x:3078,y:1969,pSrcPix:16404,pDstPix:80
======x:3080,y:1969,pSrcPix:16404,pDstPix:80
======x:3082,y:1969,pSrcPix:16404,pDstPix:80
======x:3084,y:1969,pSrcPix:16404,pDstPix:80
======x:3086,y:1969,pSrcPix:16404,pDstPix:80
======x:3088,y:1969,pSrcPix:16404,pDstPix:80
======x:3073,y:1970,pSrcPix:16404,pDstPix:80
======x:3075,y:1970,pSrcPix:16404,pDstPix:80
======x:3077,y:1970,pSrcPix:16404,pDstPix:80
======x:3079,y:1970,pSrcPix:16404,pDstPix:80
======x:3081,y:1970,pSrcPix:16404,pDstPix:80
======x:3083,y:1970,pSrcPix:16404,pDstPix:80
======x:3085,y:1970,pSrcPix:16404,pDstPix:80
======x:2962,y:1971,pSrcPix:16404,pDstPix:80
======x:2964,y:1971,pSrcPix:16404,pDstPix:80
======x:2966,y:1971,pSrcPix:16404,pDstPix:80
======x:2968,y:1971,pSrcPix:16404,pDstPix:80
======x:2970,y:1971,pSrcPix:16404,pDstPix:80
======x:2972,y:1971,pSrcPix:16404,pDstPix:80
======x:2965,y:1972,pSrcPix:16404,pDstPix:80

Pages