Skip to content
libopenraw: RAW file parsing and processing library (mirror and WiP)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dcraw
demo
doc
gnome
include
lib
m4
misc
python
test
testsuite
tools
.clang-format
.gitignore
.travis.yml
AUTHORS
COPYING
COPYING.LESSER
ChangeLog
ChangeLog-0.0.1
ChangeLog-0.0.2
INSTALL
Makefile.am
NEWS
README
RELEASE_NOTES
TODO
autogen.sh
configure.ac

README

Copyright
=========

libopenraw is Copyright (c) 2005-2018 Hubert Figuiere and
other contributors. See the respective files.
It is licensed under LGPLv3 or later. See files COPYING
and COPYING.LESSER

Code of Conduct:
================

Contributors to this project agree to the Freedesktop.org Code of
Conduct:

  https://www.freedesktop.org/wiki/CodeOfConduct/

Prerequistes to build:
======================

    - a C++ 11 compiler (tested on gcc 4.7 and up)
    - libboost 1.33.1 (Boost.String, Boost.Test, Boost.Variant)
    - libjpeg
    - libxml > 2.5.0 (for the test suite)
    - libcurl (option for the test suite bootstrap)
    - Rust to support CR3.

If building from the git tree you also need:

    - automake/autoconf
    - autoconf-archive
    - pkg-config for the associated m4 macros

Optional Gnome support

    - gdkpixbuf

Supported file format:
======================

Here are the supported file formats. For details per-camera, see
below:

    - Canon CR2
    - Canon CR3
    - Canon CRW (not those coming from CHDK firmware like A610)
    - Nikon NEF
    - Olympus ORF
    - Pentax PEF
    - Epson ERF
    - DNG
    - GoPro GPR
    - Sony ARW
    - Minolta MRW
    - Panasonic RAW and RW2
    - Fujifilm RAF

How to build:
=============

  Using automake/autoconf:

    $ ./autogen.sh
    $ ./configure --prefix=...
    $ make
    $ make install DESTDIR=...


Support table:
==============

  T  Tested and proven to work. (I have a sample.)
  Y  Yes, it is there. (Untested as I do not have a sample but the format
     is known to be similar.) Yes, it is for the whole format.
  N  Not supported.
  B  Known to be Broken. (Needs to be fixed. I have a sample but further
     work is required.)
  X  Not needed.
  #  Sample file needed.

                          ThNail
                         /  CFA compressed (as is)
                         | /  CFA decompress
                         | | /  Orientation Tag
                         | | | /  Bayer Type
                         | | | | /  Type ID
                         | | | | | /  Active Area (ROI)
                         | | | | | | /  Color Matrices
                         | | | | | | | /
                         | | | | | | | |
Canon CR2                Y Y Y Y Y Y Y Y
 1000D/Rebel XS          T T T T T T T
 1100D/Rebel T3          T T T T T T T
 20D                     T T T T T T T
 30D                     T T T T T T T
 350D/Rebel XT           T T T T T T T
 40D                     T T T T T T T
 400D                    T T T T T T T
 450D                    T T T T T T T
 50D                     T T T T T T T
 500D                    T T T T T T T
 550D                    T T T T T T T
 5D                      T T T     T T
 5DMarkII                T T T T   T T
 5DMarkIII               T T T T   T T
 6D
 60D                     T T T T T T T
 600D                    T T T T T T T
 650D/T4i
 7D                      T T T     T T
 1DMarkII                T T T     T T
 1DMarkIII
 1DMarkIV                T T T T T T T
 1D X
 EOS-M
 G9                                T T
 G10                               T T
 G11                     T T T     T T
 G12                     T T T T T T T
 G15
 G1X
 SX1 IS                  # # # # # # #
 S90                     T T T T T T T
 S95                     T T T T T T T
 S100

Canon CR3                Y         Y   Y
 EOS M50                 T         T

Canon CRW                Y Y Y Y Y Y N Y
 300D                    T T T T T T
 10D                     T T T   T T
 D60                     T T T   T T
 G1                      T T T   T T
 G2                      T T T   T T
 G5                      T T T   T T
 Pro1                    T T T   T T

Canon CRW CHDK           N N N N N N N N
(unofficial firmware)
 A610                    N N N N N N N

Nikon NEF                Y Y Y Y Y Y N Y
 D1                      T T X X T T
 D1H                     # # # # # # # #
 D1X                     T T X X T T
 D100                    T T T X T T
 D2H                     T T Y T T T
 D2X                     T T X T T T
 D200                              T
 D3
 D3S                     T   B     T
 D3X                     T   B     T
 D300                    T T T     T
 D300S                   T   B     T
 D3000                   T B B T T T
 D3100                   T T T T T T
 D3200                   T   B     T
 D4
 D40                     T T Y T T T
 D40X                    T T Y T T T
 D50                               T
 D5000                   T   B     T
 D5100                   T   B     T
 D5200
 D60
 D600
 D70                     T T Y T T T
 D70s                    T T Y T T T
 D700                              T
 D7000                   T T T T T T
 D7100
 D80                               T
 D800                              T
 D800E                             T
 D90                         B     T
 J1                      T T B Y Y T
 J2
 J3
 S1
 V1                      T T B Y Y T
 V2
 Coolpix A

Nikon NRW                Y         Y N Y
 P6000                   T         T   T
 P7000                   T         T   T
 P7100                   T             T
 P7700

Olympus ORF              Y Y B Y Y Y N Y
 E-1                     T T T   T T
 E-10                    T B B     T
 E-3                     T T T   T T
 E-300                   T T B T T T
 E-330                   T T N     T
 E-400                   T B T T T T
 E-410                   T T T T T T
 E-500                   T T B T   T
 E-510                   B T T T T T
 E-620                   B T T   T T
 SP-350                  B B X T T T
 SP-500                  B B X T T T
 SP-510                  B B X T T T
 SP-550                  B B X T T T
 E-P1                    T T T   T T
 E-P2                    B T T   T T
 E-P3                    B T T   T T
 E-PL1                   B T T   T T
 E-PL2                   B T T   T T
 E-PL3                   B T T   T T
 E-PL5
 E-PM1                   B T T   T T
 E-PM2
 E-M5                    B       T T
 XZ-1                    B T T   T T
 XZ-2

Adobe DNG                Y Y B Y Y Y Y Y
 Leica DMR               T T X T T T
 Leica M8                T T X T T T
 Leica M9                T T X T T T
 Leica M-Monochrom       T T X T T T
 Leica X1                T T T T T T
 Leica X2
 Leica S2                T T B T T T
 Adobe DNG converter     T T B T T T
 Pentax K10D             T T X T T T T
 Pentax K200D            T T   T T T T
 Pentax K30
 Pentax K-r              T T   T T T T
 Pentax K-x              T T   T T T T
 Pentax 645D             T T X T T T T
 Pentax Q                T T X T T T T
 Samsung GX-10           T T X T T T
 Samsung Pro815          T T X T T T
 Ricoh GR-2              T T X T T T
 Ricoh GRX               T T X T T T
 Ricoh GX100

GoPro GPR                Y Y N Y Y Y Y Y

Sony ARW                 Y Y N Y N Y N Y
 A-100                   T N   T   T
 A-200                   # # # # # T #
 A-550                   T T       T
 A-580
 A-700                   T T   T   T
 A-380                   T T       T
 A-390                   T T       T
 A-560
 A-850
 A-900
 SLT-A33
 SLT-A35
 SLT-A55                 T T       T
 SLT-A57
 SLT-A65                 T T       T
 SLT-A77                 T T       T
 SLT-A99
 Nex-3                   T T   T   T
 Nex-5                   T T       T
 Nex-5N                  T T       T
 Nex-6
 Nex-C3                  T T       T
 Nex-F3
 Nex-7
 RX-1
 RX-100

Pentax PEF               Y Y N Y Y Y N Y
 *-ist D                 T T X X T T
 *-ist DL                T T N     T
 K10D                    T T N T T T
 K100D                   # # # # # T #
 K100D Super             T T N     T
 K20D                    T T N T   T
 K-r                               T   T
 K-x                               T   T
 K-5                               T   T
 K-7                               T   T
 645D                              T   T

Epson ERF                Y Y Y Y Y Y N Y
 Epson RD1               T T T T T T   Y
 Epson RD1s                            Y

Minolta MRW              Y Y B N Y Y N Y
 A1                      T T T X T     Y
 A2                      T T T X T     Y
 Dimage 5                T T X X T T   Y
 Dimage 7i               T T X X T T   Y
 Dimage 7Hi              T T X X T T   Y
 Maxxum 5D               T T T N T     Y
 Maxxum 7D               T T T N T     Y
 A200

Sony SRF                 N N N N N N N N

Sony SR2                 N N N N N N N N
 Sony R1

Kodak DCR                N N N N N N N N

Kodak KDC                N N N N N N N N

FujiFilm RAF             Y Y B N N Y N T
 Finepix S2Pro           T         T
 Finepix S3Pro           T         T
 Finepix S5Pro           T         T
 Finepix S6500Fd         T         T
 Finepix S5600           T         T
 Finepix S9500           T         T
 Finepix X100            T T T     T
 Finepix F700            T         T
 Finepix E900            T         T
 X10                     T         T
 X100S
 X20
 X-Pro1                  T       Y T   N
 X-E1
 X-S1                    T         T   N
 XF1
 Finepix S200 EXR        T         T

Foveon X3F               N N N N N N N N

Panasonic RAW            Y Y N Y Y Y Y N
 FZ30                    N T X T   T T
 FZ50                    N T X T   T T
 FZ8                     N T B T   T T
 FZ18                    T T B T   T T
 L1                      N T X T   T T
 L10                     T T N T   T T
 LX2                     N T X T   T T
 Leica Digilux 2         N T X T   T T
 Leica DLUX 3            N T X T   T T
 Leica VLUX 1            N T X T   T T

Panasonic RW2            Y Y N Y Y Y Y N
 GF1                     T T       T T
 GF2                     T T       T T
 GF3
 GF5
 GF6
 GH1                     T T       T T
 GH2                     T T N     T T
 GH3
 G1                      T T       T T
 G2                      T T       T T
 G3
 G5
 G10                     T T       T T
 LX3                     T T B     T T
 LX5                     T T B     T T
 LX7
 FZ200
 FZ28                    T T B     T T

Mamiya MEF               N N N N N N N N
 Mamiya ZD

Samsung SRW              N N N N N N N N


Test suite
==========

There is a test suite driven by an XML file. It require you to provide
your own RAW files and configure it.  testsuite/testsuite.xml is an
example of valid XML configuration file that works on my local
machine.

TODO2: provide a better description of the test file.

TODO3: fix ordiag to allow outputting a test case in XML.

Running the testsuite
---------------------

$ make check

This will run it automatically.

If you need to bootstrap the testsuite, you can go as follow:

WARNING: The bootstrap will download "random" files from the
internet. They currently aren't validated.

$ make
$ cd testsuite
$ ./testsuite -b -d directory

Here directory is the existing directory where files will be
downloded.  If you build in a different directory than the source
directory, you need to set the `srcdir` environment to the path where
the testsuite binary is build.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.