LibRaw 0.17-Alpha1

After approximately one year of continuous development LibRaw became stable enough to receive a new version number.

LibRaw 0.17 (Alpha1), available at download page:

  • More metadata parsing/extraction:
    • XMP packet extracted (if exists)
    • DNG Color information parsed
    • GPS data (partially) parsed
    • EXIF/Makernotes parsed for used optics (for both RAW files and DNG converted by Adobe convertor).
  • Exif/Makernotes parser callback (called for each processed tag)
  • Sony ARW2.3 decoder:

    LibRaw 0.16 Release

    LibRaw 0.16-Release changes (since 0.15.x):
    • Support for new cameras:
      • Baumer TXG14
      • Blackmagic Cinema
      • Canon EOS 70D, C500, S120, G16
      • Fujifilm X-M1, X-A1, XE2, XQ1
      • Hasselblad Lunar, Stellar
      • Leica C, X VARIO
      • Nikon D5200, P7800, D5300, D610, Df, 1 AW1
      • Nokia Lumia 1020, 1520
      • Olympus E-P5,E-M1, STYLUS1
      • OmniVision OV5647 (Raspberry Pi)
      • Panasonic LF1, GX7, GF6, GM1
      • Pentax K-50, K-500, Q7,K-3
      • Richon GR
      • Samsung NX300, NX1100, NX2000, Galaxy NX (EK-GN120)

    LibRaw 0.15.0 Release

    LibRaw 0.15 Release available for download and use
    New camera/format support

    • Adobe DNG: fast Load DNG (LightRoom 4.x), support for
      lossy-compressed DNG (LR 4.x, requires libjpeg 6+)
    • Canon: G1 X, SX220 HS, EOS 5D Mark III, EOS 650D, EOS 1D-X,
      100D (Rebel SL1), 700D (Rebel T5i), 6D, EOS M, G15, S110, SX50
    • Casio: X-S1, HS30EXR, X1-Pro, EX-ZR100,EX-Z8
    • Fujifilm: X-E1, X20, X100S, SL1000, HS50EXR, F800EXR, XF1
    • Leica: D-LUX6 and V-LUX4
    • Nikon: D4, D3200, D800, D800E, 1 J2, 1 V2, D600, 1 J3, 1 S1, Coolpix A,
      Coolpix P330, Coolpix P7700, D7100
    • Olympus: E-M5, XZ-2, XZ-10, E-PL5, E-PM2
    • Panasonic: G5, G6, DMC-GF5, FZ200, GH3, LX7
    • Pentax: MX-1, K-5 II, K-5 IIs, K-30, Q10
    • Samsung: EX2F, NX20, NX210, support for the new firmware for NX100
    • Sigma: SD15, SD1, SD1 Merill, DP1, DP1S, DP1X, DP2, DP2S, DP2X
      (only with Demosaic-pack-GPL2)
    • Sony: SLT-A58, RX-1, SLT-A99, NEX-5R, NEX-6, NEX-F3, SLT-A37, SLT-A57
    • Multishot files: Imacon Ixpress 39Mpix

    API changes

    1. dcraw_process() can now be called several times with different parameters
      without re-opening and unpacking the file for second and consecutive
      calls to dcraw_process
    2. Deleted (nobody uses those)
      • LibRaw::dcraw_document_mode_processing (and respective C-API)
      • imgdata.color.color_flags data field
    3. LibRaw::unpack() now decodes data into different buffers, the buffer
      depends on the raw data type
      • imgdata.rawdata.raw_image - 1 color component per pixel,
        for b/w and Bayer type sensors
      • imgdata.rawdata.color3_image - 3 color components per pixel,
        sRAW/mRAW files, RawSpeed decoding
      • imgdata.rawdata.color4_image - 4 components per pixel, the 4th
        component can be void
    4. Support for compiling with RawSpeed library,
      details are in README.RawSpeed
    5. Suppression of banding
    6. New API calls
      • recycle_datastream(),
      • open_file(wchar_t*) (Win32)

    LibRaw-contrib repository

    New LibRaw-contrib repository is added to LibRaw's GitHub account.

    This repository is for code, contributed by LibRaw users, but not included into main LibRaw source tree.

    For now only one project is present in the repo:


    This program converts a raw image-(such as canon's cr2 or nikon's nef) to a tiff image. It accomplishes this using the libraw library available at It emulates the dcraw -D -4 -T command. It has only been tested using canon CR2 files.

    LibRaw 0.14.0 (Release)

    After three months of testing the LibRaw 0.14 is considered stable. This version is recommeded to use instead of LibRaw 0.13.

    The most significant change of this version is multiple rendering (via LibRaw::dcraw_process() calls) of same RAW data without re-opening RAW file through the sequence of open()/unpack() calls. You should be able to change any processing parameters (except shot_select parameter) between dcraw_process() calls.

    So, it is possible to implement near-realtime preview of entire image in half-resolution mode and realtime preview of selected area (e.g. around mouse pointer position) in full-resolution mode.


    Displaying L channel in Photoshop

    Once in a while one may want to adjust L channel viewing it separately. The rub is that to do this without using extra layers one needs either to use grey Lstar profile as grey working space in Photoshop Color Settings (Cmd/Ctrl-K), or to switch on Show Channels in Color in Photoshop Interface Preferences (Cmd/Ctrl-K). Otherwise the brightness and contrast of the L channel display are wrong.

    Here are some screen shots to illustrate why one might care.

    Here is a b/w image in Lab:

    Festina Lente

    For quite some time we were suggesting that floating point implementation of demosaicking algorithms allows for higher quality results. Incidentally, some programmers who vigorously argued for years insisting integer processing is quite sufficient are now starting to code their demosaicking in floating point too. Here is a comparison of the results of original AHD demosaicking algorithm implemented using floating point and integer arithmetics.

    Bayer moire

    With the existing diversity of RAW converters and their algorithms, there is the problem of choice: which converters are better (and for which purposes). An evident methodology is often encountered in internet forums: take one or several images, process them using different converters/algorithms/settings and compare them visually. The result often looks like this: image P should better be processed using algorithm Q, and image A is better handled by algorithm Z with option f+.

    Moreover, it is simply wrong to analyze things in terms worse or better . The correct formulation is closer to/farther from the initial image .

    The problem is that here we deal with a complex system, which includes

    1. The photographed object and light.
    2. The light path in the camera with lens aberrations and light scattering within the camera.
    3. The sensor with all construction features: anti-alias filter, color bayer filters, microlenses, etc.
    4. In-camera processing, both analog and digital.
    5. And, yes, also the RAW converter in question.