Canon 100D / SL1

Started by nikfreak, October 19, 2015, 10:41:29 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

IDA_ML

Hello A1ex,

I have also briefly tested your build from today (Feb. 02) and here is some feedback and a few problems that I found:

1) The silent module works very well with uncompressed DNGs (31 MB files), also IS works with stabilized lenses and the Delayed trigger mode is great! For me, this is one of the most useful ML photo features, especially when combined with Dual ISO.  Perfect for hand held low-light landscape photography. At 1/4-th to 1/13-th of a second I can now take several silent shots of a scene and most of the time, at least one of them comes out perfectly sharp!  Thank you so much!

However,  there is a problem with the losslessly compressed DNGs (18 MB files).  After taking a picture, a message "RAW compression error: -2" or similar appears on the screen and the file does not get recorded, although it appears on the screen.

Another known problem with the silent module is that it does not allow proper aperture control on some more recent lenses.  I tested with the EF 24/2.8 IS and the EF 35/2 IS and am able to close the aperture just by 2/3 of a stop, beyond F18. 

2) The raw_tweak module does not work.  When active, it affects the operation of all video modes.  It does not even operate if activated just to view previously recorded 10/12-bit uncompressed files.  Either it should be fixed in such manner that it only playbacks such files in the RAW-video mode and is completely unlinked from other functions or it should be removed all together.  I had to deactivate it to continue with the tests.  In this case, when an attempt is made to playback 10/12-bit uncompressed files, a black screen with a working frame counter is observed.

3) The RAW video (MLV) mode does not work properly even with the raw_tweak module deactivated.  Recording a clip in the normal or Movie Crop Mode requires several times restarting the camera and battery pulls.  Successfully recorded clips are fine though and have even sound recorded but this instability makes it impossible to work with this mode.  For this reason, I think that the RAW video (MLV) mode is redundant now.  The only thing that it does better than the MLV_lite (RAW video) module is the smooth frame counter.  I think, it also provides a few more frames recorded at the UNcompressed bit depths before buffer gets full but this needs more extensive testing, so I am not sure about this.

4) I am not sure if the Crop mode (3x3 720p) works correctly.  When activated, a white area (about 30% of the screen) appears at the bottom of the Life View area.  It also gets recorded as a .MOV file in this way.  When also RAW-video is activated together with this Crop mode, the white area at the bottom is also seen but when recording is started a "RAW detect error" message appears on the screen and nothing gets recorded.  Maybe this Crop mode feature should be greyed out if 60 fps in the Canon Menu is not activated ???   

EDIT 1:  I am sorry, I forgot to activate 60 fps in the Canon Menu.  The Crop mode (3x3 720p) works correctly now, without the white area at the bottom.  Thanks, Danne!

====================================================

EDIT 2:  The above tests were made with the following build found on the Experimental page:

magiclantern-crop_rec_4k.2018Feb02.100D101

Danne

crop_mode works without white border when selecting mv720p mode.
Think mlv_rec is still around since A1ex mentions generic audio solutions in mlv_lite :).

OlRivrRat

                     @IDA_ML

       Is  > "the following build found on the Experimental page: magiclantern-crop_rec_4k.2018Feb02.100D101"

The 1 that Alex posted He uploaded?
ORR~DeanB  ~~  80D-ML  &  SL1+ML  &  5D2+ML  &  5DC+ML  &  70D+ML(AliveAgain)

IDA_ML

Quote from: OlRivrRat on February 02, 2018, 09:20:26 PM
                     @IDA_ML

       Is  > "the following build found on the Experimental page: magiclantern-crop_rec_4k.2018Feb02.100D101"

The 1 that Alex posted He uploaded?

There is only one build with this name on the Experimental page and you will find it under "4K raw video recording; lossless compression"

OlRivrRat

      @IDA_ML

   I had already found that 1 as I scout those Nooks&Crannys a few times each day. Was wondering, though, if that is

the 1 that Alex was referring to in Reply #1096.

   Did Simple Test of 2 02Feb18 Builds to see if FRSP + Intervalometer would Save an MLV to Disc & They both Did.

Builds were >

   magiclantern-Nightly.2018Feb02.100D101audio

   magiclantern-crop_rec_4k.2018Feb02.100D101

1 Small "unexpected" did occur > Set "Stop after" to 8 shots & only 7DNGs came out of the MLV .

         Thanks Much, by the way, for All You are doing to improve ML ~
ORR~DeanB  ~~  80D-ML  &  SL1+ML  &  5D2+ML  &  5DC+ML  &  70D+ML(AliveAgain)

a1ex

Quote from: IDA_ML on February 02, 2018, 06:11:58 PM
4) I am not sure if the Crop mode (3x3 720p) works correctly.  When activated, a white area (about 30% of the screen) appears at the bottom of the Life View area.  It also gets recorded as a .MOV file in this way.  When also RAW-video is activated together with this Crop mode, the white area at the bottom is also seen but when recording is started a "RAW detect error" message appears on the screen and nothing gets recorded.  Maybe this Crop mode feature should be greyed out if 60 fps in the Canon Menu is not activated ???   

EDIT 1:  I am sorry, I forgot to activate 60 fps in the Canon Menu.  The Crop mode (3x3 720p) works correctly now, without the white area at the bottom.  Thanks, Danne!

Can you guys try this patch? On 5D3, this option does nothing to 1080p and only has effect when you switch to 720p. You can freely switch back and forth between the two modes.


diff -r 8717b89f558f modules/crop_rec/crop_rec.c
--- a/modules/crop_rec/crop_rec.c Fri Feb 02 10:59:18 2018 +0100
+++ b/modules/crop_rec/crop_rec.c Fri Feb 02 23:35:59 2018 +0100
@@ -522,9 +522,12 @@ static void FAST cmos_hook(uint32_t* reg
         switch (crop_preset)
         {
             case CROP_PRESET_3x3_1X:
-                /* start/stop scanning line, very large increments */
-                cmos_new[7] = PACK12(6,29);
-                break;           
+                if (is_720p())
+                {
+                    /* start/stop scanning line, very large increments */
+                    cmos_new[7] = PACK12(6,29);
+                    break;
+                }
         }
     }

@@ -702,7 +705,7 @@ static void FAST adtg_hook(uint32_t* reg
         return;
     }

-    if (is_5D3 && !is_720p())
+    if (!is_720p())
     {
         if (crop_preset == CROP_PRESET_3x3_1X ||
             crop_preset == CROP_PRESET_3x3_1X_48p)


There seems to be a safeguard for the movie crop mode; I have no idea how well it works. Ideally, this option should not interfere with this crop mode, or with photo mode; it should only affect 720p (and should allow you to freely switch between video modes with crop_rec enabled).

Sounds like basic stuff, but it took me some hours to fiddle on 5D3 (and there are still quirks I don't know how to solve).

IDA_ML

Hello 100D users,

Today is a dream come true day for me.  Thanks to the talent and systematic efforts of our developers Dfort, Danne and A1ex, my 100D finally works as I always wanted it to work.  I have just tested my favorite photo function - single FRSP which now works with delayed (2s) triggerring to minimize hand shake and engages the image stabilizer of IS lenses during picture taking.  For people like me that are too lazy and reluctant to carry a tripod, this function can save you in low-light situations where you have no other choice but take your photos hand held. 

Here are the results of my first attempts:













The above pictures were taken with the EF 24/2.8 IS lens at F2.8 and 0.5 s. exposure time and basic ISO 200 hand held.  Since it was pretty dark outside, the correct exposure time would have been 2s. but there is no way that you can avoid camera shake at such long exposure time even if IS is on.  That is why I decided to use Dual ISO 200/1600 and dial back the exposure to 0.5 s.  I took 4 pictures of each of the three scenes (a total of 12 shots) and selected the sharpest ones.  As you see the photos are not perfectly sharp, especially the third one from top but they are usable.  So, the concept works!

a1ex

For 0.5 seconds it's quite good.

The 100D has 3 full-res image buffers outside LiveView, so I could capture 3 images, then save them together. 5D3 has "only" 5 buffers. Would that help?

IDA_ML

Quote from: a1ex on February 02, 2018, 11:52:37 PM
For 0.5 seconds it's quite good.

The 100D has 3 full-res image buffers outside LiveView, so I could capture 3 images, then save them together. 5D3 has "only" 5 buffers. Would that help?

Good question, A1ex.  I really don't know.  I always take a deep breath before pressing the shutter button, so I guess, this breath will have to last 3 times longer.  Only tests can prove if this would help or not.  If you add this option to the silent module menu I would be glad to test.

Danne

diff -r 8717b89f558f modules/crop_rec/crop_rec.c
--- a/modules/crop_rec/crop_rec.c Fri Feb 02 10:59:18 2018 +0100
+++ b/modules/crop_rec/crop_rec.c Fri Feb 02 23:35:59 2018 +0100
@@ -522,9 +522,12 @@ static void FAST cmos_hook(uint32_t* reg
         switch (crop_preset)
         {
             case CROP_PRESET_3x3_1X:
-                /* start/stop scanning line, very large increments */
-                cmos_new[7] = PACK12(6,29);
-                break;           
+                if (is_720p())
+                {
+                    /* start/stop scanning line, very large increments */
+                    cmos_new[7] = PACK12(6,29);
+                    break;
+                }
         }
     }

@@ -702,7 +705,7 @@ static void FAST adtg_hook(uint32_t* reg
         return;
     }

-    if (is_5D3 && !is_720p())
+    if (!is_720p())
     {
         if (crop_preset == CROP_PRESET_3x3_1X ||
             crop_preset == CROP_PRESET_3x3_1X_48p)


Tried the patch but entering crop_mode yields unaltered liveview(still mv1080p mode) while crop_rec selected.

The problem is in mv1080p mode with crop_rec enabled. Liveview doesn´t fill up as with 5D mark III with that specific crop_rec view but leaves a big portion of white. Once in mv720p hte image is ok for crop_rec:

OlRivrRat

                     @IDA_ML

           Lookin pretty mighty fine, Especially for .5S HandHeld. You can improve Your Stability if You

Take a Deep Breath & then Exhale Half of it.
ORR~DeanB  ~~  80D-ML  &  SL1+ML  &  5D2+ML  &  5DC+ML  &  70D+ML(AliveAgain)

a1ex

@Danne: so... did the patch work? (compare to 5D3)

It's not meant to turn the 1080p mode into 720p.

Danne

It works for mv1080p leaving it alone with crop_rec enabled but we are now getting a greyed out area at the top instead when selecting mv720p :):

Samples: https://bitbucket.org/Dannephoto/magic-lantern/downloads/M03-0929_samples.zip


Tried it on an eosm and it seems a little better. WHen selecting mv720p it goes into crop_rec but touching focus button make some border appear. Like some registry is interfering. When releasing the button things go back to normal. This seems to be an issue with 14bit lossless, not so much with 8-11bit.

canneloni

It might be a problem on my side, but it seems like the behavior of the Q/SET Button changed again. It's now the same way as on stock, if I press it, I immediately get into the quick settings instead of having to press it for 2 seconds. This makes auto ettr not functional, since with the new method of FRSP i can't really use double click half shutter.

Am I missing something here or did it change for everyone?
100D.100B ; Canon 18-55 STM ; Canon 50 1,8 II ; Canon 75-300 4,0 - 5,6 III ; Sigma 17-50 2,8

a1ex

Startup log showing the button codes, please, so I can try it in QEMU.

canneloni

I downloaded the test build, but the SET button works different then in your latest crop_rec build. In the test build it works like before, i have to hold the set button for 2 seconds to get into the quick settings menu and therefore can use auto ettr. I'm not sure if the log helps and if i tested this correctly but either way you'll find the log as an attachment.

https://drive.google.com/file/d/1vKTzjteB_0v96HVHI-LiciSaEGWD7gVd/view?usp=sharing
100D.100B ; Canon 18-55 STM ; Canon 50 1,8 II ; Canon 75-300 4,0 - 5,6 III ; Sigma 17-50 2,8

a1ex

Unfortunately, the log doesn't cover the full startup process (512K is not enough). Are you able to compile the source and fiddle with it (either by increasing the log size, or by dropping the first set of messages)? If not, I'll do that later.

(I could revert the change, but that would leave the 100D as the only "odd" model with things implemented in a different way in the source code).

BTW, the Q button changes come from the Lua builds, see the call for testers; would be nice if you could run the tests as well (as I'm not just looking for logs, but for overall state of the build, to know whether it's ready for mainline or not).

If you can compile, here's a quick patch to try, just for the Q/SET button (it will break the submenus, but I want to know what this does to the quick settings menu):

diff -r 6ba20efdf364 platform/100D.101/gui.h
--- a/platform/100D.101/gui.h
+++ b/platform/100D.101/gui.h
@@ -31,3 +31,3 @@
#define BGMT_LV 0x1E
-#define BGMT_Q 0x24 // using Av for ML submenus
+#define BGMT_Q 0x1D


Still, the result of this test does not remove the need for getting the above logs (as I have no idea what events are sent by the MPU for this button).

canneloni

Unfortunately I'm not able to compile yet (although I will look into that again). I will also have a look at your lua test, if i have time.

In the meantime I experimented a bit more with FRSP and found something interesting (might be common knowledge already, but it's news to me): If I use dof preview button (the one right next to the lens) it triggers the shutter for FRSP and if I push it twice very fast i can change the aperture for FRSP on my EF-S 24mm 2.8 to what ever aperture i want. I tested it with Dannes latest build but will give it another try with yours, a1ex, to see if it makes any sense with the delayed shutter you implemented.

Edit: Did the test with latest crop_rec Build from a1ex and did not really get it to work the same way. I do get an image but it's very very dark and i can only see the overlays on some areas of the picture. I also get a "raw error" message output at the top left of the corner.
100D.100B ; Canon 18-55 STM ; Canon 50 1,8 II ; Canon 75-300 4,0 - 5,6 III ; Sigma 17-50 2,8

a1ex

If you need help compiling, watch this video.

Please try this patch as well (on top of either crop_rec_4k or 100D_merge_fw101):

diff -r 2dae7e4b896f -r d1ccbe0b2177 platform/100D.101/gui.h
--- a/platform/100D.101/gui.h
+++ b/platform/100D.101/gui.h
@@ -31,2 +31,3 @@
#define BGMT_LV 0x1E
+#define BGMT_Q_SET 0x1D
#define BGMT_Q 0x24 // using Av for ML submenus
diff -r 2dae7e4b896f -r d1ccbe0b2177 src/menu.c
--- a/src/menu.c
+++ b/src/menu.c
@@ -5453,3 +5453,3 @@
     /* triggers Q-menu by a long press on the combined q/set button */
-    if (event->param == BGMT_Q)
+    if (event->param == BGMT_Q_SET)
     {
[code]

nikfreak

100D is complicated regarding q/set button functionality. It all depends on CFn setting 0:Quick screen and its behaviour changes if you switch Cfn to a value between 1 and 5. In that case the set button becomes first and Q-functionality gets lost.  It even accepts fake values:

https://bitbucket.org/hudson/magic-lantern/pull-requests/716/generic-functions-for-some-cfn-parameters/diff#comment-17972541

took me days to figure out the one and only working solution (ettr, resetting focus box to mid in LV...) and I would vote for a revert in addition to using cfn_get_setbtn_assignment();
Otherwise it wouldn't be fool-proof but really, it has to be 0:Quick screen for ML and nothing else   :P

https://bitbucket.org/hudson/magic-lantern/pull-requests/757/adding-support-for-the-eos-100d-sl1/diff#chg-src/menu.c
[size=8pt]70D.112 & 100D.101[/size]

a1ex

Already got it working in QEMU - managed to emulate the old behavior (before my Q changes) by guessing the MPU button code, but that is probably valid only for the default CFn setting.

In QEMU there are two button events: for Q (press only) and for SET (press/unpress, space key). According to nikfreak, the GUI events for bringing the quick control screen are: BGMT_Q, BGMT_Press_Set, BGMT_Unpress_Set (in this order). If I try to press the two keys very quickly, I can trigger the Q menu only if the two are pressed nearly at the same time. If there are even 0.1 seconds between the two, it interprets the sequence as two different button presses (and brings the white balance dialog).

If I use just BGMT_Q paired with BGMT_Unpress_Set, the long-press behavior from ML gets emulated properly (because our code doesn't look at the SET event; just at Q and UNPRESS_SET). The quick control screen also comes up in Canon UI, so I've used that for my tests. I still want the logs to understand how it actually works.

Updated the startup-log builds to use 2MB for logs on 100D and 70D. I may be able to allocate even more if you chime in on this test. Would be best to capture these logs with all these CFn settings (as the difference is likely made by the MPU behavior).

You may have to press the Q/SET button shortly after startup, to capture something; otherwise, 2MB might not be enough either. Don't enter LiveView - that's 10 times more verbose.

canneloni

So I tested the updated startup-log Build a1ex and only used the Q/Set button and the "back" error on the touchscreen to get out of the quick menu again. It works like before, i have to push the button ~2 Seconds to get into the menu, otherwise nothing happens.

Here is the Log:
https://drive.google.com/open?id=1IJ7n7hPcZ-y7k0M6HuX77jUOZYZUuPf6

I'll have a look at your other posts regarding test and see if I can help. In the meantime I installed ubuntu subsystem on Windows 10 and am able to compile ML, although i really can't to much more then copy/paste commands. I don't have any clue how to apply the patch you mentioned before. But hopefully i will learn :) Im thankful for any info/tutorial you can point me to.

Edit: Did the test with Q/Set Button in CFn 0 , other logs will come soon.
Edit2: Did test with all settings for Q/Set: https://drive.google.com/open?id=1aykPq2ekmUpe_FWEZRH6vL2qpm_XxTKy
100D.100B ; Canon 18-55 STM ; Canon 50 1,8 II ; Canon 75-300 4,0 - 5,6 III ; Sigma 17-50 2,8

a1ex

Thanks, these look good (warning: huge images, may crash some viewers; Y axis is time in tens of ms):

CFn0.png, CFn1.png, CFn2.png, CFn3.png, CFn4.png, CFn5.png.

While you are at it, can you log some touch-screen events as well? (outside LiveView, navigating Canon menus, quick control screen etc).

canneloni

Anything specific you want to be tested? I Just clicked inside the quick control and a bit in canon menus

https://drive.google.com/open?id=1RMd6qDjsfUV_ncwnPfJ82z6TZMw6QbvD
100D.100B ; Canon 18-55 STM ; Canon 50 1,8 II ; Canon 75-300 4,0 - 5,6 III ; Sigma 17-50 2,8

OlRivrRat

magiclantern-crop_rec_4k.18-02-04.100D101

   mlv_snd Module is present & activateable but Audio Tab/Page is Missing.
ORR~DeanB  ~~  80D-ML  &  SL1+ML  &  5D2+ML  &  5DC+ML  &  70D+ML(AliveAgain)