LibRaw 0.18-201511

Current LibRaw master branch updated in LibRaw public GitHub repository.

This version is already used in production in RawDigger and FastRawViewer, we think this version stable enough for use in production-quality software.

Changelog for this update

  • Camera stored white balance coefficients are extracted into:
    • int imgdata.color.WBCoeffs[256][4] - array indexed by EXIF lightsource type for example, WBCoeffs[21][..] will contain coefficients for D65 lightsource
    • float imgdata.color.WBCT_Coeffs[64][5] contains white balance data specified for given color temperature: WBCT_Coeffs[i][0] contains temperature value, and [1]..[4] are WB coefficients.
  • LibRaw can be built with Adobe DNG SDK support (you'll need to compile this SDK yourself for your system).

    To compile/build with DNG SDK specify USE_DNGSDK in compiler flags (you may also need to adjust include path and linker settings).

    On Runtime:

    • create dng_host (or derived class) entity in your program;
    • pass it to LibRaw:set_dng_host(dng_host *) call to enable DNG SDK use on runtime
    • adjust imgdata.params.use_dngsdk parameter with one of this values (ORed bitwise):
      LIBRAW_DNG_NONE - do not use DNG SDK for DNG processing
      LIBRAW_DNG_FLOAT - process floating point DNGs via Adobe DNG SDK
      LIBRAW_DNG_LINEAR - process 'linear DNG' (i.e. demosaiced)
      LIBRAW_DNG_DEFLATE - process DNGs compressed with deflate (gzip)
      LIBRAW_DNG_XTRANS - process Fuji X-Trans DNGs (6x6 CFA)
      LIBRAW_DNG_OTHER - process other files (so usual 2x2 bayer)
      Default value for this field:
      LIBRAW_DNG_DEFAULT=LIBRAW_DNG_FLOAT|LIBRAW_DNG_LINEAR|LIBRAW_DNG_DEFLATE
      You also may use this macro to pass all supported DNGs to Adobe SDK:
      LIBRAW_DNG_ALL =
      LIBRAW_DNG_FLOAT|LIBRAW_DNG_LINEAR|LIBRAW_DNG_XTRANS|LIBRAW_DNG_OTHER
  • New API calls
    • unsigned LibRaw::capabilities and C-API libraw_capabilities() allows developers to determine LibRaw compile flags at runtime.
      Returns ORed bit fields:
      LIBRAW_CAPS_RAWSPEED - LibRaw was compiled with RawSpeed Support
      LIBRAW_CAPS_DNGSDK - LibRaw was compiled with Adobe DNG SDK
      LIBRAW_CAPS_DEMOSAICSGPL2, LIBRAW_CAPS_DEMOSAICSGPL3 - LibRaw was compiled with demosaic packs (GPL2/GPL3)
    • floating point support for DNG files:
      • new data fields:
        imgdata.rawdata.float_image - bayer float data
        imgdata.rawdata.float3_image - 3-component float data
        imgdata.rawdata.float4_image - 4-component float data
        imgdata.color.fmaximum - float data maximum (calculated from real data, rounded to 1.0 if below 1.0)
      • new raw processing flag (see below for params.raw_processing_options) LIBRAW_PROCESSING_CONVERTFLOAT_TO_INT - converts float data to 16-bit integer immediately after decoding with default parameters
      • new API Calls:
        int LibRaw::is_floating_point() returns non-zero if RAW file contains floating point data
        int LibRaw::have_fpdata() returns non-zero if rawdata.float*_image is not null (so FP data unpacked but not converted to integrer, see below).
        LibRaw::convertFloatToInt(float dmin=4096.f, float dmax=32767.f, float dtarget = 16383.f) converts float/float3/float4_image to raw_image/color3/color4_image with or withou scaling:
        • if both real data maximum and metadata maximum are within range ( >= dmin && <=dmax), float data are just converted to int
        • if data is out of range noted above, values are scaled so real data maximum becomes dtarget
        • if data was rescaled (normalized), scale multiplier is stored in imgdata.color.fnorm
  • new data field imgdata.color.dng_color.forwardmatrix, the name speaks for itself
  • Fix for DualISO Canon DNG files
  • Fix for Nikon P7000/7100 Firmware 1.2
  • Fix for Nikon 1 Series 12-bit uncompressed format
  • Fix for Sony A7 Series uncompressed format (incorrect BitsPerSample in metadata)
  • params.sony_arw2_options and params.x3f_flags are merged into one bitfiled params.raw_processing_options:
    • enums LibRaw_sonyarw2_options and LibRaw_dp2q_options are merged into one LibRaw_processing_options
    • default value for params.raw_processing_options is LIBRAW_PROCESSING_DP2Q_INTERPOLATERG| LIBRAW_PROCESSING_DP2Q_INTERPOLATERG
  • new processing option LIBRAW_PROCESSING_PENTAXK32_ALLFRAMES turns on 4 frame merge for Pentax K3-II 4-shot images
  • dcraw_emu: new -R switch allows to set params.raw_processing_options
  • dcraw 9.26 completely imported, support for BlackMagic URSA '3:1 compressed' files
  • Camera support:
    • BlackMagic URSA
    • Canon G5 X, G9 X, EOS M10
    • DXO One
    • Leica S (Typ 007), SL (Typ 601)
    • Olympus E-M10 Mark II
    • Richoh GR II
    • Sony A7S II

Comments

Could you please add a Visual

Could you please add a Visual Studio 2015 solution? VS community 2015 is already free now. It will be great to have a VS 2015 solution that can build with no error.

Visual Studio is able to

Visual Studio is able to upgrade projects from older version to new one. Provided vcproj files are compatible with VS up to 2013 (have not tested 2015 version).

Is there any problem with project upgrade with VS2015?

-- Alex Tutubalin