Свежие комментарии
| Title | Comment |
|---|---|
| я в компиляторном коде ни |
Использовать DPPS всегда (на любой микроархитектуре) неоптимально. |
| pixel = |
PSUBUSW (aka _mm_subs_epu16) сделает это в одну команду! |
| Если вы обратили внимание, то |
Если вы обратили внимание, то зеленые каналы немножко разные (максимумы - отличаются). Глобально же - ну домножены у никонов B и R на небольшие константы. Можно даже прикинуть на какие. Ничего хорошего в этом нет, но глобально ничего не испорчено, при желании делится обратно. |
| Вообще, компилятору сложно распознавать более-менее сложные |
Вообще, компилятору сложно распознавать более-менее сложные паттерны. Ну, к примеру, умножение вектора на матрицу. Или даже просто скалярное произведение векторов - я в компиляторном коде ни разу dpps не видел. |
| Зачем бы RAW-конвертору |
Зачем бы RAW-конвертору повторять процессинг dcraw? |
| По счастью, imaging - счастливое исключение, там данные сгру |
По счастью, imaging - счастливое исключение, там данные сгруппированы естественным образом. Или почти естественным, каналов в RGB три, а компонентов в векторе - 4. |
| >> Ну то есть ручной SSE-код быстрее везде, где применимо SS |
>> Ну то есть ручной SSE-код быстрее везде, где применимо SSE. Во, наверное, тут ключевая фраза. ПМСМ, сгруппировать данные под SSE для компилятора - задача архитрудная. |
| Ну ведь это же рав-конвертор |
Ну ведь это же рав-конвертор будет с плавучкой и "правильным" выходным результатом, неиспоганенный профилями и шустро работающий(вместо тугого и неюзабельного RPP)? |
| Разный максимум по каналам |
Разный максимум по каналам автоматически означает, что камера явяется мыльницей, потому что у неё отсуствует настоящий RAW. |
| Можно еще пипетку иметь для |
Можно еще пипетку иметь для закрашивания восстановленных участков, в идеале для каждой зоны (по желанию) отдельно. То же угадывание тона в РПП - вполне полезно. |
| Особо отвратительные места в LibRaw давно оптимизированы, |
Особо отвратительные места в LibRaw давно оптимизированы, т.е. там особых каких-то потерь нет. Все размазано тонким слоем. Просто 16-битные данные не приспособлены к эффективной векторизации. pixel = _mm_sub_ps(pixel,black); // вычли А так же эффективно сделать это же для 16-битного представления - компилятор не может, даже если цикл развернуть и фигачить по два пикселя. Ну, или я неправильными компиляторами пользуюсь. Ну то есть ручной SSE-код быстрее везде, где применимо SSE. А, да, распаковка Lossless JPEG D800 занимает ~250ms и что с ней делать - непонятно, там все уперто в "битовый буфер". Т.е. понятно что делать глобально, но не с одним файлом. |
| Интереснее, где в реале получается бОльшая часть потерь в C- |
Интереснее, где в реале получается бОльшая часть потерь в C-коде. |
| Скорее бы уж! |
Как бальзам на душу, читать про такие оптимизации во время разработки софта. |
| В-принципе, DNG (обычные, не |
В-принципе, DNG (обычные, не linear) - имеют те же данные внутри и, в теории, от XE1 должны жраться. Но я не пробовал, может быть там есть какие-то несовместимые с жизнью вещи. DNG Converter 7.3 вроде бы XE1 поддерживает. |
| Понятно. Печалька :( Шибко |
Понятно. Печалька :( |
| XE-1 не поддерживается. И в |
XE-1 не поддерживается. И в следующей версии, вероятнее всего, тоже не будет поддерживаться (но не будет и падать). Что-то там с форматом наворотили, разобраться пока не могу. |
| проблема с открытием RAW с Fuji X-E1 |
RAW файлы с Fuji X-E1 взятые здесь http://www.dpreview.com/previews/fujifilm-x-e1/10 Ниже все что в логах остается (Винды 7 x64) Faulting application name: RawDigger.exe, version: 0.9.13.171, time stamp: 0x50a219b9 |
| До 10.8 так и было. Даже если |
До 10.8 так и было. Даже если ядро Mac OS работало в 32-х битном режиме, то 64-х битные программы можно было запускать как в 64-х битном режиме (по умолчанию), так и в 32-х битном. Для этого в свойствах 64-х битных программ была даже опция-переключатель на работу в 32-х битном режиме. Иногда Фотошоп приходилось переключать в 32-х битный режим из-за того, что не все сторонние плагины были 64-х битными. Так что ядро и программы могли работать каждое в своей битности. И системные кексты тоже были разные, некоторые могли работать в обоих режимах, некоторые только в 32-х битном. Например, драйвера для старых встроенных интеловских видеокарт, например, GMA3100, после 10.6.2 были только 32-х битные, поэтому систему лучше было запускать в 32-х битном режиме, хотя сам процессор (Core2Duo) был 64-х битный. Иначе видеокарта работала в VGA-совместимом режиме (не уверен что в данном случае этот режим называется именно так, но суть думаю понята). Ну, а в 10.8 систему сделали только 64-х битной, и кексты теперь тоже только 64-х битные. Хотя сами программы работают как 32-х битные, так и 64-х битные. Хотя когда смотришь Activity Monitor, то видишь насколько 32-х битных программ стало меньше по сравнению с временами 10.6 например. В 10.6 надпись Intel (64 bit) в колонке Kind программы была скорее исключением, а в 10.8 наоборот программа без приставки (64 bit) уже смотрится исключением. |
| Если ввести в гугл inpainting, то можно узнать что задача во |
Если ввести в гугл inpainting, то можно узнать что задача восстановления изображения внутри области по данным на границах имеет относительно простые, и вместе с тем не пугающие глаз решения. Применить её к пересветам - другая задача. Можно попытаться восстановить цветовую информацию по значениям на границе, и дальше если есть значения хоть в одном канале, можно восстановить остальные два. Я писал о том, что нужно сначала восстановить пересвет (не важно, каким образом, да хоть бы везде где есть клиппинг хоть одного канала в белое) и лишь потом умножать на матрицу, а не наоборот. |
| Ну, это будет соответствовать поведению нашего зрения, котор |
Ну, это будет соответствовать поведению нашего зрения, которое вполне себе обесцвечивает яркие света. |
| Скорость - вопрос второй, пока неинтересно обсуждать. Вопр |
Скорость - вопрос второй, пока неинтересно обсуждать. Вопрос все одно в цвете. Вот придумался такой пример: оконная рама, расписанная под хохлому, а в ней - окно, полностью пересвеченное. Мы эту самую хохлому - экстраполируем дальше в окно? Вот в том примере, который в посте: справа от пересвета оконная рама или что-то подобное (желтое), снизу - зеленый листик, вот прямо вот зеленым и желтым все и зальем? По мне, так дефолтным поведением должно быть что-то ACR-о-подобное, если и восстанавливаем света, то нейтралью. Иначе уж совсем плохо. |
| Многокадровая работа (включая |
Многокадровая работа (включая сюда и два кадра за раз, как в S5Pro) - это отдельная история, хотя и очень интересная. Но пока вопрос в том, что делать с одним кадром. И ничего лучшего, чем -- а) резать б) если восстанавливать - то обесцвеченное -- я пока не вижу. Экспериментировать надо, да. |
| Главная задача тут, видимо, избежать паразитной хроматики. М |
Главная задача тут, видимо, избежать паразитной хроматики. Можно после шага 2 разложить картинку на яркость и хроматику, например, в YCbCr, это довольно быстро. Затем в пикселах, где хоть один канал ушел в пересвет, отказаться от собственных CbCr и взять их интерполяцией из соседних, оставить лишь собственную яркость. Затем вернуться обратно в RGB. |
| Тут 2 очевидных псевдонаучных |
Тут 2 очевидных псевдонаучных варианта: PS. Наплевать, если картинка "уехала" между экспозициями: "II" как-нибудь сопоставит. |
| Да, большинство камер не идут |
Да, большинство камер не идут ни в какое сравнение с S5Pro :-( |
| Если вы уведете блики (и, тем |
Если вы уведете блики (и, тем более, источники света в кадре) в воспроизводимую область (путем уменьшения экспозиции) - вы потеряете весь остальной снимок. |
| Артефакты - это то, чего не |
Артефакты - это то, чего не было перед камерой. Они являются или браком, или творческим замыслом. |
| Потеря информации до |
Потеря информации до обработки не может быть браком обработки. |
| Еще раз - увод канала в |
Еще раз - увод канала в насыщение - это не артефакты, это особенность поведения цифрового сенсора (с резким насыщением). Блики - в большинстве случаев будут давать насыщение, контровик - во многих случаях. А дальше - возникает проблема правильной обработки этого дела. Ну то есть информация (частично) утеряна, можно дальше резать и ту, что еще не утеряна (ACR, Default), можно что-то придумывать на этом месте. |
| Вот и я так думаю. |
Вот и я так думаю. |