Recent comments

Reply to: Copyright metadata   1 year 9 months ago

I wrote the code to install the callback and the callback gets called when a RAW file is read. Now, from the callback, when the wanted tag is seen, how to I call the datastream read method to read the tag value. The call back receive a pointer to LibRaw_abstract_datastream input stream. The question is how the datastream read method is called from the callback code which is [equivalent to] C code and as such has to use LibRaw C-API. I don't see anything in LibRaw C-API to use a datastream.

Reply to: Copyright metadata   1 year 9 months ago

Probably one will need to write some code (to install callback(s) and callback code itself)

Reply to: Copyright metadata   1 year 9 months ago

That is not a question related to Delphi but related to LibRaw C-API.
The question is: Using LibRaw C-API, how to call the datastream reader to read an EXIF tag value from the exif parser callback.

Reply to: Copyright metadata   1 year 9 months ago

Sorry, know nothing about Delphi

Reply to: Copyright metadata   1 year 9 months ago

I have setup an exif parser callback. I correctly receive the copyright tag. I assume I have to read his value using passed ifp argument (The pointer to LibRaw_abstract_datastream input stream, positioned to start of data). But how can I do that using the C API?

Context: My program is written with Delphi which can use any C-API from DLL, but Delphi can't use C++ objects.

Reply to: Are the forums searchable?   1 year 9 months ago

That is not suitable because I'm searching for "copyright" and all pages contain that word so there are no result related to message forum containing that word.

Reply to: Copyright metadata   1 year 9 months ago

Thanks. I will try using EXIF callback. I come here again if I can't make it work.
Regards

Reply to: Copyright metadata   1 year 9 months ago

Followup: but one may use exif callback and parse/retrieve all EXIF tags: https://www.libraw.org/docs/API-datastruct-eng.html#libraw_callbacks_t

Reply to: Copyright metadata   1 year 9 months ago

Exif tag 0x8298 is not parsed by LibRaw

Reply to: Are the forums searchable?   1 year 9 months ago

Please use google with site: specifier

Reply to: libraw-0.21.1\libraw\libraw_datastream.h(183) : error C3861: 'data': identifier not found   1 year 9 months ago

Thanks - this was a helpful clue. I tried compiling it using a slightly less old version of Visual Studio - VS 2013 - and it worked perfectly.

Thanks for your help and for your excellent library. Stay safe.

:Jack

Reply to: libraw-0.21.1\libraw\libraw_datastream.h(183) : error C3861: 'data': identifier not found   1 year 9 months ago

return this->operator[](_fpos - _bstart);

Reply to: libraw-0.21.1\libraw\libraw_datastream.h(183) : error C3861: 'data': identifier not found   1 year 9 months ago

We compile 32-bit libraw for 32-bit RawDigger using MSVC 2010 with no such problem.

data() member is listed for std::vector since C++11

Reply to: Using Unicode   1 year 10 months ago

We are happy to accept additions if they do not violate the general ideology of the library and solve a problem of interest to more than one user.
Please use github pull requests for such a contributions.

Delphi/other language wrappers are out of our interest because we'll unable to support such improvements.

Reply to: Using Unicode   1 year 10 months ago

OK, I understand. Sorry, I'm new to LibRaw.
If I do the changes/additions, will it be merged in the distribution for next revision?

My current work is to create a Delphi wrapper so that LibRaw can be easily used by Delphi developers. This wrapper will be open-source and made available in a GitHub repository (Or even better - if it is possible directly - in the LibRaw repository).

Reply to: Using Unicode   1 year 10 months ago

> LibRaw should....

LibRaw is open-source, we welcome contributions from other developers

Reply to: Using Unicode   1 year 10 months ago

The problem is that I use the LibRaw.dll and his C API (My code is written with Delphi). And there is no access [as far as I can see] to the data structure required to implement a tiff writer. So I have to implement it is C++ and expose the function in the C API dll. The final effect is that my application will have to use a special DLL. I don't like the idea.

IMO LibRaw should expose a complete unicode API which is standard nowadays.

Reply to: Using Unicode   1 year 10 months ago

Yes, ppm_tiff_writer is a sample code only to allow LibRaw samples to write output files.

You may re-implement it, or use dcraw_mem_image() to create in-memory bitmap and save it using your own code.

Reply to: Using Unicode   1 year 10 months ago

LibRaw::open_file(wchar_t *) has to be used to open a file having Unicode filename. But LibRaw::dcraw_ppm_tiff_writer has no unicode version. Am I supposed to write my own or is there a work around?

BTW: I am working under Windows and all filenames are Unicode.

Reply to: Using Unicode   1 year 10 months ago

Thank you.

Reply to: Using Unicode   1 year 10 months ago

Windows: use LibRaw::open_file(wchar_t *)
macOS: LibRaw::open_file(char*) accepts UTF-8 filenames.

Other operating system: do not know :), you probably may need to implement own LibRaw datastream.

Reply to: LibRaw 0.21.1 and RawSpeed v3   1 year 10 months ago

Yes, this is expected speed-up for huffman compressed files.

Reply to: LibRaw 0.21.1 and RawSpeed v3   1 year 10 months ago

Managed to turned off sanitizer and RawSpeed 3 is about 20-40+% faster than RawSpeed v1. Sony A7RM4 RAW decode speed is like 2x.

Reply to: LibRaw 0.21.1 and RawSpeed v3   1 year 10 months ago

Huffman decoder is faster.

Pages