LibRaw 202403 snapshot

LibRaw 202403 snapshot is just published in our Github repository. Changes are:

Raw format support

  • Panasonic encoding 8
  • Sony YCC (Medium/Small compression) pseudo-RAW support:
    • normal processing (3-channel RGB output)
    • or YCbCr output if LIBRAW_RAWSPECIAL_SRAW_NO_RGB bit is set in imgdata.rawparams.specials (one may specify the LIBRAW_RAWSPECIAL_SRAW_NO_INTERPOLATE flag too avoid Cb/Cr interpolation) Note: if YCbCr is selected, Cb/Cr neutral points are adjusted to 8192 (to fit histogram/range area of the Y channel)
    • RAW (pseudo-RAW) data is already white balanced, so imgdata.color.as_shot_wb_applied is set to LIBRAW_ASWB_APPLIED | LIBRAW_ASWB_SONY
  • DNG 1.7 (including JPEG-XL compression) support via Adobe DNG SDK 1.7.x integration
  • Canon CRN files: embedded RAW extracted

Camera support

  • Canon EOS R6 Mark II, EOS R8, EOS R50, EOS R100, EOS Ra
  • Fujifilm GFX100-II, X-T5, X-S20, X-H2, X-H2S: support of files with wrong metadata (pre 1.03 fw)
  • GoPro HERO11, HERO12 (via GoPro SDK)
  • Hasselblad X2D-100c
  • Leica Q3, M11 Monochrom
  • Nikon Z30, Z8 (HE/HE* formats are not supported)
  • OM Digital OM-5
  • Panasonic DC-G9 II, DC-ZS200D / ZS220D, DC-TZ200D / TZ202D / TZ220D, DC-S5-II, DC-GH6
  • Sony A7C-II, A7CR, ILCE-6700, ZV-1M2, ZV-E1, ILCE-7RM5 (A7R-V), ILME-FX30,
    A1: support for files damaged by exiftool
  • Multiple DJI and Skydio drones
  • tested with multiple smartphones with DNG format recorded.

Dropped support

As planned in LibRaw snapshot 202101 release notes, OLD_VIDEOCAMS support is dropped. These cameras are no longer supported:
  • old RED Cine cameras
  • Canon C500
  • ARRI video/digital cinema cameras

Other changes

  • Sony DSC-HX95: improved metadata parsing
  • Better support for cropped images from latest Fujifilm cameras (X-H2, X-H2S, X-T5)
  • JPEG-XL previews (DNG 1.7) support:
    • new bit for imgdata.rawparams.options: LIBRAW_RAWOPTIONS_ALLOW_JPEGXL_PREVIEWS (not set by default)
    • if the bit is set, LibRaw will perceive such previews in the same way as JPEG ones (largest preview is selected by default, etc).
    • tformat field for such preview is set to LIBRAW_THUMBNAIL_JPEGXL
    • image metadata (width/height/channels count) is not parsed for JPEG-XL previews
  • New patch for RawSpeed3: 05.no-phase-one-correction.patch
    this patch disables RawSpeed's PhaseOne flat field correction (not needed because LibRaw uses own P1-metadata based correction)
  • RawSpeed3/PhaseOne compressed files: scale unpacked data to match camer black level data.
  • New imgdata.params.use_p1_correction parameter
    If set to non-zero (default): PhaseOne compressed files will be corrected (linearization; defect mapping) based on metadata contained in file.
  • New possible bit in imgdata.process_warnings: LIBRAW_WARN_VENDOR_CROP_SUGGESTED
    If set: unknown/untested RAW image frame size passed to LibRaw, cropping may be incorrect.
    It is suggested to use LibRaw::adjust_to_raw_inset_crop(1) for vendor specified crop.
  • LibRaw::adjust_to_raw_inset_crop exposed via C-API call:
    libraw_adjust_to_raw_inset_crop(libraw_data_t *lr, unsigned mask, float maxcrop);
    Note: default maxcrop value for C++ API is 0.55f
  • Better handling of DNG RAW Previews with Stage2 opcodes
  • Added imgdata.makernotes.sony.AspectRatio field|
    • if parsed: contains aspect ratio (width to height)
    • if not parsed: initialized to -999.f
  • Nikon Z8/HLG mode: do not add 10 bit/unknown format thumbnails to the thumb_list
  • Canon CR2 16-bit bitmap previes: do not convert from Kodak colorspace
  • New compile-defined limit LIBRAW_MAX_PROFILE_SIZE_MB:
    limits allocation/read size for embedded color profile (default: 256Mb)
  • Embedded color profile allocation/read size: limited by input file size.
  • Check against corrupted LJPEG header in Canon sRAW decoder
  • Better support for Sony metadata
  • Better handling of memory allocation errors in unpack_thumb()
  • Support for 8bit/Monochrome DNG Previews
  • LibRaw::thumbOK(): return 0 for YCbCr thumbnails (because unpack_thumb() will always return error: no correct thumbnails with this format found in the image samples yet)
  • Improved Sigma X3F files model recognition
  • Placeholder for DNG/YCC preview decoding: such previews are recorded by Samsung S21 Ultra smartfone, while all present samples contains broken data; Right now 'no preview' returned for such files.
  • Support for BW bitmap previews in LibRaw::dcraw_thumb_writer
  • Phase One: explicitly switch to monochrome mode if firmware string contains 'Achromatic' word
  • tiff parser: check for IFD offset before parsing it