Свежие комментарии

Title Comment
Я на эту тему долго думал и

Я на эту тему долго думал и решил так

1) std::exception я ловлю, потому что оно и от LibRaw_datastream (моей) может прилететь (точнее от стримового IO, который там внизу) ну и пользователь, который сам что-то имплементировал (поверх Libraw_abstract_datastream) на стандартной библиотеке - может быть не в курсе исключений.

2) А если у пользователя в его реализации I/O что-то свое, личное - то пусть сам и ловит. Все одно, нормально обработать его исключения я не могу, а значит не моя это проблема.

ну тогда ловить нужно вообще

ну тогда ловить нужно вообще всё catch(...) - прийти от пользователя ведь что-угодно может, а выпускать наружу, как я понял нельзя

2-3) ясно, то есть ловятся не

2-3) ясно, то есть ловятся не только свои, но и чужие bad-alloc, но в этом случае ловить нужно абсолютно всё catch(...)


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

естественно - либо то, либо то. я не говорю что нужны и коды возврата и исключения

Точнее, bad_alloc вообще до

Точнее, bad_alloc вообще до кучи появилась.
А избежать (возможных) ексепшенов в IO-layer (который может быть подменен пользователем) - через nothrow все едино нельзя.

1) Внутри библиотеки - два

1) Внутри библиотеки - два раза на изображение (в котором десятки миллионов пикселов). Если что и оптимизировать, то лучше ljpeg-декодер.

2-3) никто не гарантирует, что в своей имплементации datastream имплементирующий сделает nothrow. А new - скорее всего сделает.

И, аналогично, пользователь библиотеки не должен писать catch, если ему даются коды возврата. И не пишут, ловля std::bad_alloc появилась именно из за таких.

1) в смысле как часто? если

1) в смысле как часто? если часто, то эту chain можно преобразовать
2) Почему? Возможные проблемы с ABI?
3) раз exceptions нежелательны, то например есть nothrow new: http://www.cplusplus.com/reference/std/new/nothrow/
char* p = new (nothrow) char [1048576];
имхо более эстетично, чем делать new прям в try/catch(std::bad_alloc)

1) Первый вопрос не понял. 2)

1) Первый вопрос не понял.

2) Да, смешаны. Но exceptions как интерфейс библиотеки - я в гробу видел. А кода написать мне не жалко.

Дык говорю же, OpenCL-код тестировать (и профайлить). На AMD

Дык говорю же, OpenCL-код тестировать (и профайлить). На AMD и NVidia.

Ну да, mini-ITX-материнка. А питальник, поди, SFX. Но увели

Ну да, mini-ITX-материнка. А питальник, поди, SFX.

Но увеличив объем вдвое - стандартные компоненты влезут.

src/libraw_cxx.cpp пара

src/libraw_cxx.cpp
пара вопросов :
1. LibRaw::get_decoder_info не часто вызывается?
2. смешаны exceptions и return codes - в итоге приходится заниматься и тем и тем. зачем? Ведь для C-api есть libraw_c_api.cpp, сюда и можно напихать try/catch

PS: а зачем вторая видяха-то ?

PS: а зачем вторая видяха-то ?

дык оно вообще всё "кастом" - материнка какя-то левая, слото

дык оно вообще всё "кастом" - материнка какя-то левая, слотов расширения нет вовсе и даже БП собран "он боард" + водяное отопление охлаждение.

...но компоновка любопытная, да-с.

Ну вот по смыслу - я примерно вот этого хочу: http://www.ixb

Ну вот по смыслу - я примерно вот этого хочу: http://www.ixbt.com/news/hard/index.shtml?15/94/37
Но вдвое больше по объему (33x33x20 было бы в самый раз) и со второй видяхой.

<b>>> Да, странного - потому что идея что 3.5" не нужны еще

>> Да, странного - потому что идея что 3.5" не нужны еще не проникла в мозги. <<
Правда, что ли ?? :-))

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

>> ...Конечно, при таком расположении БП в верхнем-заднем (для башни) углу ставится отдельный вентилятор на выдув... <<
Ну да, и никто не ставит "напротив БП пучок" приводов... и "10-12 отсеков под 3-5" у них получаются "автоматически", причём если присмотреться, то это "отсеки" не под приводы, а под вентиляторы.

в общем, непонятно чего ты колбасишься и чего хочешь, но выглядит забавно ,-)

P.S. 0.15 переехала в github из 0.15-unstable в master.

P.S. 0.15 переехала в github из 0.15-unstable в master.

На текущий момент (до импорта свежей dcraw), из существенног

На текущий момент (до импорта свежей dcraw), из существенного:
- возможность поканального задания уровней черного
- Только в Win32: LibRaw::open_file (wchar_t *) т.е. возможность открывать файлы, имя которых задано в виндовой уникодной кодировке.
- 'Sony ARW2 hack' - возможность выключить деление на 4 для данных, раскодируемых из Sony ARW2.
- проковыряны дырки (сделаны вызовы), чтобы наиболее медленные фазы постпроцессинга можно было пере-имплементировать в производном классе более быстрым способом (SSE, многопоточность).

Все сделано для RawDigger, вестимо

А что есть в 0.15 нового?

А что есть в 0.15 нового?

Если используется libraw.so.5 - то катит. Если сложнее - то

Если используется libraw.so.5 - то катит.
Если сложнее - то не катит :)

А вот вопрос дурацкий: "требуйте обновления LibRaw у авторов

А вот вопрос дурацкий: "требуйте обновления LibRaw у авторов соответствующего софта" - то есть просто либу обновить для поддержки новых форматов не катит?

Ну вот к примеру AHD:

Ну вот к примеру AHD: строится приблизительная homogenity map, и значение компонента берется (с бОльшим весом) с той стороны, которая более гомогенная. А где именно будет синий пиксел справа от текущего синего - через один или через полтора - какая хрен разница.

С ложными же цветами - шансов попасть в строго вертикальную/горизонтальную полосатость с шагом в пиксел - на практике немного.

Нет, проблема не в

Нет, проблема не в этом.

Проблема в том, что когда очередной Canon в очередной раз поменяет способ распаковки sRAW - он никому об этом не скажет. И надо будет лезть отладчиком в DPP и смотреть как там и что.

На этом фоне странный код - он как раз в культурной традиции таких людей.

И с ложными цветами, как я

И с ложными цветами, как я понял -- в любой горизонтали и вертикали есть все цвета.

Ну, мне казалось, что продвинутые алгоритмы интерполяции зависят от того, в какой позиции друг к другу расположены ближайшие нужные пиксели. Нет?

Проблема в том, что Коффин

Проблема в том, что Коффин завтра может под машину попасть. И вероятность, что кто-то разгребёт ЭТО, больше всего похожее на какую-то кодогенерацию из другого языка в стиле JavaScript, не так велика. Был бы нормально структурированный код -- была бы выше.

А в каком смысле "не байера"?

А в каком смысле "не байера"? Там паттерн размером 6x6, повторяющийся. А в других камерах бывает 8x2, а у Leaf CatchLight - 16x16. А в каждом пикселе одно значение, а еще 2(3) не хватает, надо интерполировать. Не вижу разницы.

А паттерн такой, на мой взгляд, не для "демозаика", а для борьбы с муаром.

Что-то я не видел, чтобы хоть

Что-то я не видел, чтобы хоть кто-то это пытался поддерживать, пусть даже в очевидных местах. А сам Коффин - поддерживает. Ну и прекрасно.

Или в цитсире нашлась PhD по

Или в цитсире нашлась PhD по такому паттерну со всеми алгоритмами, на основе которой Фуджи это и придумала, взяв на работу автора? :)))

Я не очень понимаю этой цели,

Я не очень понимаю этой цели, если мы не на Хаос Констракшене.
Мне кажется, поддерживаемость кода -- первыше всего. Ну, если это не в ушерб уж совсем скорости. А сколько там кода -- какая разница?

Гы! На самом деле, оно очень

Гы!

На самом деле, оно очень клево написано в том смысле что компактность превыше всего.
RawSpeed, к примеру, в полтора раза больше кода, вдвое меньше список камер и только распаковка, без постпроцессинга.

А там будут работать те же

А там будут работать те же алгоритмы демозаика? А будет ли при этом выигрыш от не-баера? Ведь оно там яко бы для более удобного и хорошего демозаика такое странное.

Не-байер там ацкий и именно

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

С фовеоном же - внезапно в dcraw появилась поддержка DPx и SD15

Pages

Subscribe to comments_recent_new