Camera format support
- Lossy compressed CR3 files
- Lossy compressed RAF files
- uncompressed floating point DNG files (16-24-32 bit)
- Deflate compressed striped DNG files
- XMP and HEIF-preview extraction from CR3 files
- Apple iPhone 12 Max, iPhone 12 Max Pro
- Canon EOS R5, EOS R6, EOS 850D, EOS-1D X Mark III (lossy compressed files)
- FujiFilm X-S10
- Hasselblad CFV II 50C
- Leica M10-R, Q2 Monochrom, S3, SL2-S
- Nikon Z 5, Z 6 II, Z 7 II
- Olympus E-M10 Mark IV
- Panasonic DC-G100 / G110, DC-S5
- Sony ILCE-7C (A7C), ILCE-7SM3 (A7S III)
- Zeiss ZX1
Almost dropped camera supportOld/partially supported video/cinema cameras support is available only if LibRaw is compiled with USE_OLD_VIDEOCAMS defined (this #define is converted internally to LIBRAW_OLD_VIDEO_SUPPORT defined). This affects:
- Arri cameras
- Canon C500
- RED Cine cameras
If you're using LibRaw to decode RED Cine files, see LibRaw*datastreams section below (in short: you'll need to use old fstream-based datastream under Windows).
Cinema DNG files are not affected by this change.
Compile/build changesOld (0.19-compatibility) files (dcraw_common.cpp dcraw_fileio.cpp demosaic_packs.cpp) are removed from LibRaw repository.
Please switch to 'modern' multiple source files build.
Decoding parametersimgdata.params is split into
imgdata.rawparams: parameters used for metadata/raw data decoding
imgdata.params: parameters used at postprocessing stage
imgdata.params.raw_processing options are split into two sub-options sets
imgdata.rawparams.options: raw processing flags, useful for normal operations
imgdata.rawparams.specials: special modes (e.g decoding only delta pixels from Sony ARW)
Old LIBRAW_PROCESSING_* flags are renamed to LIBRAW_RAWOPTIONS_* and LIBRAW_RAWSPECIAL* LIBRAW_PROCESSING_DP2Q_INTERPOLATE... flags are renamed to LIBRAW_RAWSPECIAL_NODP2Q_INTERPOLATE with inverted meaning (with the goal to have zero imgdata.rawparams.specials in normal use).
- New processing flag LIBRAW_RAWOPTIONS_PROVIDE_NONSTANDARD_WB
If set (default is not), and when applicable, color.cam_mul and color.WB_Coeffs/WBCT_Coeffs will contain WB settings for a non-standard workflow.
Right now only Sony DSC-F828 is affected: camera-recorded white balance can't be directly applied to raw data because WB is for RGB, while raw data is RGBE.
- New processing flag: LIBRAW_RAWOPTIONS_CAMERAWB_FALLBACK_TO_DAYLIGHT
If set (default is not), LibRaw::dcraw_process() will fallback to daylight WB (excluding some very specific cases like Canon D30). This is how LibRaw 0.19 (and older) works.
If not set: LibRaw::dcraw_process() will fallback to calculated auto WB if camera WB is requested, but appropriate white balance was not found in metadata.
- Removed LIBRAW_PROCESSING_SKIP_MAKERNOTES processing flag: with new Windows(-handle) datastreams metadata parsing performance is enough to not skip makernotes parsing.
- new output parameter: imgdata.params.output_flags and new
Right now the only flag is implemented: LIBRAW_OUTPUT_FLAGS_PPMMETA setting it will result into metadata written to PPM/PGM output file
- LibRaw_*datastreams change and corresponding open_file() parameters change
LibRaw_file_datastream (based on iostreams) is moved under #ifdef LIBRAW_USE_DEPRECATED_IOSTREAMS_DATASTREAM Standard datastreams are:
LibRaw_bigfile_datastream (FILE* based) for POSIX systems
LibRaw_bigfile_buffered_datastream - for use with Win32 syscalls
if LIBRAW_USE_DEPRECATED_IOSTREAMS_DATASTREAM is NOT defined, than LibRaw::open_file() and similar calls drops the last INT64 max_buffered_sz parameter which defines automatic selection between iostreams and FILE* based datasteams.
Note: LibRaw_bigfile_buffered_datastream does NOT implements make_jas_stream() call, so RED Cine file decoding is not possible with this datastream. Use deprecaded iostreams implementation instead.
We plan to keep LIBRAW_USE_DEPRECATED_IOSTREAMS_DATASTREAM up to LibRaw 0.21 and drop in 0.22.
- Fuji decoder: fuji_decode_loop/fuji_decode_strip parameters has changed; look into source code for details if you're implementing your own fuji_decode_loop() call in subclass to provide parallel fuji decoding.
- Canon CR3 H265 (HEIF) preview limited support:
- new format value: LIBRAW_THUMBNAIL_H265
- this thumbnail is NOT extracted by LibRaw::make_mem_thumb() yet;
Two bits added:
LIBRAW_CAPS_ZLIB if compiled with USE_ZLIB
LIBRAW_CAPS_JPEG if compiled with USE_JPEG
- samples/raw-identify.cpp sample: removed lot of extra output used only by development team
- Windows datastreams: CreateFile2 is used if compiled for UWP.
- doc/API-datastruct: clarified behavior with use_camera_wb=1 setting.
- identify(): restored the differentiation between fsize and flen.
- New compile-time LIBRAW_FORCE_OPENMP to skip compiler version check (if LibRaw user is absolutely sure that OpenMP is supported by compiler)