В LibRaw 0.15-Alpha4 появилось много существенных изменений.
Кратко:
- Поддержка сборки с библиотекой RawSpeed
- OpenMP-ускорение линейной интерполяции
- При использовании LibJPEG v6 декодирование lossy DNG из буфера в памяти выключено. Чтобы включить - вам нужно использовать LibJPEG v8 и указать -DUSE_JPEG8 при сборке LibRaw
- CPU-потребляющие функции (hotspots) вынесены в виртуальные функции для облегчения их ускорения в производных классах.
- Вызов is_phaseone_compressed()
- Камеры PhaseOne: для уровня черного, указанного пользователем, вычитание черного работает как ожидается
Изменения API
- imgdata.params.use_rawspeed включает/выключает использование RawSpeed (по-умолчанию - включено!)
- LibRaw::set_rawspeed_camerafile(char *path_to_cameras_xml) - читает XML-описание камер RawSpeed. Если не вызывать эту функцию, то будет использовано описание, вкомпилированное в LibRaw
- Потоки ввода-вывода LibRaw (Libraw*datastream) должны поддерживать метод size(), который возвращает полный размер файла. Этот метод имплементирован для всех поставляемых LibRaw*datastream.
- Новое поле данных: imgdata.sizes.raw_pitch - шаг строк (в пикселях)
в массиве imgdata.rawdata.raw_image.
Если вы используете значения из этого массива напрямую, вам нужно использовать
raw_image[row*raw_pitch+col] вместо [row*raw_width+col]
Другие изменения
- При использовании RawSpeed аллоцируется дополнительный буфер, содержащий RAW-файл целиком. Соответственно, использование памяти - выше.
- dcraw_emu: Опция командной строки -disars выключает использование RawSpeed
- postprocessing_benchmark: используйте -c для выключения RawSpeed
- Сборка
- Используйте дефайн -DUSE_RAWSPEED чтобы включить поддержку RawSpeed
при компиляции.
Библиотеку RawSpeed следует установить самостоятельно, см. подробности в README.RawSpeed.rus - изпользуйте дефайн -DNOSONY_RAWSPEED чтобы запретить обработку файлов с камер Sony (RawSpeed распаковывает их иначе, хотя на результирущем изображении видимых изменений нет)
- ./configure пока не поддержано, используйте Makefile.dist на Unix/Mac и Makefile.msvc на Win32
- (Unix) Установка RAWSPEED_XMLDATA=../path/to/cameras.xml в Makefile.dist приведет к пересборке внутреннего представления cameras.xml
- Используйте дефайн -DUSE_RAWSPEED чтобы включить поддержку RawSpeed
при компиляции.
TODO
- Раскодирование не-байеровских RAW при помощи RawSpeed
- Удаление двойной буферизации при использовании LibRaw_buffer_datstream
Новые комментарии