Февраль 2014

RawDigger 1.0.5: обнаружение (возможной) постеризации в файлах Sony cRAW

Тема потерь при сжатии в файлах Sony cRAW (а этот формат используют все современные камеры Sony) поднималась у меня многократно. Вот только за последнее время:
  1. RawDigger 1.0.3: раскапывая Sony описание (в очередной раз) формата данных и новых фишек RawDigger для его анализа.
  2. Sony cRAW ETTR: сжатие с потерями, теория и практика практический пример поиска проблемных областей
  3. Sony A7: околозвездная постеризация (ссылка на diglloyd.com) еще один пример, который был в точности предсказан.
Но для быстрой...

О светах у цифровых камер

Мы продолжаем публикации на тему "для чего нужна RAW-гистограмма":

RawDigger Histograms, part 3: Overexposure Shapes

Как и в прошлый раз, без русской версии, но там по картинкам почти все понятно.

Краткое резюме:

  1. Поведение в светах у разных ЦФК - разное. То есть производитель сам выбирает где делать талию где света обрезать, руководствуясь, в первом приближении, двумя соображениями:
    • Если не обрезать (Panasonic GM1 @ISO125), то можно использовать весь диапазон емкости пикселя, но вверху будет
  2. ...

Q: FreeBSD 10

Два вопроса
  1. Кто-нибудь уже использует FreeBSD 10 в бою?
  2. В апгрейде с 9.2 есть грабли какие-нибудь?

Я прийшов, а тебя два!

В прошлой заметке я написал:
После этого начинаешь любить Win32 особенно остро.
Это продолжалось недолго, я познакомился с Registry Redirector в WOW64. В сочетании с тем, что в в Win7 оно отличается от более старых версий.

Я прийшов, тебе нема

Вот есть такой вызов, strnlen:

     size_t
     strnlen(const char *s, size_t maxlen);

DESCRIPTION
     The strnlen() function attempts to compute the length of s, but never scans beyond the
     first maxlen bytes of s.
И он есть, например, в Mac OS X 10.7 и новее.

Берем код с этим вызовом, собираем с -mmacosx-version-min=10.5 (должен получиться совместимый c 10.5 код, да?) на 10.8, несем на 10.6, запускаем.

Все падает.

И ладно бы падало с внятным сообщением, вот не могу залинковать такое. Нет, SIGSEGV, нулевой указатель (на функцию?).

После этого начинаешь любить Win32 особенно остро.

Про гистограммы RawDigger

Два текста про гистограммы RawDigger (наверное, со временем станут частью мануала): На русском языке, увы, не существуют.

P.S. В конце второго текста есть ссылка на полезняшку, шкалу Q13 в DNG. Помогает понять тоновую кривую вашего конвертора, например.

Sony A7: околозвездная постеризация

Год с хвостиком назад, когда я в первый раз озаботился соневским cRAW, я из общих соображений предсказал, что должны быть проблемы на кадрах типа "звезда на фоне темного, но не черного неба".

И таки да. Вот у Ллойда Чамберса: нашелся пример (промотать до раздела Example).

UPD: Ллойд завел отдельную страничку под это чудо.

Такие дела.

И таки да, со star trails все плохо т.к. в артефактах будет весь снимок, не начистишься (лечение - убирать небо в черноту, но не всегда это годится).

Экспозамер: для RAW или для JPEG?

Меж тем, у нас родился текст (и видео):

Exposure for RAW vs. Exposure for JPEG

Это продолжение и развитие уже поминавшегося в данном бложике текста Ильи, но продолжение и развитие было уже на басурманском наречии, русского оригинала не существует.

Ну и многие примеры поминались/обсуждались у меня в комментариях.

Sony cRAW ETTR: сжатие с потерями, теория и практика.

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

Напомню устройство сжатия с потерями в этом формате:

  • Строка изображения разбивается на блоки по 32 пиксела, в каждом из блоков содержатся пиксели двух цветов, зеленого и какого-то еще из двух оставшихся, по 16 пикселов каждого цвета.
  • Для этих 16 пикселов записываются
    • Минимальное и максимальное значение в 16-пиксельном блоке с точностью 11 бит.
    • Координаты минимума-максимума (номер в блоке).
  • ...

Q: Qt 5.2 и Retina

Граждане разработчики,

Особенно использующие Qt, вы же тут читаете, я знаю.

Вот есть Qt 5.2 и Маки с ретиной. Надо, значит, чтобы было Щастье.

На самом деле, 99% Щастья есть сходу: если в Info.plist написан NSPrincipalClass, то все стандартные элементы (шрифты, к примеру) рендерятся в ретину и все работает.

Но.

У меня используется свой OpenGL-код, который зовется из QGraphicsScene::drawBackground(). Он, понятно, сходу рисует в четверти окошка в таком случае.

Эксперименты показали, что достаточно...

Pages