Добрый день,
Подскажи те пожалуйста, а есть ли возможность отменить процесс dcraw_process()? Похоже, что метод setCancelFlag() работает только во время распаковки.
Виктор
все про обработку RAW-изображений
Уважаемые посетители! Данный сайт сохранен из исторических соображений, чтобы накопленный контент не пропал. Актуальные версии LibRaw размещаются теперь только на английской версии сайта
Добрый день,
Подскажи те пожалуйста, а есть ли возможность отменить процесс dcraw_process()? Похоже, что метод setCancelFlag() работает только во время распаковки.
Виктор
Тут бардак.
Тут бардак.
dcraw_process() останавливается через progress callback: http://www.libraw.su/docs/API-CXX-rus.html#progress - старый интерфейс
А распаковка - через setCancelFlag() (атомик) - новый интерфейс.
Со временем, но наверное, cancelFlag начнет работать и в dcraw_process, например кто-нибудь это напишет. Опенсорс же.
Отлично, так тоже сойдет и
Отлично, так тоже сойдет и работает.
Тут, если интересно, такая
Тут, если интересно, такая история:
dcraw_process(), особенно если с наворотами и на большом файле, - медленная.
А unpack(), ну может быть если не на 50Mpix-кэноне - ну достаточно быстрая, чтобы ее не останавливать, пока unpack() одна. Поэтому коллбека там нет, было не надо (ну и звать callback часто - тоже обидно по перформансу)
Но вот когда unpack()-ов много и в фоне и в отдельных потоках - понадобился интерфейс для остановки.
(а dcraw_process() вот лично я не пользуюсь совсем)