Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - milank

#1
I confirm the steps you described, but the problem persists.
Seems like the only new mlvfs.exe is suffering, as dokanctl.exe is running fine as well.
So giving up for now, will survive with mlvdump for the time being.
Thank you, anyway.
#2
ok, let's start again.
I meant this thread, starting from working previous version of mlvfs.exe.
Downloading new mlvfs.exe, installing DokanSetup_redist, rebooting.
While previous version (11.2.2016) still working, new version results in APPCRASH when executing without arguments. Therefore no link to whatever MLV file.
Uninstalling 0.8 (win32) dokany does not help. Digging in ProcMon, I see no significant difference comparing both versions.
MVC++2015_redist_x64 installed. Disabling AV does not help.
#3
Win7_x64, and following procedure described in the first post. Carefully restarting after each step in addition. No matter what arguments I supply, I get APPCRASh shortly after calling it.
What environment did you use for compiling it?
#4
After trying everything in this thread, I must say that mlvfs on steroids is broken on Win7_x64, as reported earlier here.
The executable keeps crashing, and the Esset AV activity has no effect on this.
The previous version works like a charm :(
#5
Modules Development / Re: Full-resolution silent pictures
September 09, 2016, 03:50:14 PM
the same test with MLV is similar:

....
raw update from shoot_task
Photo raw buffer: 86028f8 (5936x3950)
Skip left:138 right:2 top:80 bottom:0
active area: x=138..5934, y=80..3950
lv2raw sx:8203 sy:8221 tx:152 ty:88
raw2lv test: (-1,-1) - (722,482)
  should be: (0,0) - (720,480)
raw2bm test: (-1,-1) - (722,482)
  should be: (0,0) - (720,480)
bm2raw test: (152,88) - (5919,3941)
  should be: (138,80) - (5934,3950)
Black check 1/5: 8173...347.29, ref 2047...6.87, delta=6126
Black 1/5: mean too different (8173, ref 2047...6.87)
Save configs...

Enabled DNG diag output results in the same error 70:

ASSERT: GetMemoryAddressOfMemoryChunk( GetFirstMemChunk( pMem1AllocateListItem->hMemSuite ) ) == pMessage->pAddress
at SrmActionMemory.c:1505, task RscMgr
lv:0 mode:4


....
srm_malloc_suite(1)...
srm buffer #1: 42000064
srm_malloc_suite => 10edb0
srm_free_suite(10edb0)
srm_malloc_suite(0)...

#6
Modules Development / Re: Full-resolution silent pictures
September 09, 2016, 02:21:34 PM
I have put raw debug on:

#define RAW_DEBUG        /* define it to help with porting */
#define RAW_DEBUG_DUMP   /* if you want to save the raw image buffer and the DNG from here */
#define RAW_DEBUG_BLACK  /* for checking black level calibration */

The console.log after two BULB shots (1min and 25s):

...
raw update from shoot_task
Photo raw buffer: 86028f8 (5936x3950)
Skip left:138 right:2 top:80 bottom:0
Resolution changed: 0x0 -> 5936x3950
active area: x=138..5934, y=80..3950
lv2raw sx:8203 sy:8221 tx:152 ty:88
raw2lv test: (-1,-1) - (722,482)
  should be: (0,0) - (720,480)
raw2bm test: (-1,-1) - (722,482)
  should be: (0,0) - (720,480)
bm2raw test: (152,88) - (5919,3941)
  should be: (138,80) - (5934,3950)
Black check 1/5: 8316...0.00, ref 2047...6.75, delta=6269
Black 1/5: mean too different (8316, ref 2047...6.75)
Save configs...
raw update from shoot_task
Photo raw buffer: 86028f8 (5936x3950)
Skip left:138 right:2 top:80 bottom:0
active area: x=138..5934, y=80..3950
lv2raw sx:8203 sy:8221 tx:152 ty:88
raw2lv test: (-1,-1) - (722,482)
  should be: (0,0) - (720,480)
raw2bm test: (-1,-1) - (722,482)
  should be: (0,0) - (720,480)
bm2raw test: (152,88) - (5919,3941)
  should be: (138,80) - (5934,3950)
Black check 1/5: 7980...382.40, ref 2047...6.77, delta=5933
Black 1/5: mean too different (7980, ref 2047...6.77)
Save configs...

If I try to save the DNG for debug purposes (using if(0) => if(1)), I receive Error 70.
#7
Modules Development / Re: Full-resolution silent pictures
September 09, 2016, 07:56:52 AM
ok, solved.
Image did not save due to "stdev too large" message (failed autodetect_black_level()), for which I have no clue. Dark images do not have this problem.
Finally working bulb FRSP 5D3.113:

bulb_end_addr = 0x25294;
capture_err_time_addr = 0xFF1BF358;
frsp_tv_addr = 0x280;

Entire DIFF you find on https://bitbucket.org/milank/ml-frsp-long-expo/branch/BULB%20dial%20test#diff.
#8
Modules Development / Re: Full-resolution silent pictures
September 06, 2016, 11:08:21 PM
Some progress with dedicated BULB dial like 60D, 5D3 etc...with help of Greg.
Extending search range for frsp_tv_shutter to 1000 instead of 256 shows two offsets for 5D3.113 - 0x280 and 0x282.
Therefore:

-static uint8_t frsp_tv_addr = 0;
+static uint16_t frsp_tv_addr = 0;

Using 0x280 enables the bulb exposure (3 min max tested), but the image does not get saved onto the card, for some reason.
#9
Modules Development / Re: Full-resolution silent pictures
September 01, 2016, 10:33:27 PM
I have made some more tweaking, to get the module working also in dedicated bulb mode:

@@ -145,5 +145,5 @@
         MENU_APPEND_VALUE(", DNG");
     }
     
-    if (silent_pic_mode == SILENT_PIC_MODE_FULLRES && (shooting_mode != SHOOTMODE_M || is_movie_mode()))
+    if (silent_pic_mode == SILENT_PIC_MODE_FULLRES && ((shooting_mode != SHOOTMODE_M && shooting_mode != SHOOTMODE_BULB) || is_movie_mode()))
     {
@@ -149,5 +149,5 @@
     {
-        MENU_SET_WARNING(MENU_WARN_NOT_WORKING, "Full-res pictures only work in Manual (M) photo mode.");
+        MENU_SET_WARNING(MENU_WARN_NOT_WORKING, "Full-res pictures only work in Manual (M) or Bulb (B) photo mode.");
     }
     
     silent_pic_check_mlv(entry, info);
@@ -1175,5 +1175,5 @@
     
     char* error_msg = 0;

-    if (shooting_mode != SHOOTMODE_M)
+    if (shooting_mode != SHOOTMODE_M && shooting_mode != SHOOTMODE_BULB)
     {
@@ -1179,6 +1179,6 @@
     {
-        error_msg = "Manual (M) mode is required.";
-        goto err;
+     error_msg = "Manual (M) or Bulb (B) mode is required.";
+     goto err;
     }

     if (prop_iso == 0 || prop_shutter == 0)
@@ -1242,7 +1242,7 @@
      * and creates a "job" object (CreateSkeltonJob)
      */
     void* job = (void*) call("FA_CreateTestImage");
-   
+
     if (prop_shutter == SHUTTER_BULB || (shooting_mode == SHOOTMODE_BULB && frsp_tv_addr))
     {
         /* some cameras reset the cache fake after FRSP, we need it again */
@@ -1257,8 +1257,19 @@
         /* cameras with SHOOTMODE_BULB need fake SHUTTER_BULB */
         if (shooting_mode == SHOOTMODE_BULB && frsp_tv_addr)
         {
-            ASSERT(*(uint8_t*)(job + frsp_tv_addr) == prop_shutter);
-            *(uint8_t*)(job + frsp_tv_addr) = SHUTTER_BULB;
+          printf("job: %x\n", job);
+          printf("prop_shutter: 0x%x\n", prop_shutter);
+
+          for (int i = 0; i < 256; i++)
+          {
+               if(prop_shutter == *(uint8_t*)(job + i))
+               {
+                    printf("FA_CreateTestImage Tv Addr : 0x%x\n", i);
+               }
+          }
+
+          ASSERT(*(uint8_t*)(job + frsp_tv_addr) == prop_shutter);
+          *(uint8_t*)(job + frsp_tv_addr) = SHUTTER_BULB;
         }
         
         delayed_call(bulb_time * 1000, bulb_stop, 0);
@@ -1281,7 +1292,7 @@
      * and available from RAW_PHOTO_EDMAC (defined in raw.c)
      */
     call("FA_CaptureTestImage", job);
-   
+
     int t1 = get_ms_clock_value();
     int capture_time = t1 - t0;

@@ -1481,5 +1492,5 @@
     if (!silent_pic_enabled)
         return 0;

-    /* fullres silent pics only work in M mode,
+    /* fullres silent pics only work in M or B mode,
      * and they may screw up things if triggered while recording. */
@@ -1485,5 +1496,5 @@
      * and they may screw up things if triggered while recording. */
-    if (silent_pic_mode == SILENT_PIC_MODE_FULLRES && (shooting_mode != SHOOTMODE_M || is_movie_mode()))
+    if (silent_pic_mode == SILENT_PIC_MODE_FULLRES && ((shooting_mode != SHOOTMODE_M && shooting_mode != SHOOTMODE_BULB) || is_movie_mode()))
         return 0;

     static int silent_pic_countdown;
@@ -1664,6 +1675,14 @@
         frsp_tv_addr = 0x64; // cameras with SHOOTMODE_BULB need fake SHUTTER_BULB
     }
     
+    if (is_camera("5D3",  "1.1.3"))
+    {
+        bulb_end_addr = 0x25294;
+        capture_err_time_addr = 0xFF9BF358;
+        frsp_tv_addr = 0x78; // cameras with SHOOTMODE_BULB need fake SHUTTER_BULB
+     }
+
+
     /* cache fake "ERROR Take Semaphore" time in "FA_CaptureTestImage" */
     /* 20 seconds to (15 + 1) minutes */
     if (bulb_end_addr && capture_err_time_addr)

But on my 5D3.113, it fails to find (http://www.magiclantern.fm/forum/index.php?topic=12523.msg168625#msg168625) correct frsp_tv_addr (both bulb timer ON and OF).
Therefore it always ends up with ASSERT.
#10
Is anybody successful with dedicated BULB dial?
Silent module in fullres seems to be active only in shooting_mode == SHOOTMODE_M
#11
OK let's continue with 5D3.113. Based on the above description where to look:
Quote
ff14aab0:    e28f2f86    add   r2, pc, #536   ; ff14acd0: (42736373)  *"scsBulbEnd"
ff14aab4:    e20000ff    and   r0, r0, #255   ; 0xff
ff14aab8:    e3a01003    mov   r1, #3
ff14aabc:    eb3aec33    bl   loc_5b90
ff14aac0:    e51f0460    ldr   r0, [pc, #-1120]   ; ff14a668: (00025280)
ff14aac4:    e3a01001    mov   r1, #1
ff14aac8:    e5801014    str   r1, [r0, #20]
and
Quote
ff1bf440:    e28f20dc    add   r2, pc, #220   ; ff1bf524: (435f4146)  *"FA_CaptureTestImage(hJob:%#lx)"
...
ff1bf4b8:    e51f1168    ldr   r1, [pc, #-360]   ; ff1bf358: (00004e20)
I already tried the following with no success:
Quote
        bulb_end_addr = 0x25294;
        capture_err_time_addr = 0xff1bf358;   // or 0xff9bf358
        frsp_tv_addr = 0x64; // or 0x78 as indicated by A1ex for 60D
BTW memory locations in the code look prety similar to 60D.111
Any feedback what could be wrong?
#12
QuoteTry 0xff085b14
If this does not work, try 0xff885b14
How exactly did you reach this idea?
Is the offset 0x800000 general for all cameras?
#13
Did you succeed with "make" alone?
If not, try to modify ARM_PATH path in your Makefile.user:
ARM_PATH=/usr
#15
Quote
Would it be possible to create those sidecar files with the script instead of another Plugin for another software?
Exiftool is able to do that.
#16
Quote
When applying the script to CR2 files instead of DNGs the ramping is working as expected when inported into AE (except colour temperature like mentioned above). I assume AE needs the sidecar files for some reason, otherwise it applies the settings of the first frame to the entire sequence. I can't verify that because I don't know how to create .xmp files when processing DNG files.
Yes, this is well known issue. I am used to create xmp files using LightRoom rc_xEmP plugin. which works fine, and AE accepts them.
However, the workflow gets somehow complex and I am still looking for easier one.
Either having XMP files directly generated by dmilligan script or to figure out how to avoid ACR processing in AE.
Premiere would be better choice, but it does not seem to understand DNG produced by ML silent module.
DNG->TIFF conversion would be a choice, too.
#17
Just tried with both silent-fullres-triger and bolt_raw with negative result.
So there must be something in addition inside native Canon button press code, which does the keepalive.
The only case of breaking the 30' limit I am aware of, has been the FPS override (non raw) video recording. However, with the raw (MLV) video recording, the limit came back again, for some reason.
#18
Quote
A physical keypress resets the timer, but a software emulated key press likely doesn't.
Correct, confirmed.
Fot those who want to try, function
module_send_keypress(MODULE_KEY_PRESS_RIGHT);
has no effect on the timer. Would be interesting anyway to have the trigger rather in fully unassisted mode, especially for bolt shooting.
#19
Just tested with bolt_raw module, there is a timer set at 30', after that time, the trigger exits and LV is restored.
A key press resets the timer (I used right and left buttons).
This could mean if we can periodically emulate the key press within the trigger task loop, we can go over 30' limit in the silent-trigger module too.

#20
nice bolts :) just ordered B&W ND64 filter for daytime fullres-silent shooting, can't wait :)
#21
The buttons - yes - it worked as you wrote, I also try to find the way how to reproduce it - so far it was random.
The sticky HS: is there a way to run the trigger for more than 30' ?
My primarily reason why I am interested in this is to understand the code and to be able to make my own modifications.
Thefore standalone binaries are not much exciting :)
#22
@mk11174: looks great! I however noticed strange behaviour like working arrow buttons outside trigger code until restart. Also I am still missing how to run sticky HS along with full-res trigger code, would you mind sharing the code as suggested? Udating your repo would be fine.
#23
Quote from: maxchen on August 06, 2014, 01:19:04 PM
fullres --> no
simple --> yes
Also make sure the picture Quality in Canon menu is set to RAW
#24
Quote from: dmilligan on August 05, 2014, 08:11:01 PM
LIMITATIONS
yes, I am aware of this, realizing this is not EOS LV, but fullres silent raw preview. While instantly using ND8 and exposure override, I obviously have no other possibilities how to avoid overexposure during daytime.
#25
Finally some success, only Quick review helped. However, preview is heavily overexposed, shutter and apperture seems to have no effect on that in all modes. Current stays at 13583, delta=0. Still daylight here now, will update when I get night sky whether I get some other values too.