Не корысти ради, а пользы для

Сел тут приделывать поддержку floating point DNGs к LibRaw (отчего всем настанет). Потому что Lr/ACR их начали делать, да и вообще давно просили.

Встал вопрос с примерами:

  • Lr/ACR делают 16-битный 3-канальный (после демозаики), жатый deflate. ОК
  • HDRMerge делает одноканальный (байеровский) 16/24/32-битный, deflate. OK

А где бы взять реальных (! это важно) примеров остальных форматов

  • floating point нежатый, 1/3 канала, разные предикторы
  • floating point, deflate, 3 канала, 24 и 32 бита (ну это я  попробую из sRAW c помощью HDRMerge слепить не работает, не принимает HDRMerge sRAW)
  • 32-bit integer, жатый и нежатый, разные предикторы

То есть понятно, DNG SDK мне всякого добра насоздает без проблем, но хотелось бы или просто примеров файлов из реальной жизни, или примеров софта, который их делает (а скую дальше сам)

Comments

А ты тоже стараешься сам писать код по разборке чужих форматов, а не брать готовые SDK?

Ну в случае с DNG можно было бы, конечно, Адобовский SDK взять как раз, но я от него не в восторге. Так то, естественно, я туда смотрю в данном случае и, вероятно, какие-то куски скопипащу (MIT-license, это можно), может быть как временное решение.

В случае же остальных RAW-форматов - LibRaw это и есть такой готовый SDK для разбора чужих форматов, а я его пишу.
Конечно, я предпочитаю декодирование брать готовое, а не сам писать, но это не всегда возможно.

Мы наоборот всегда стараемся писать своё, потому что у нас задача это всё сделать мультиядерно и масштабируемо.

Ну это правильный заход (и, опять же, в случае DNG - достижимый т.к. DNG как правило пишется кучей тайлов на которые можно параллелить).

К сожалению, большинство остальных распространенных форматов RAW (Canon, Nikon, Pentax, Panasonic) - это монолитный, одним куском, lossless JPEG. Распараллелить его распаковку - невозможно, увы. А очень бы хотелось.

Поэтому - распаковка "один файл на одно ядро". А остальное - параллелим (потому FastRawViewer - fast), но не в опенсорсе.

А откуда вообще могут взяться оригинальные float-DNG? Я что-то не припомню фотокамер, которым это бы требовалось…

Оригинальные "из камеры" - не могут.

Но иметь возможность анализа (в RawDigger) и просмотра (в FRV) продукции лайтрума, HDRMerge и т.п. - полезно же.

То есть меня интересуют не абстрактные-из-вакуума, а результат работы уже существующих программ, ибо они могут и не DNG SDK их писать, а самопальным кодом.