|
--- a/magic-lantern/modules/dual_iso/cr2hdr.c
|
|
+++ b/magic-lantern/modules/dual_iso/cr2hdr.c
|
|
@@ -60,6 +60,7 @@
|
|
|
|
/** Command-line interface */
|
|
|
|
+int process_method = 0;
|
|
int interp_method = 0; /* 0:amaze-edge, 1:mean23 */
|
|
int chroma_smooth_method = 2;
|
|
int fix_pink_dots = 0;
|
|
@@ -98,7 +99,13 @@
|
|
|
|
void check_shortcuts()
|
|
{
|
|
- if (shortcut_fast)
|
|
+ if (process_method == 1)
|
|
+ {
|
|
+ interp_method = 2;
|
|
+ chroma_smooth_method = 1;
|
|
+ gray_wb = 5;
|
|
+ }
|
|
+ else if (shortcut_fast)
|
|
{
|
|
interp_method = 1;
|
|
chroma_smooth_method = 0;
|
|
@@ -129,6 +136,13 @@
|
|
|
|
struct cmd_group options[] = {
|
|
{
|
|
+ "Processing methods", (struct cmd_option[]) {
|
|
+ { &process_method, 0, "--process", "Process Dual ISO compatible file (default)" },
|
|
+ { &process_method, 1, "--dry-run", "Only check file for Dual ISO presence" },
|
|
+ OPTION_EOL
|
|
+ },
|
|
+ },
|
|
+ {
|
|
"Shortcuts", (struct cmd_option []) {
|
|
{ &shortcut_fast, 1, "--fast", "disable most postprocessing steps (fast, but low quality)\n"
|
|
" (--mean23, --no-cs, --no-fullres, --no-alias-map, --no-stripe-fix, --no-bad-pix)" },
|
|
@@ -870,12 +884,12 @@
|
|
whites[num_files] = raw_info.white_level;
|
|
num_files++;
|
|
}
|
|
- else
|
|
+ else if (process_method != 1)
|
|
{
|
|
printf("ISO blending didn't work\n");
|
|
}
|
|
}
|
|
- else
|
|
+ else if (process_method != 1)
|
|
{
|
|
printf("Doesn't look like interlaced ISO\n");
|
|
}
|
|
@@ -2206,7 +2220,15 @@
|
|
double corr_ev = 0;
|
|
int white_darkened = white_bright;
|
|
int ok = match_exposures(&corr_ev, &white_darkened);
|
|
- if (!ok) goto err;
|
|
+ if (!ok)
|
|
+ {
|
|
+ goto err;
|
|
+ }
|
|
+ else if (ok && process_method == 1)
|
|
+ {
|
|
+ printf("Interlaced ISO detected\n"); /*. File: %s\n", filename);*/
|
|
+ return 0;
|
|
+ }
|
|
|
|
/* run a second black subtract pass, to fix whatever our funky processing may do to blacks */
|
|
black_subtract_simple(raw_info.active_area.x1, raw_info.active_area.y1);
|