LibRaw

Про LibRaw, RPP, баланс белого, FRV, UniWB и синергию

Чудовищный получился заголовок, но отражает суть.

Как я уже писал, RPP переходит на LibRaw для разбора RAW-данных. Пытливые пользователи заметили, что мы разбираем не все пресеты баланса белого у камер Kodak. Разобрали и их. Потом увлеклись и разобрали эти пресеты еще и для камер Canon, Olympus, Sony (и будем стараться поддержать еще).

Дальше, зоркий глаз заметил, что в баланс, который мы называем Camera Auto - пишется баланс белого, определенный датчиком камеры, даже если для съемки использовался какой-то пресет...

REQ: целочисленные DNG, больше 16 бит

Граждане читатели!

А никто не встречал в дикой природе целочисленных (SampleFormat: 1) DNG с разрядностью больше 16 (BitsPerSample: 17-32)?

Может какой софтварий их производит?

Еже видели такие - пришлите для опытов пожалуйста!

Я, понятно, могу сам нагенерировать, Adobe DNG SDK доступен мне, но если их в дикой природе нет, то я и связываться пока не буду.

Иголка в яйце, яйцо в утке, утка в зайце, заяц - в шоке

Вот есть такой DNG, который я не люблю.

В частности по вот какой причине, следите за руками

  1. Теги DNG - это не все возможные метаданные. Всякие camera-specific вещи, вроде "активных точек автофокуса" туда не вписываются (ну и невозможно запихать в стандарт всю фантазию camera makers).
  2. Эти же теги не вписываются и в EXIF, поэтому их пишут в вендор-специфичный блок Makernotes (или много блоков, фантазия, повторяю, бесконечна).
  3. OK, говорят авторы стандарта DNG, мы этот блок целиком вот и фиганем в
  4. ...

Про Pentax K3-II shift mode

Разбирался тут с 4-кадровым режимом у Pentax K3-II. Имею сказать.

Первые три картинки - resolution target с imaging resource, последняя - вот этот кадр с того же сайта.

1. Разрешение растет не очень сильно (картинка кликабельна)

Слева - 1 кадр (демозаика: AHD имени dcraw), справа - склеенные 4 кадра, картинка увеличена вдвое nearest neighbour в фотошопе.

Ну то есть растет, вопросов нет,...

LibRaw 0.17

Вышла LibRaw 0.17 (официальный релиз).

Отличия от -Beta3: поправлен разбор Lens ID для некоторых объективов Olympus и Sony.

Не для протокола:

  1. Следующую официальную версию ожидайте года через полтора-два. Официальный процесс "релиза" отнимает много сил на пустом месте.
  2. Если вы реально пользуетесь - пользуйтесь master-веткой с гитхаба. Она тоже может отставать от внутренней версии (которая идет в FRV/RawDigger), но не очень сильно. На гитхаб мы заливаем как только стабилизируемся у себя, гитхабовская версия будет уже более-менее стабильной (а внутренняя - бывает всякое).
  3. API/ABI достаточно бодро меняется (и именно поэтому официальные версии будут так редки: каждая смена API/ABI у релизной версии - это следующий major number со всеми приколами, альфа-бета, внутри последовательности 0.xx.0-0.xx.N мы держим ABI/API постоянным). Вместе с тем, совместимость назад - сохраняется. Ну, должна.

LibRaw 0.17-Beta2

Традиционный анонс:

В LibRaw 0.17 Beta2 добавилось-изменилось:

  • Новые камеры: Canon G3 X, Sigma dp0 Quattro
  • Исправлена установка уровня черного для Nikon 1 S2
  • Поддержано извлечение второго кадра для Fuji F700 и S20Pro

Идем к релизу, что-то этот альфа-бета-цикл затянулся.
 

LibRaw 0.17-Alpha4 и 0.16.2

Читатель этого блога засунул лом в нашу пилу. Результат: 6 багов разного генезиса (double free, выход за буфер, зацикливание навсегда), три наших, три - в dcraw (автору зашлю сегодня).

Обновленные LibRaw берите у нее в гнезде или на GitHub.

Лев, а тебе - огромное спасибо!

Categories:

LibRaw 0.17-Alpha3 и 0.16.1

Один очень хороший человек взялся аудитить LibRaw, большое ему спасибо. С его помощью нашлось одно плохое место в разборе Makernotes (и была выпущена LibRaw 0.17-Alpha2, старые стабильные версии этим затронуты не были).

Но он не остановился и докопался до Dave Coffin, в результате чего:

  1. Сегодня выйдет advisory c большим списком затронутых проектов.
  2. LibRaw уже исправлена:

Чтобы огрести эту ошибку - нужен специально подготовленный (либо битый) RAW. Шансов столкнуться с ней в реальности со своими файлами - примерно ноль (ну и не страшно, в случае своих файлов - это будет битый RAW со случайными данными, от них в худшем случае все упадет).  Если же вы разбираете равчики, которые любой может вам залить (как это делают всяки сервисы хранения данных с целью показа превьюшек) - у вас могут быть проблемы, когда вам начнут заливать специально подготовленные файлы и гадить на стек.

LibRaw 0.17-Alpha2

А тем временем, LibRaw 0.17-Alpha2 (и на GitHub):

  • 15 новых камер (и 16-я Sigma DP3 Merrill, которой не было в списке, хотя поддержка была)
  • Исправлена возможная запись за границы буфера при обработке битых EXIF (Makernotes) данных.
  • Бинарно несовместима с предыдущей альфой, нужно все пересобирать (версия shared lib инкрементрирована)

Открытий чудных....

Пару недель назад я уже писал о чУдном EXIF в RAW у Sony A900: в 12-битном линейном режиме в EXIF остается тоновая кривая (которая в этом режиме не нужна/не используется) и уровень черного от cRAW (вчетверо выше правильного).

То есть, если вы хотите брать черный из EXIF (что идеологически правильно: выйдет Sony A901 или там поменяют в firmware что-то - а ваш софт уже готов и работает), то нужно проверить на каком мы свете формат и поделить на 4, если 12-битный линейный.

Вчера выяснилось, что аналогично отличилась и компания Nikon: у D5300 в 12-битном режиме совершенно все так же: уровень черного записан для 14-битного режима, а если файл 12-битный, то надо поделить этот черный на 4.

Но и это не все: у D3300, у которого 14-битного режима вовсе нет, в уровень черного в EXIF опять записан учетверенный вариант. Там написано 600 (для тех файлов, что имею на руках), а правильный - 150.

Возможно, Nikon отличился давно, а не в последних моделях, но раньше черный вычитала сама камера, поэтому в EXIF в этом месте были нули.

P.S. невольно начинаешь любить DNG.

P.P.S. Вполне возможно, что Nikon, на самом деле, так заботится о нас. Ну то есть D3300 сохраняет совместимость с D5300 в этом месте. Убилбынах.

RawDigger 1.0.1

Вышел RawDigger 1.0.1:
  • Export to TIFF, опция 'Copy EXIF tags from RAW file':
    • При экспорте RGB-рендеринга ставится цветовое пространство sRGB
    • При других типах экспорта данные о цветовом пространстве не копируются.
  • Диалог Selection by numbers:
    • добавлен чекбокс "Center selection on image", если он отмечен, то selection ставится в центре изображения.
    • Mac: исправлена проблема: надпись не помещалась в диалоге.
  • Улучшена обработка регистрационной информации:
    • при вводе лицензионного ключа отбрасываются лишние символы (пробелы, табуляции и
  • ...

RawDigger 0.9.20 RC4

Господа фотографы, прежде всего фовеонщики!

Выпущен очередной релиз кандидат RawDigger 0.9.20:

Основное изменение: поддержаны (в LibRaw) уменьшенные варианты RAW камер Sigma DPx Merrill и SD1. Для "среднего" размера, который с точки зрения Сигмы ~3300x2200 показывается его истинный размер (4800x1600), при этом, как и для других форматов с "неквадратными пикселями", RGB-рендеринг выключен.

Помимо этого, исправлена ошибка в разборе выдачи exiftool.

Прочие изменения - это на самом деле изменения в LibRaw:

  • Поддержаны DNG без тега Compression (считаются uncompressed)
  • Поддержаны новые камеры: Panasonic GM1, Sony A7 и A7R (хотя в списке About - Supported Cameras их пока нет, но к релизу будут)

LibRaw 0.16 Alpha2

Тем временем, зарелизилась LibRaw 0.16 Alpha2.

Основные изменения касаются Фовеонов:

  • LibRaw теперь знает размер черной рамки на всех фовеоновских камерах.
  • Для SD1 и всех Merrill-ов есть приемлемый цветовой профиль.
  • Для DPxx (pre-Merrill) цветовой профиль весьма приблизительный.
  • Исправлен memory leak в используемой библиотеке x3f-tools.
Но и для остальных камер произошли заметные изменения:
  • Поддержаны камеры (включая цветовые данные т.е. dcraw_process() нормально работает):
    • Canon Powershot G16
    • Hasselblad Lunar, Stellar
    • Pentax K50, K500, Q7
    • Samsung Galaxy NX (EK-GN120)
    • Sony NEX-5T
  • Поддержаны камеры без цветовых данных (работает распаковка RAW, определение черной рамки, установка уровня черного т.е. все фазы до dcraw_process(). Постпроцессинг даст условный цвет)
    • Canon Powershot S120
    • Fujifilm X-A1
    • Nikon Coolpix P7800
  • Дополнительные проверки размера файла, позволяющие отвергнуть битые данные на более ранней стадии.
  • Исправлена несовместимость DHT-демозаики с реализацией OpenMP компилятором MS Visual Studio.

RawDigger 0.9.20 (RC3)

Граждане фотографы-сигмоводы,

пришло время потестировать очередную вариацию на тему работы с Foveon (других изменений нет):

Изменения:

  • Появился RGB-рендеринг. Достаточно приличный для камер SD1 и DP (и Merrill и нет) и весьма условный для старых камер (SD9-SD15 и Polaroid x530). Для старых камер, собственно, используется профиль от DP-не-Merrill, потому что никаких других данных нету.

    Результаты RGB-рендеринга можно экспортировать, естественно.

  • Появилось знание о координатах черной рамки у всех камер.
  • Для камер на "Merrill-сенсоре" (SD1, DPn-Merrill) уровень черного считается автоматически.

RawDigger 0.9.20 (Release Candidate)

Граждане фотографы,

особенно снабженные камерой с сенсором Foveon (или интересом к таковой камере),

потестируйте пожалуйста RawDigger 0.9.20:

Изменения в этой версии таковы (пишу чуть подробнее, чем в Changelog):

  1. Поддержка Foveon:
    • Поддержан как старый формат файлов (Sigma SD9-SD15, Polaroid x530), так и новый (SD1, DPxx).
    • Файлы с Foveon показываются только в режиме
  2. ...

Про Foveon

Привинтив к LibRaw не-GPL-ную поддержку Foveon, я, естественно, тут же собрал RawDigger с ней (публичной версии пока нет, идет внутреннее тестирование) и накормил его самплами с разных камер.

Я никоим образом не претендую на какую-то полноту (за этим, к примеру, вот сюда), мне хотелось составить личное впечатление, насколько это возможно сделать по доступным самплам. Качественно я фовеону уже удивлялся, теперь захотелось удивиться количественно (понятно, я мог поудивляться и пораньше, использовав dcraw...

LibRaw 0.16 (Alpha1)

Мастер-версия LibRaw получила официальный номер 0.16-Alpha1 и доступна для скачивания.

Это означает, что все глобальные идеи по развитию закончились (на ближайшее время) и нестабильности API - не ожидается. Сама по себе 0.16 достаточно стабильна, в RawDigger используется именно эта версия (и всегда используется "девелоперская", а не "стабильная"), проблем не было.

С полным списком изменений относительно версии 0.15 можно ознакомиться в changelog, ниже откомментированы основные места:

  • Добавлено 19 новых камер. Добавлять поддержку новых камер
  • ...

RawDigger 0.9.19 RC1

Граждане фотографы!

А потестируйте, кому не лень, RawDigger 0.9.19 уже не надо, вышел релиз.

Это косметический релиз, который не вносит ничего принципиально нового, но лечит проблемы и доделывает недоделки предыдущих версий:

  • Экспорт всех цветовых байеровских RAW-данных в одноканальный (grayscale) TIFF.
    В первую очередь этот режим предназначен для использования с черно-белыми камерами, изготовленными путем смытия светофильтров (maxmax.com и другие).
  • Параметры Selection Grid запоминаются между перезапусками программы.
  • Можно выбрать набор фолдеров, показываемых в левой колонке в диалогах сохранения файлов (экспорт RAW-данных, сохранение таблицы замеров).
    Регулируется через Preferences - Misc Options - Sidebar folders in Save dialogs
    Данная регулировка появилась в связи с жалобами: если запоминать список использованного и в нем окажется медленный или отключенный диск (неработающие сетевые диски и т.п.), то диалог сохранения открывается черезвычайно медленно.
  • Поля CGATS-файлов в которых могут быть пробелы (имя файла, Maker/Model камеры) выводятся в одинарных кавычках
  • Возможен экспорт RAW/RGB данных в Uncompressed TIFF. Для сжатого TIFF улучшено сжатие.
  • При выводе чисел с плавающей точкой везде выводится не менее 4 значащих цифр (исключение: процент пере/недоэкспонированных пикселов, там 3 цифры)
  • Появилась настройка Preferences - Misc Options - Disable check for updates at startup
    Если она включена, RawDigger не обращается к сайту с апдейтами на старте. скрипт noCheckUpdates.reg (.sh в Mac-версии) удален из дистрибутива.
  • Обновлена LibRaw, добавлена поддержка новых камер: Panasonic LF1,GX7, Fujifilm X-M1, Canon EOS 70D, Sony RX100II и RX1R, Olympus E-P5

При отсутствии противопоказаний, эта же версия выйдет в начале следующей недели как "релиз", английская версия выйдет тогда же. Пожалуйста, не тревожьте англоязычных пользователей раньше времени анонсами.

LibRaw 0.15.4

Майская история с уязвимостями в LibRaw получила очень приятное развитие: у меня в почте нарисовался человек из Debian, который не поленился
  • почитать код
  • увидеть там проблемные места
  • сделать "reproducers" т.е. специальным образом поврежденные RAW-файлы (непростое упражнение, заметим)
  • ну и выдать это мне.
В результате, стремные места числом примерно 7, которые проявлялись бы только на поломанных RAW (и не просто поломанных, а должны звезды сойтись) - залечены. Ну и выпущена LibRaw 0.15.4.

Кроме этих проблемных мест, там добавлена поддержка 7 камер (в Changelog они указаны).

Для тех, кому интересно: проблемные места будут полечены и в 0.14, но отдельной версии выпускаться не будет, кто использует 0.14 - берите из гитхабовского репозитория.

Девелоперская версия (master branch) будет полечена тоже, хотя там проблемных мест не 7, а всего 4.

Ожидаемое время лечения 0.14 и master - завтра.

RawDigger 0.9.18 RC1

Граждане фотографы!

А потестируйте пожалуйста Release Candidate следующей версии RawDigger:

Всем спасибо, вышла 0.9.18 без лишних букв.

Список изменений в этой версии короткий, однако изменения существенные. От менее значительных к более:

  1. 9 новых камер (см. Changelog)
  2. В CGATS-файлы пишется дополнительная информация (об использованных коэффициентах ББ, о множителе масштабирования, о максимумах данных), сами CGATS-файлы еще более приближены к стандарту.
  3. Можно делать RGB Rendering "как видит камера" (т.е. без наложения камерного профиля, конвертирующего в sRGB)

    Настройка

  4. ...

Pages

Subscribe to LibRaw