int dcraw_main (int argc, const char **argv);
}
+static int dcraw_run(int argc, const char **argv)
+{
+ static Mutex dcraw_lock;
+ dcraw_lock.lock("dcraw_run");
+ int result = dcraw_main(argc, argv);
+ dcraw_lock.unlock();
+ return result;
+}
FileCR2::FileCR2(Asset *asset, File *file)
: FileList(asset, file, "CR2LIST", ".cr2", FILE_CR2, FILE_CR2_LIST)
0
};
- int result = dcraw_main(argc, argv);
+ int result = dcraw_run(argc, argv);
//printf("FileCR2::check_sig %d %d\n", __LINE__, result);
// 0
// };
//
-// int result = dcraw_main(argc, argv);
+// int result = dcraw_run(argc, argv);
// if(!result) format_to_asset();
//
// return result;
0
};
- int result = dcraw_main(argc, argv);
+ int result = dcraw_run(argc, argv);
if(!result) format_to_asset();
printf("FileCR2::read_frame_header %d %d\n", __LINE__, result);
dcraw_data = (float**)frame->get_rows();
//Timer timer;
- int result = dcraw_main(argc, (const char**) argv);
+ int result = dcraw_run(argc, (const char**) argv);
// This was only used by the bayer interpolate plugin, which itself created
// too much complexity to use effectively.