Save movie crop upon start up

Started by youshouldtry11, October 03, 2018, 10:19:59 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Walter Schulz

To avoid further misinterpretations:
a1ex linked some builds for testing (which I used)
https://www.magiclantern.fm/forum/index.php?topic=22874.msg207798#msg207798
and  dfort has downloads named Movie_crop_mode_test.

Following a1ex's test 1 I tested both builds with 650D.104:
Build a1ex: Nope, crop mode off after opening/closing card lid.
Build dfort: Yes, crop mode on after opening/closing card lid.

I suppose we may be able avoiding going round in circles by mentioning the builds  we are actually using.

So, which way to go? Clockwise or other way round?

Danne


dfort

Ok--let's try to figure this out. There is another user, @Felipe, who posted some test results on the Canon 650D / T4i topic.

On the unified branch (a.k.a. "stable" or "Nightly") and some of the experimental branches there is a line of code that is intended to turn off Movie crop mode. Why? Because users were freaking out when they switch to a non Magic Lantern card. The camera seems to be "stuck" in Movie crop mode. Note that Movie crop mode is only valid in 1920x1080 mode and simply switching to 1280x720 or 640x480 will get the camera out of this mode. So, the expected behavior on all cameras that can do Movie crop mode (EOSM, 100D, 650D, 700D) is for the camera to never be "stuck" in this mode.

However, if you use Movie crop mode regularly it would be nice not to have to keep resetting it every time you start the camera by saving the state of Movie crop mode in a settings file. That is what pull request #787 is intended to do.

Ok, so all this works great on the EOSM but--there is a problem with the 700D. The theory is that the way the power switch is configured on the 700D (and 100D, 650D as well) is that it switches from movie mode to photo mode before switching off. Well, turns out you can't switch off Movie crop mode from photo mode, the camera has to be in movie mode. The result is that on shutdown the code that turns off Movie crop mode doesn't work.

Now let's look at the build that a1ex provided for testing. A neat trick is to open autoexec.bin in a text editor to see the details about this build:

Magic Lantern Nightly.2018Oct31.650D104
Camera   : 650D
Firmware : 104
Changeset: 565ee36ef132+ (100D_merge_fw101) tip
Built on : 2018-10-31 16:15:32 by jenkins@nightly

diff -r 565ee36ef132 src/debug.c
--- a/src/debug.c Tue Jun 05 18:26:37 2018 +0200
+++ b/src/debug.c Wed Oct 31 17:15:32 2018 +0100
@@ -275,8 +275,13 @@
}
#endif

+extern void movie_crop_hack_disable();
+
static void run_test()
{
+    msleep(2000);
+    movie_crop_hack_disable();
+    NotifyBox(5000, "movie crop disabled");
}

static void unmount_sd_card()
diff -r 565ee36ef132 src/tasks.c
--- a/src/tasks.c Tue Jun 05 18:26:37 2018 +0200
+++ b/src/tasks.c Wed Oct 31 17:15:32 2018 +0100
@@ -372,9 +372,6 @@
static void ml_shutdown()
{
     check_pre_shutdown_flag();
-#ifdef FEATURE_CROP_MODE_HACK
-    movie_crop_hack_disable();
-#endif
     ml_shutdown_requested = 1;
     
     info_led_on();


The code to disable Movie crop mode on shutdown has been removed and a test to run the movie_crop_hack_disable() function was added to the debug "Don't click me" menu.

So if the power switch theory holds true then the only test that a1ex told us to run that would turn off Movie crop mode is this one:

Quote from: a1ex on October 31, 2018, 05:19:40 PM
Test 4:
- start camera in movie mode, make sure crop mode is enabled
- stay in movie mode
- select "Don't click me" (this will call movie_crop_hack_disable)
- restart camera from power switch; is crop mode still enabled?

In fact that's what my test results showed. Note that the question for each test is, "is crop mode still enabled?" so the expected result on test 4 is "No."

In all of Walter's 650D tests using the a1ex test build, Movie crop mode was not persistent after restarting the camera so all of his test results were "No." That wasn't expected.

Ok--so what about that shutdown code that is supposed to turn of Movie crop mode, is that working on the 650D? We have some test results for that because the builds I posted runs movie_crop_hack_disable() as a shutdown task:

Quote from: Walter Schulz on November 03, 2018, 07:31:32 PM
Build dfort: Yes, crop mode on after opening/closing card lid.

Quote from: Felipe on November 01, 2018, 06:12:03 PM
When I turn off the camera in crop mode and turn it on again remains in crop mode,Fantastic Function. Thank you!!

Wait--this is opposite of the expected behavior! It appears that movie_crop_hack_disable() turned on Movie crop mode.

[EDIT] Or rather, the reports on my build are inconsistent with what we are seeing on the 700D.

Just for completeness, here are the tests run on the 700D showing the expected results.


Felipe

Great Daniel, The 100D Does the same, But does not stay in crope mode when the battery door opens to change battery and then close it.
As well doesn't work when I change the sd card.
Same happens with the 650D Versión 105.

The 2 cameras keep the crop mode only when the camera is turned off from the switch and then turned on. Fantastic!!.

Also the cropmode can be disabled from the Canon Menu for both cameras.

Of course if I take out the sd card the camera does not stay in crop mode.
650D-700D

dfort

@Felipe - could you please run the tests exactly like a1ex described them using the builds provided in Reply #44 for both the 650D and 100D? Make sure to list the results of each test separately.

Note that on the 700D only test #4 turns off Movie crop mode.

Danne

Quote from: a1ex on October 31, 2018, 05:19:40 PM
Try this: https://builds.magiclantern.fm/jenkins/view/Experiments/job/crop_mode_test/ (for 100D, 700D and 650D)

Test 1:
- start camera in movie mode, enable crop mode
- restart camera by opening card door and closing it back; is crop mode still enabled?

Test 2:
- start camera in movie mode, enable crop mode
- restart camera from power switch; is crop mode still enabled?

Test 3:
- start camera in movie mode, make sure crop mode is enabled
- enter photo mode from the power switch (outside LiveView)
- select "Don't click me" (this will call movie_crop_hack_disable)
- restart camera from power switch; is crop mode still enabled?

Test 4:
- start camera in movie mode, make sure crop mode is enabled
- stay in movie mode
- select "Don't click me" (this will call movie_crop_hack_disable)
- restart camera from power switch; is crop mode still enabled?

Test 5:
- start camera in movie mode, enable crop mode
- turn off camera by opening the card door
- remove the card and reboot; crop mode still enabled?
- can you disable crop mode from Canon menu? any special tricks needed?

Eos 100D
Test 1: YES
Test 2: YES
Test 3: YES
Test 4: NO(Movie crop mode is disabled the moment I press don´t click me even before the restart)
Test 5: YES to crop mode still enabled after removing the card.
The trick to disable Movie crop mode does not work when going from 24 to 25 fps
The trick to disable Movie crop mode works when going from 24 to 50 fps

Sidenote: I would like to add removing the battery to the bag of tricks to disable a "stuck in Movie crop mode" scenario like in Test 5.
EDIT: Pulling the battery includes turning the nob also to OFF or else you really are "stuck" in Movie mode even without battery. Card door disablers beware  8).

a1ex

Pretty much like 700D.

When I tried to disable crop mode from Canon's touch-screen menu, I did so by pressing Q, then tapping on the video mode resolution icon. That one worked out of the box.

I did not mention battery door in the above tests, as I highly doubt anyone turns off the camera from there, unless it's already locked up. Canon firmware considers it an "emergency" shutdown; it's much more aggressive than opening the battery door (some notes in the QEMU readme).

In the crop_rec_4k branch, I'm actually preventing Canon firmware from saving their own settings when turning off the camera by opening the battery door (though, my trick only covers settings handled by the main CPU, not the ones sent over to the MPU; crop mode setting is from the second group).

dfort

Quote from: a1ex on November 04, 2018, 08:53:03 AM
When I tried to disable crop mode from Canon's touch-screen menu, I did so by pressing Q, then tapping on the video mode resolution icon. That one worked out of the box.

I was wondering how you were doing that.

700D in Movie crop mode


Press Q button


Note that it highlights 1920/30. I don't want to change settings so I'll touch the 1920/24 icon.


We're out of Movie crop mode!

Quote from: a1ex on November 04, 2018, 08:53:03 AM
In the crop_rec_4k branch, I'm actually preventing Canon firmware from saving their own settings when turning off the camera by opening the battery door (though, my trick only covers settings handled by the main CPU, not the ones sent over to the MPU; crop mode setting is from the second group).

Ok--so it won't help Movie crop mode but it looks like we could help out by looking up stubs for other cameras.

https://bitbucket.org/hudson/magic-lantern/pull-requests/825/prevent-canon-settings-from-being-saved/diff

5D3 stubs for reference:
NSTUB(0x23F4C,     terminateShutdown_save_settings)
NSTUB(0x23F50,     terminateAbort_save_settings)


Getting back to the problem at hand:

Quote from: a1ex on October 28, 2018, 07:21:56 PM
Therefore, why not keep things simple and accept the persistence of crop mode as implemented by Canon? That means, I'm tempted to undo pull request 776.

I agree. Only the EOSM works properly with that so until something that also works for 100D, 650D and 700D is found we should go back to the simple solution.

[EDIT] In QEMU it is possible to switch between move and photo modes, right? I take it that this isn't possible on the real hardware? What I was thinking was to switch to movie mode before running movie_crop_hack_disable() on shutdown.

a1ex

Quote from: dfort on November 04, 2018, 05:43:08 PM
[EDIT] In QEMU it is possible to switch between move and photo modes, right? I take it that this isn't possible on the real hardware? What I was thinking was to switch to movie mode before running movie_crop_hack_disable() on shutdown.

Switching to movie mode caused issues in the past, including ERR70 in my 60D in the movie mode switched from ML (but not in the native movie mode). For that reason, I've decided to remove the movie mode remap feature, even if it apparently worked just fine for a lot of users.

Mode switching is a pretty complex process; I'd like to keep things simple. Shutdown is not simple either.

Still looking for tests on 650D.

dfort

Quote from: Danne on November 04, 2018, 07:31:34 AM
Sidenote: I would like to add removing the battery to the bag of tricks to disable a "stuck in Movie crop mode" scenario like in Test 5.
EDIT: Pulling the battery includes turning the nob also to OFF or else you really are "stuck" in Movie mode even without battery. Card door disablers beware  8).

Pulling the battery doesn't get the 700D out of Movie crop mode. Could you give us the exact steps you are using on the 100D?

Danne

Turn off the camera with the switch, then pull out the battery. Put the battery back in, set your camera to on.

Walter Schulz


a1ex

Covered, but conflicting with the reports from Felipe (unless I'm misunderstanding them).

Walter Schulz

Got confused before, too.
But Felipe runs 105 software and didn't use your build. No conflict so far.

a1ex

I've got that, but he says the crop mode setting is saved. Based on your reports, I cannot explain how the crop mode is saved on his camera, unless he's using a custom build from Danne (which I highly doubt).

I also doubt there is any difference between the two firmware versions, regarding this setting.

Walter Schulz

Using dfort's build (for 104) I think I get the same results as Felipe.

Using your build: No crop mode after restart at all. Not confirmed by a 2nd 650D owner, though.

dfort

The results from the 650D tests on Reply #47 are inconsistent with the 100D and 700D tests. @Walter -- are you 100% sure of those results? You are saying that the 650D never gets "stuck" in Movie crop mode after a restart?

The tests results from @Felipe are not reported clearly. The report from the 1.0.5 firmware shows the same results as the 700D which is that movie_crop_hack_disable() on shutdown works when opening the card door but not with a normal shutdown using the power switch.

Note that the build @a1ex wants us to use for testing doesn't even have movie_crop_hack_disable() enabled on shutdown.

I deleted the test builds on my downloads page--make sure to use the builds a1ex posted.

Walter Schulz

Quote from: dfort on November 04, 2018, 08:37:28 PM
You are saying that the 650D never gets "stuck" in Movie crop mode after a restart?

I'm now pretty sure I did everything to the book.
Yes, using a1ex's build for 650D.104 I get *no* persistent crop mode for tests 1 to 5.
Using a1ex's build for 100D I get persistent crop mode for test 1 (none other tested). Using your build for 650D.104 I get persistent crop mode for test 1, too.
Stopped testing right there and waiting for further instructions.

dfort

Quote from: a1ex on October 31, 2018, 05:19:40 PM
Test 1:
- start camera in movie mode, enable crop mode
- restart camera by opening card door and closing it back; is crop mode still enabled?

Quote from: Walter Schulz on November 04, 2018, 08:49:19 PM
Using a1ex's build for 100D I get persistent crop mode for test 1

Hey Walter, so you have a 100D? Great--that is what is expected with the a1ex test build. Running that same test on a current vanilla unified build should get the 100D out of Movie crop mode.

Quote from: Walter Schulz on November 04, 2018, 08:49:19 PM
...using a1ex's build for 650D.104 I get *no* persistent crop mode for tests 1 to 5.

Understood but it breaks the logic. The 100D and 700D test results are consistent.

If you run the 100D and 650D tests side by side you should get the same results.

Felipe

Now the 650D  v105 stays in crop mode when I turn it off , when take out the battery and when I take off the card,
and can be disabled with the Estándar Canon menú.

THE REASON IS I always erase all the modules since I don't use them, but Noticed that having the crop_rec.mo as well as always with the 650D_105.sym.
The camera stays in crop mode.


650D-700D

Felipe

- YESSS THE KEY for total satisfaction with the V105 650D is to use the crop_module included in the dfort build oct 19.

- The 100D is missing that module, that is why only holds crop when turning it off from the switch.

- Tryed to copy de crop_module from the 650D to the modules folder of the 100D and does not work as the 650D.


650D-700D

Walter Schulz

Quote from: dfort on November 04, 2018, 09:32:31 PM
If you run the 100D and 650D tests side by side you should get the same results.

Read it from my lips: I have them side by side and I *do not* get same results. Using a1ex's builds.
Repeated Test 1 and 650D does not go into crop mode after restart. 100D does.
Awaiting instructions.

EDIT: Contacted saulbass via PN and asked to run tests on his 650D.

dfort

Quote from: Walter Schulz on November 04, 2018, 11:07:35 PM
I have them side by side and I *do not* get same results. Using a1ex's builds.

Are your 100D results the same as Danne's?

It isn't that I can't read your lips--well maybe I can't.  :P

Quote from: Felipe on November 04, 2018, 10:20:35 PM
- YESSS THE KEY for total satisfaction with the V105 650D is to use the crop_module...

What we are testing has nothing at all to do with the crop_module. We're talking about the Movie crop mode, a.k.a. CROP_MODE_HACK that allows the EOSM, 100D, 650D and 700D to use a feature that only the 600D had. Here's an article about that 600D feature:

https://www.filmkit.net/article/why-the-3x-crop-mode-on-the-canon-600d-is-invaluable

It looks like the few 650D users that are willing to run these tests are also attracted to the 1.0.5 firmware update that I worked on. I uploaded a test build for the 650D.105 that is the same as the test build that a1ex posted. It is on my Bitbucket downloads page.

@Felipe - Please make sure to follow the instructions exactly and report the results of each of the 5 tests. It would be great if you can run them on both the 650D and 100D to see if you get the same results that Danne got on the 100D and Walter got on the 650D.


Felipe

No dfort none of the crop new features work in this build.
The Oct 19 build Everything Works perfect .
Deleted the crop module from the oct 19 build and Works perfect, YES I thought was the module but has nothing to do.

650D-700D

Felipe

Please make the 100D with the same code or whatever it is from October 19.
Holds cropping turning off from the camera switch, Changing the battery and changing the card.
Can be disabled from the Canon menú and from ML Menu. And again has nothing to do with the crop module that I deleted and
the crop new features are totally functional.
650D-700D