libopenraw 0.3.4 is out

libopenraw 0.3.4 is out.

Mainly a bug fix related to concurrency.

New features:

Camera support:

[ A * denote that static WB coefficients have been included, unless DNG ]

  • Added Canon R8 and R50.
  • Added Panasonic G95D* and S5M2.

Bug fixes:

  • Ensure that RawFile::init() is never called twice. This would cause crashes if it was called concurrently.

Internal changes:

  • Change mutability of access to the factory and the extensions.

libopenraw 0.3.3 is out

libopenraw 0.3.3 is out.

Added a bunch more cameras, new an old, and even older.

New features:

Camera support:

[ a * denote that static WB coefficients have been included, unless DNG ]

  • Added Canon 200D Mk II*, EOS R6 MKII*, EOS R7* and EOS R10*.
  • Added DJI Mini 3 Pro / FC-3582 (DNG).
  • Added Fujifilm X-H2*, X-H2S*, X-T5*, S6000fd*, SL1000* and HS50EXR*.
  • Added Hasselblad L2D-20c / DJI Mavic 3 Cine (DNG).
  • Added Olympus C5060WZ*, SP570UZ* and E-P7*.
  • Added OM Systems OM-5*.
  • Added Panasonic FZ38*, FZ300*, FZ70, FZ72*, G6*, G70*, G81*, G90*, GM1S*, GX7 Mk3*, GX85*, LF1*, TZ71*, TZ81*, TZ90*, TZ96*, TZ101*, ZS40*/TZ60*/TZ61*.
  • Added Sony 7RM5*.
  • Added Leica D-LUX 6*.
  • Added Nikon Z 30*.

Bug fixes:

  • autoconf-archive is no longer required for development. Issue #11.
  • The tarball will have up to date autoconf files.
  • Test suite bootstrap no longer crashes.
  • Test suite bootstrap no longer leave 0 bytes files.
  • Test suite build without warning if CURL is disabled (no bootstrap).

Exempi 2.6.3 is out

Exempi 2.6.3 is out.

Here are the changes:

  • Issue #29: Update the config.guess and config.sub files in the tarball.
  • Make dist an xz tarball.
  • Issue #30: Fix null to int assignement error. (Francisco Ramos)
  • Issue #28: Fix build error on armhf. (Fabrice Fontaine)

libopenraw Rust bindings

The libopenraw Rust API is now available.

Just add the following to your cargo.toml:

libopenraw = "0.1.1"

Its API is currently limited to thumbnailing. More is to come later.

Note that with the Rust rewrite of libopenraw, this crate will also change drastically.

Exempi 2.6.2 is out

Exempi 2.6.2 is out.

Here are the changes:

  • Update XMPCore to Adobe XMP SDK v2022.06
    • Build system fixes that don’t matter.
  • Fix a typo in an ID3 genre string !4
  • Build XMP_SDK with some fatal warnings:
    • -Werror=missing-field-initializers
    • -Werror=misleading-indentation
    • -Werror=class-memaccess
  • Remove (deprecated) boost_test_minimal #24
  • CI: require “bionic” on Travis CI.
  • Remove old .sym file (Daniel Kolesa) #17
  • Added --enable-samples (default = yes) (Fabrice Fontaine) !6

libopenraw 0.3.2 is out

libopenraw 0.3.2 is out.

Added a bunch more cameras, new an old, and even older.

New features:

Camera support:

[ a * denote that static WB coefficients have been included, unless DNG ]

  • Added Epson RD-1X*.
  • Added Leica DIGILUX3*.
  • Added Nikon D1H*, D7500*, D850* and P7800*.
  • Added Olympus E30*, E420*, E450*, E520*, E600* and E-P5*.
  • Added Pentax K2000* and K-m* (PEF).

Bug fixes:

  • Properly detect compressed data for Panasonic.
  • Fix the linkage of the mp4parse library with libtool.
  • Fixed the demo/ccfa to output properly the byte stream.
  • Fixed BitIterator code to peek past the number of bits for Olympus decoding.
  • Fixed decompression of packed Olympus ORF files.
  • Fixed over reported size of Panasonic compressed Raw data.

Internal changes:

  • Refactored the Olympus decompressor: less code.
  • Update Mozilla mp4parser to the latest 0.12.0 (rebased) for the CR3 parser.

libopenraw 0.3.1 is out

libopenraw 0.3.1 is out.

Added a bunch more cameras, new an old, and even older.

New features

  • Added identify as a tool to check a file can be open. This is just for development purpose.
  • Updated the Exif tag list to ExifTool 12.30.

Camera support

[ a * denote that static WB coefficients have been included, unless DNG ]

  • Added Apple iPhone 12 Pro and iPhone 13 Pro.
  • Added Canon EOS M2*, EOS M50 MarkII* and EOS R3*.
  • Added DJI Osmo Action, FC220, FC350, FC6310 and FC7303.
  • Added Fujifilm X-E4*, X-T30 II*, GFX 50S II* and GFX 100S*
  • Added Leica M11.
  • Added Nikon Z9* and Zfc*.
  • Added Olympus E-M10III*.
  • Added OM Systems OM-1*.
  • Added Panansonic G7*, GH5II* and GH6*, and alias for Panasonic G110.
  • Added Pentax K3 MarkIII (DNG and PEF*).
  • Added Ricoh GR IIIx.
  • Added Sigma fp L.
  • Added Sony DSLR-A300*, DSLR-A350*, ILCE-A7R III A*, ILCE-A7R IV A*, DSC-HX95*, ZV-E10*, QX-1*, A-1*, and A-7IV*.

Bug fixes

Internal changes

  • Added a make webdist target to streamline copying the doxygen output.
  • Removed a few piece of unused code in IFD, MakerNote and ljpeg decompressor.
  • Use bionic on Travis CI
  • Minor cleanup in the Sony code.
  • Updated configure to more modern syntax (autoupdate). Requires autoconf 2.69.

Exempi 2.6.0 is out

Exempi 2.6.0 is out.

Here are the changes:

  • Update XMPCore to Adobe XMP SDK v2021.10 (issue #22)
    • Changes in v2021.10
      • Fixing CTECHXMP-4170583, CTECHXMP-4170596, CTECHXMP-4170597, CTECHXMP-4170598, CTECHXMP-4170599, CTECHXMP-4170632 and CTECHXMP-4170633 (maintainer note: no idea what they are, but it seems to fix various buffer size issues in WAVE and SVG)
    • Changes in v2021.08
      • Security Fixes
      • Fixes syntax errors like semicolons in the codebase
      • Copyright note changes across the codebase
      • Fixes broken license link in
      • Fully implements kXMPFiles_OpenOnlyXMP flag for MPEG4
    • Changes in v2021.07
      • Security Fixes
      • Write Exif 2.3.1 Time Zone Metadata - XMPFiles Should Read/Write
      • Removal of words Master/Slave/Blacklist/Whitelist from codebase
      • cmake scripts use –version instead of -dumpversion to get complete gcc version string
      • Updating ReadMe.txt
    • Changes in v2020.1
      • iOS project generation issue
      • iOS compilation issue with libc++
      • Android support with cmake version 3.6
      • CMake upgrade to version 3.15 (except for Android)
      • Add XCode 10.2 support
      • Add VS2017 support
    • Some fixes previously done in Exempi are now upstream.

libopenraw 0.3.0 is out

libopenraw 0.3.0 is out.

The key new feature of libopenraw 0.3.0 is the metadata extraction from the various formats, including non TIFF based Canon CR3.

Added a bunch more cameras, new an old, and even older.

Here is the list of changes:

New features:

Camera support:

  • Added Pentax K-7 (DNG), K5 II (DNG), star-ist DL2*, K110D*, K5 II*, K3*, K3 II*, K-S1*.

  • Added Leica Monochrom M Typ-246 (DNG), D-LUX 4*, Q2-Monochrom (DNG) and SL2-S (DNG).

  • Added XIAOYI YDXJ-2 and YIAC-3 (DNG).

  • Added Nikon Z5*, Z6 2* and Z7 2*.

  • Added Sony A7SIII*, A7C*.

  • Added Canon PowerShot S30*, S40*, S45*, S50*, S60*, S70*, S100V*, Pro70, EOS 850 D / Rebel T8i / KISS X10i*.

  • Added Hasselblad L1D-20c (DNG).

  • Added Panasonic S5*.

  • Added Zeiss ZX1 (DNG).

  • Added Fujifilm FinePix S100FS*, X-S10*.

  • Epson R-D1, R-D1s: extract the 640 pixel preview.

  • Panasonic: extract the Exif thumbnail, get bit per channel, CFA pattern.

  • Olympus, Nikon, Pentax: extract the MakerNote preview.

  • Pentax: Extract the active area and white level when available.

  • Sony: files properly identified. A390 treated as a A380.

  • Canon CRW: synthesize Exif metadata.


  • API: Added or_ifd_release(), or_ifd_get_name() and or_ifd_get_type().
  • API: The ORIfdDirRef returned by or_rawfile_get_ifd() must be released.
  • API: or_rawfile_get_ifd() support more IFD types.
  • API: or_ifd_index is replaced by or_ifd_dir_type. OR_IFD_MAKERNOTE is replaced by OR_IFD_MNOTE, OR_IFD_CFA is replaced by OR_IFD_RAW.
  • API: or_iterator*() to iterate through the metadata tags.
  • API: Added or_metavalue_get_count().
  • Fix getting MakerNotes for Pentax, Panasonic.
  • Get the Panasonic Exif thumbnail.
  • Added tool exifdump.

Internal Changes:

  • Use std::make_unique<>: requires C++14 to compile.
  • Added LOGASSERT().
  • Use model ID when available (Sony, Pentax) instead of strings.
  • Testsuite list the tests that are not run.
  • You can run any testsuite.

Bug fixes:

  • Panasonic: fix the active area, the bpc and the CFA pattern type.

See NEWS included in the tarball.