Focus Peaking in x5/x10 LiveView modes?

Started by vtrandal, August 21, 2012, 01:47:33 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

vtrandal

I'm mostly interested in landscape photography at the moment. I believe focus peaking at x5 and x10 magnification will result in better manual focus results for me. As a simple test, reading a street sign a block away is not easily done without this.

In a previous thread in the support area for early downloads Alex explained there's a global flag that blocks all LiveView overlays in x5 (and I also assume x10) modes.

So then showing peaking in x5 modes can be done? But there's a global flag that blocks all LiveView overlays in such modes. Hmmm ... Focus Peak is in the overlay menu. So then I don't understand how it can be done.

Anyway, I want to do this and I would appreciate any help or pointers that I could get as I begin experimenting with a 600D/T3i. It appears that most or all the Focus Peak feature is implemented in zebra.c file, but I really have no idea where to begin at the moment.

1%

Unset the flag in 5x/10x mode? Don't know what will happen. I haven't looked at the LV stuff yet but in 3x mode all of the overlays work.

How good are you at assembly and C?

First step would be reading the wikia/getting FW dump/dissasembling.

vtrandal

Quote from: 1% on August 21, 2012, 02:38:30 AM
Unset the flag in 5x/10x mode? Don't know what will happen. I haven't looked at the LV stuff yet but in 3x mode all of the overlays work.

How good are you at assembly and C?

First step would be reading the wikia/getting FW dump/dissasembling.

I should add a couple things to my original post with which I started this thread:
1. My simple test photo of a street sign a block away is done with a 50mm lens on a 600D/T3i which has a 1.6 crop factor. Thus the effective focal length is 80mm. So it's still relatively small at x10 zoom and would greatly benefit from Focus Peak.
2. The street sign down the block sits atop a stop sign which exhibits considerable sharp contrast and focus artifacts at x10 zoom. This is the first time I have seen this happen and it was nice. But not all subjects I would like to focus on are going to behave this way. Thus, I still want Focus Peak in x5/x10 zoom.

As for my technical skills I think I'm still pretty good with C and assembly. I made my living for 25 years as a firmware developer. But I have not programmed much in the last few years.

Since ML is already working on the 600D/T3i (except for audio, no?) what is the purpose of getting a firmware dump and disassembling it? Would I be the first one to try to do anything in x5/x10 zoom?

1%

ML mostly calls functions and sets things in the firmware so that is the place to look. Not all of the camera is figured out, especially on new cameras like 600D (which has audio now).

vtrandal

Quote from: 1% on August 21, 2012, 07:11:15 AM
ML mostly calls functions and sets things in the firmware so that is the place to look. Not all of the camera is figured out, especially on new cameras like 600D (which has audio now).

Yes, I understand analyzing a dump is fundamental to ML development. But I am mainly interested in extending Focus Peak to work in x5/x10 zoom. To that end I have found some interesting reading here http://magiclantern.wikia.com/wiki/Focus_Assist

I haven't yet found how to get a dump and the tools for analyzing it yet. But I will keep looking.

a1ex

Focus peaking is done in livev_hiprio_task - which does not run in 5x modes.

If you comment out the call to is_zoom_mode_so_no_zebras(), all overlay tools will work in zoom mode (but this makes little sense IMO).

To get only focus peaking, you will have to let the loop run in zoom mode, but only display focus peaking (and block the others, like histograms and top/bottom bars).

vtrandal

Quote from: a1ex on August 21, 2012, 05:32:15 PM
Focus peaking is done in livev_hiprio_task - which does not run in 5x modes.

If you comment out the call to is_zoom_mode_so_no_zebras(), all overlay tools will work in zoom mode (but this makes little sense IMO).

To get only focus peaking, you will have to let the loop run in zoom mode, but only display focus peaking (and block the others, like histograms and top/bottom bars).

Alex, this is awesome. I can't thank you enough for pointing me in the right direction here. I understand you feel this makes little sense, and I may come to feel that way too. But I want to give this a try and see how it works. Thanks!

EDIT #13: I made a quick change to is_zoom_mode_so_no_zebras() to always return 0, and I'm having fun playing with Focus Peak in x5 zoom. But in x10 zoom I'm noticing focus peaking for x5 zoom on the x10 zoom. I suppose that is somehow related to the fact that "Focus peaking is done in livev_hiprio_task - which does not run in 5x modes" as you stated above? Or am I confused? Also, in both x5/x10 zoom there's a lot of random blue and yellow dots that disappear when focus is achieved and blinking red dots appear. Any idea why?