Bonjour tout le monde ! Here is lebeau
I generate a patch file from CHDK Shell, based on trunk 1054 (revision), relative to my "working copy".
I tested it on my A650.
Here is the resume of my change:
----------- brand new dng.c
= speed optimization
= addition of the Canon masked area (to evaluate noise without black framing)
= addition of some other available DNG tags (e.g.: lens info, focal plane resolution, ... usefull in adobe profile)
// = thumbnail creation based on YCbCr instead of RGB (faster)
= !!! RGB thumbnail creation from viewport YCbCr, since YCbCr was interpreted as RGB for non-Adobe software
= create DNG static data at startup and update dynamic data at capture time (faster)
= save a visual raw file when creating bad pixel bin file (a new star system is born
)
++++++++++++++++++++++++++++++++++++++++++++++
These are change that could be impact post-dng process like DNG4PS2
+const int cam_BaselineExposure [ ] = { 0, 1 } instead of ={-1,2};
+const int cam_BaselineSharpness [ ] = { 1, 1 } instead of ={4,3};
+const int cam_Resolution [ ] = { 300, 1 } instead of ={180,1};
These macros were added in camera.h file to permit ...
+#if defined CAM_MASKED_AREA_X1
+const int cam_MaskedArea [ ] = { CAM_MASKED_AREA_Y1, CAM_MASKED_AREA_X1, CAM_MASKED_AREA_Y2, CAM_MASKED_AREA_X2 };
+#endif
+#if defined CAM_ANTI_ALIAS_STRENGTH
+const int cam_AntiAliasStrength [ ] = { CAM_ANTI_ALIAS_STRENGTH };
+#endif
+#if defined CAM_FOCAL_PLANE_RESOLUTION_X
+const int cam_FocalPlaneResolutionX [ ] = { CAM_FOCAL_PLANE_RESOLUTION_X };
+const int cam_FocalPlaneResolutionY [ ] = { CAM_FOCAL_PLANE_RESOLUTION_Y };
+#endif
+#if defined CAM_COLORMATRIX2
+const int cam_ColorMatrix2 [ 9 * 2 ] = { CAM_COLORMATRIX2 };
+#endif
+#if defined CAM_FORWARDMATRIX
+const int cam_ForwardMatrix [ 9 * 2 ] = { CAM_FORWARDMATRIX };
+#endif
+#if defined LENS_INFO
+const int cam_LensInfo [ ] = { LENS_INFO };
+#endif
++++++++++++++++++++++++++++++++++++++++++++++
----------- revisit raw.c
= speed optimization
= new explicit dng creation sequence (no more intricated)
= active area bad pixel patching (faster)
----------- revisit motion_detector.c
= speed optimization
= add "wait-stability" option which, at startup, delay motion detection until 25% of user threshold is reached
= launch an immediate shoot as soon as a detection cell is encounter, returning the cell index location as return value
= on immediate shooting, md_get_cell_diff return the diff value of the triggering cell
= !!! I fix the calculation of RGB, using (Cb-128 and Cr-128), like histogram does correctly !!!
----------- revisit histogram.c
= speed optimization
= replace half sampling (123) with full sampling (123456)
I didn't program C since long time ago and don't know how to deliver to things but I pack a rar file in case you would be interested to hadd my change into next release.
Slow download, so be patient
lebeau_1054_change_2011_02_11.rar - 0.29MBIf I could do something else ... I would be please to contribute.
Lebeau
P.S.1: My DNG use YCrCb as thumbnail !!! but revert to viewport RGB since other soft see it as RGB
P.S.2:Since I had to understanding viewport, I optimize motion detector and then histogram. RAW was modified to move dng things into dng module and raw things to raw module. Sorry but that's why all these changes are altogether
Moderator edit: followup discussion here: http://chdk.setepontos.com/index.php?topic=6110.msg60927#msg60927