Blogs

LibRaw 0.14 Alpha2

LibRaw 0.14 Alpha2 contains several major changes:
  • Multiple rendering (LibRaw::dcraw_process() calls) allowed without re-opening RAW file thrfough the sequence of open()/unpack() calls.
    You should be able to change any processing parameters (except shot_select parameter) between dcraw_process() calls.
    • New sample in samples/multirender_test.cpp: renders data 4 times: in half and full modes with different white balance settings.
    • Unprocessed RAW data is stored in separate data buffer: (2 bytes per pixel for all Bayer-pattern images, 8 bytes per pixel for Foveon, sRAW, and other full-color raw formats), so now LibRaw uses 25% more memory for full processing of most common Bayer images; while for just unpack memory is reduced 4 times.
    • New call LibRaw::raw2image() fills imgdata.image array with fresh copy of data. There is no need to call raw2image() separately if you use dcraw_process() or dcraw_document_mode_processing() calls.
    • New call LibRaw::free_image(), deallocates imgdata.image buffer. Use this call if current postprocessing results are not needed, but it is to early to call recycle() because dcraw_process() may be called later.
    • New call LibRaw::get_decoder_info() to determine raw data storage layout. See samples/unprocessed_raw.cpp for an example of how to use it. * New C-API calls libraw_raw2image() - C API for LibRaw::raw2image() libraw_free_image() - C API for LibRaw::free_image() libraw_get_decoder_info() - C API for LibRaw::get_decoder_info()

    If your code uses usual open()/unpack()/dcraw_process() call sequence, then NOTHING CHANGED: your program should produce same results. For interactive programs you may skip open()/unpack() calls after adjusting processing parameters, so user should see image refreshed much faster.

    If your code uses raw data (open+unpack calls), you need to call LibRaw::raw2image(), and imgdata.image will contain same bitmap as in LibRaw 0.13.x

    If you code uses access to masked borders data, you need to rewrite it. See samples/unprocessed_raw.cpp as a sample.

  • Other changes:
    • No separate imgdata.masked_pixels buffers, Bayer raw formats are read to buffer with borders. So, no ugly add_masked_border_to_bitmap() call.
    • No filtering_mode parameter. Raw tone curve is applied at unpack() stage; zero pixels removed on postprocesing stage.
    • unprocessed_raw and 4colors samples are adjusted to use new RAW data storage layout.
  • all client code should be recompiled due to internals change.

Please test new version and provide feedback (in comments, forum or via feedback form). This version is experimental (alpha) and we need your feedback before releasing beta and/or release library.

LibRaw 0.13.2

LibRaw 0.13.2 adds some minor features and fixes some minor bugs:

  • Build system changes:
    • Preliminary shared libraries support via configure/libtool system.
    • Added .pro files for Qt qmake.
    • Added .sln/.vcproj files for Visual C++ 2008
  • Support for Sony Alpha A390 (colordata is from A380)
  • Bugfixes:
    • Fixed typo in Leica D-LUX 4 colordata.
    • Fixed problem with camera white balance settings reading for some Sony cameras.

LibRaw 0.13.1

LibRaw 0.13.1 fixes several minor issues of 0.13.0:

  • dcraw_emu documentation updated
  • ./configure scripts changed for correct linking on some systems
  • FBDD denoising is disabled for full-color images (Foveon, 4-shot Sinar) and 4-color bayer data (including forced 4-color via four_color_rgb option)

LibRaw 0.12.4

LibRaw 0.12.4 is available for download.

This version includes new dcraw.c source (9.06/1.440), so supported camera list has changed:

  • New cameras are supported: Canon S95, Casio EX-Z1080, Panasonic GF2 and GH2, Samsung NX100, Sony A-580
  • Updated color data for: Canon G12, Nikon D3100, D7000 and P7000, Olympus E-5, Pentax K-r and K-5, Samsung NX10 and WB2000

Pages

Subscribe to RSS - blogs