LibRaw 0.16 Release

Выпущена LibRaw 0.16-Release:
  • 47 новых камер:
    • 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)
    • Sony RX100II, RX1R, NEX-3N,NEX-5T, RX10, A3000 (ILCE-3000), A7, A7R
  • Новый код для поддержки Foveon, основанный на библиотеке x3f (by Roland Karlsson)

    BSD-лицензия, поэтому включен в основное дерево исходных текстов LibRaw

    При сборке с Demosaic-Pack-GPL2 возможен выбор обработчика Foveon на ходу (см. ниже). При сборке без Demosaic-Pack-GPL2 будет использоваться новый код.

    • Поддержка RAW-файлов промежуточного разрешения от камер DPx Merrill и SD1. RAW-данные извлекаются в "натуральном" их размере (~4800x1600 пикселов) и устанавливается aspect ratio 0.5. При RGB-рендеринге размер выходного изображения будет ~4800x3200
    • Поддержка превью-файлов для Foveon. Извлекаются только превью в форматах JPEG и битмеп (RAW-превью - не извлекаются), этого достаточно для всех существующих production-камер.
    • Новый параметр обработки imgdata.params.force_foveon_x3f

      Если LibRaw собрана с demosaic-pack-GPL2, то установка данного параметра в не 0 приведет к использованию нового кода обработки Foveon (на базе X3F-tools).

      Если LibRaw собрана без demosaic-pack-GPL2, то данный параметр никак не влияет на обработку.

      Новый флаг командной строки -disadcf примера dcraw_emu ставит вышеуказанный параметр обработки.

Изменения API:
  • Новые параметры процессинга (в imgdata.params)
    • imgdata.params.no_interpolation - выключает этап интерполяции (дебайера) в вызове LibRaw::dcraw_process().
    • imgdata.params.no_auto_scale - выключает этап масштабирования данных (scale_colors() в вызове LibRaw::dcraw_process()
    • imgdata.params.sraw_ycc - запрещает преобразование YCbCr-данных файлов Canon sRAW/mRAW в RGB-формат при распаковке (LibRaw::unpack())
  • Новый код обработки Fuji X-Trans привносит следующие изменения:
    • Для файлов X-Trans значение поля imgdata.iparams.filters теперь равно 9 (было 2).
    • В массиве imgdata.iparams.xtrans[6][6] содержится цвет пикселя в блоке 6x6.
  • Новый вызов: LibRaw::setCancelFlag() - быстрая остановка декодера (LibRaw::unpack() если он работает. Для использования в многопоточных программах.
  • В интерфейсе абстрактного класса LibRaw_abstract_datastream заведующего чтением данных удален вызов make_byte_buffer(), он более не нужен.
Прочие изменения:
  • Новый метод демозаики: DHT Demosaic by Anton Petrusevich

    Использование: imgdata.params.user_qual=11

  • Новый метод демозаики: Modified AHD Demosaic by Anton Petrusevich

    Использование: imgdata.params.user_qual=12

  • Новый вызов C-API: libraw_COLOR(libraw_data_t *t, int row,int col) (это LibRaw::COLOR(row,col) для пользователей C-API)
  • Удален (более) быстрый декодер LJPEG, идея которого была позаимствованна в свое время в библиотеке RawSpeed. Для быстрого декодирования используйте интеграцию RawSpeed и LibRaw
  • Улучшен разбор EXIF:
    • Значения ISO для тех камер Nikon, которые пишут ISO в нестандартный тег (D4, D800)
    • Уровень черного для Nikon D5300
    • Правильное извлечение цветовых данных для камер Olympus
    • Sony ARW2: цветовая матрица и уровень черного извлекаются из EXIF-данных.
    • Имя модели для камер Sony устанавливается по EXIF-тегу SonyModelID
    • Samsung: цветовая матрица и уровень черного извлекаются из EXIF-данных. Множители баланса белого извлекаются корректно даже для ненулевого уровня черного.
  • Файлы DNG без тега Compression считаются несжатыми (и обрабатываются).
  • Дополнительная проверка размеров изображения для раннего отторжения битых файлов.
  • Импортированы дополнительные проверки данных из LibRaw 0.15.4
  • Поддержка сборки CMake