Add new comment

Not really seeing this change at my end

Alex,
I am not really seeing this behaviour on Windows. I am attaching three screenshots from VS debugger.

color struct after unpack()

+		cam_mul	0x000000fbf3763464 {2.08979583, 1.00000000, 1.78397214, 0.00000000}	float[4]
+		pre_mul	0x000000fbf3763474 {2.35568857, 1.00068939, 1.55817533, 0.00000000}	float[4]
+		cmatrix	0x000000fbf3763484 {0x000000fbf3763484 {1.60388803, -0.595357001, -0.00853104331, 0.00000000}, 0x000000fbf3763494 {...}, ...}	float[3][4]
+		ccm	0x000000fbf37634b4 {0x000000fbf37634b4 {0.00000000, 0.00000000, 0.00000000, 0.00000000}, 0x000000fbf37634c4 {...}, ...}	float[3][4]
-		rgb_cam	0x000000fbf37634e4 {0x000000fbf37634e4 {1.00000000, 0.00000000, 0.00000000, 0.00000000}, 0x000000fbf37634f4 {...}, ...}	float[3][4]
+		[0]	0x000000fbf37634e4 {1.00000000, 0.00000000, 0.00000000, 0.00000000}	float[4]
+		[1]	0x000000fbf37634f4 {0.00000000, 1.00000000, 0.00000000, 0.00000000}	float[4]
+		[2]	0x000000fbf3763504 {0.00000000, 0.00000000, 1.00000000, 0.00000000}	float[4]
-		cam_xyz	0x000000fbf3763514 {0x000000fbf3763514 {0.00000000, 0.00000000, 0.00000000}, 0x000000fbf3763520 {0.00000000, ...}, ...}	float[4][3]
+		[0]	0x000000fbf3763514 {0.00000000, 0.00000000, 0.00000000}	float[3]
+		[1]	0x000000fbf3763520 {0.00000000, 0.00000000, 0.00000000}	float[3]
+		[2]	0x000000fbf376352c {0.00000000, 0.00000000, 0.00000000}	float[3]
+		[3]	0x000000fbf3763538 {0.00000000, 0.00000000, 0.00000000}	float[3]

params struct before dcraw_process

+		gamm	0x000000fbf373f288 {0.41666666666666669, 12.920000000000000, 0.0000000000000000, 0.0000000000000000, ...}	double[6]
+		user_mul	0x000000fbf373f2b8 {0.00000000, 0.00000000, 0.00000000, 0.00000000}	float[4]
		shot_select	0	unsigned int
		bright	1.00000000	float
		threshold	0.00000000	float
		half_size	0	int
		four_color_rgb	0	int
		highlight	0	int
		use_auto_wb	0	int
		use_camera_wb	1	int
		use_camera_matrix	1	int
		output_color	1	int
+		output_profile	0x0000000000000000 <NULL>	char *
+		camera_profile	0x0000000000000000 <NULL>	char *

color struct after dcraw_process()

+		cam_mul	0x000000fbf3763464 {2.08979583, 1.00000000, 1.78397214, 0.00000000}	float[4]
+		pre_mul	0x000000fbf3763474 {2.08979583, 1.00000000, 1.78397214, 1.00000000}	float[4]
+		cmatrix	0x000000fbf3763484 {0x000000fbf3763484 {1.60388803, -0.595357001, -0.00853104331, 0.00000000}, 0x000000fbf3763494 {...}, ...}	float[3][4]
-		ccm	0x000000fbf37634b4 {0x000000fbf37634b4 {0.00000000, 0.00000000, 0.00000000, 0.00000000}, 0x000000fbf37634c4 {...}, ...}	float[3][4]
+		[0]	0x000000fbf37634b4 {0.00000000, 0.00000000, 0.00000000, 0.00000000}	float[4]
+		[1]	0x000000fbf37634c4 {0.00000000, 0.00000000, 0.00000000, 0.00000000}	float[4]
+		[2]	0x000000fbf37634d4 {0.00000000, 0.00000000, 0.00000000, 0.00000000}	float[4]
-		rgb_cam	0x000000fbf37634e4 {0x000000fbf37634e4 {1.00000000, 0.00000000, 0.00000000, 0.00000000}, 0x000000fbf37634f4 {...}, ...}	float[3][4]
+		[0]	0x000000fbf37634e4 {1.00000000, 0.00000000, 0.00000000, 0.00000000}	float[4]
+		[1]	0x000000fbf37634f4 {0.00000000, 1.00000000, 0.00000000, 0.00000000}	float[4]
+		[2]	0x000000fbf3763504 {0.00000000, 0.00000000, 1.00000000, 0.00000000}	float[4]
-		cam_xyz	0x000000fbf3763514 {0x000000fbf3763514 {0.00000000, 0.00000000, 0.00000000}, 0x000000fbf3763520 {0.00000000, ...}, ...}	float[4][3]
+		[0]	0x000000fbf3763514 {0.00000000, 0.00000000, 0.00000000}	float[3]
+		[1]	0x000000fbf3763520 {0.00000000, 0.00000000, 0.00000000}	float[3]
+		[2]	0x000000fbf376352c {0.00000000, 0.00000000, 0.00000000}	float[3]
+		[3]	0x000000fbf3763538 {0.00000000, 0.00000000, 0.00000000}	float[3]

My workflow is:
open_file()
unpack()
// Set params
dcraw_process()
dcraw_make_mem_image()

Is this something to do with how the library is compiled?

Regards,
Dinesh