Author Topic: Full-resolution silent pictures (silent.mo)  (Read 825980 times)

nikfreak

  • Developer
  • Hero Member
  • *****
  • Posts: 1197
Re: Full-resolution silent pictures
« Reply #500 on: March 13, 2015, 10:56:56 PM »
Yes that one works for 70D now, too.
*-button still takes the pic but AF-ON now focuses as it should and it's printing "Focusing...." on screen while pressing AF-ON
70D.112 & 100D.101

Licaon_Kter

  • Hero Member
  • *****
  • Posts: 519
  • M
Re: Full-resolution silent pictures
« Reply #501 on: March 15, 2015, 10:22:12 PM »
Works pretty good, but AF is triggered a few ms later than the half-shutter press event. So, I had to wait 4 LiveView frames, that is, about 0.13 seconds of extra shutter lag if you use autofocus.
Not working on my M1, I get a "Hold on..." and a unfocus silent picture is taken, that is using the * and any C.FnIV option.

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12564
Re: Full-resolution silent pictures
« Reply #502 on: March 15, 2015, 10:25:37 PM »
Boo. Can you print the values of lv_focus_status when focusing and when idle?

Licaon_Kter

  • Hero Member
  • *****
  • Posts: 519
  • M
Re: Full-resolution silent pictures
« Reply #503 on: March 16, 2015, 12:03:07 AM »
Boo. Can you print the values of lv_focus_status when focusing and when idle?
How do I do that?

In the mean time, I messed around silent.c, in line 1343 I got wait_lv_frames(4); bumped to 20, which gives me:
1. on a * single press -> "Hold on..." -> snaps pic (unfocused!)
2. on a * hold -> "Hold on..." flashes quickly-> "Focusing..." and it just sits here forever with LV on BUT it does AF as it should -> a half-shutter press or a single * press snaps a pic (FOCUSED!)

compare that with your code now at 4:
1. on a * single press -> "Hold on..." -> snaps pic (unfocused!)
2. on a * hold -> "Hold on..." flashes quickly-> "Half-shutter pressed..." is written on a black screen and it just sits here forever WITH the AF light on, and rising my finger off the * will snap a pic (unfocused!)

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12564
Re: Full-resolution silent pictures
« Reply #504 on: March 16, 2015, 12:32:32 AM »
You can print things with bmp_printf or NotifyBox, or simply printf.

The behavior after bumping sounds about right.

On 60D, when pressing AF-ON for about 1 second to focus, the behavior was like this:
- with 2 it worked in roughly 2/3 of situations (that is, it did not take a picture, but focused properly)
- with 3 it worked in most cases, but there were isolated cases (say 1 out of 10) where it took a picture instead of focusing
- with 4 it focused every time.

I think it's worth trying smaller values like 5 or 6.

About short presses, I'm not sure what I can do.

Licaon_Kter

  • Hero Member
  • *****
  • Posts: 519
  • M
Re: Full-resolution silent pictures
« Reply #505 on: March 16, 2015, 01:11:22 AM »
You can print things with bmp_printf or NotifyBox, or simply printf.
Right, I saw that in your code, I'll try.

I think it's worth trying smaller values like 5 or 6.
I'll do this next, at first I though I go up to 10 but then I wanted it to be really long just to be sure my 22mm (non-USM, non-IS) that I test with has time to hum along, now what I do what to know is at 20 it should take I picture by itself eventually or did I read this wrong? If so, how long it should take?

About short presses, I'm not sure what I can do.
Actually it's better now, having a way to AF is more important. Although I would still like a way to select other button ( like REC/INFO/SET/whatever ) and leave * alone only for AF, as far as I can see this should be possible by replacing get_half_shutter_pressed() with a custom get_silent_button() or something.


And another thing, on this branch now raw_rec and dual_iso modules fail to build:
Code: [Select]
Building module raw_rec...
Updated HGVERSION
[ README   ]   module_strings.h
[ CC       ]   raw_rec.o
[ MODULE   ]   raw_rec.mo
[ STRIP    ]   raw_rec.mo
[ EXPORTS  ]   raw_rec.sym
00001960 raw_video_enabled
00001988 raw_movie_filename
[ DEPENDS  ]   raw_rec.dep
Will load on:
    EOSM
Not checked (compile ML for these cameras first):
    1100D, 500D, 50D, 550D, 5D2, 5D3, 600D, 60D, 650D, 6D, 700D, 7D
[ GCC      ]   raw2dng
../../src/chdk-dng.c: In function ‘save_dng’:
../../src/chdk-dng.c:763:9: warning: implicit declaration of function ‘FIO_RemoveFile’ [-Wimplicit-function-declaration]
         FIO_RemoveFile(filename);
         ^
[ GCC      ]   raw2dng
[ GCC      ]   raw2dng
chdk-dng.o: In function `save_dng':
chdk-dng.c:(.text+0x17f8): undefined reference to `FIO_RemoveFile'
collect2: error: ld returned 1 exit status
Makefile:13: recipe for target 'raw2dng' failed
make[4]: *** [raw2dng] Error 1
and
Code: [Select]
Building module dual_iso...
Updated HGVERSION
[ README   ]   module_strings.h
[ CC       ]   dual_iso.o
[ MODULE   ]   dual_iso.mo
[ STRIP    ]   dual_iso.mo
[ EXPORTS  ]   dual_iso.sym
0000136c dual_iso_calc_dr_improvement
000013c4 dual_iso_set_enabled
000013e4 dual_iso_is_enabled
000013f4 dual_iso_is_active
00001414 dual_iso_get_dr_improvement
00001594 dual_iso_get_recovery_iso
000015b4 dual_iso_set_recovery_iso
[ DEPENDS  ]   dual_iso.dep
Will load on:
    EOSM
Not checked (compile ML for these cameras first):
    1100D, 500D, 50D, 550D, 5D2, 5D3, 600D, 60D, 650D, 6D, 700D, 7D
[ gcc      ]   cr2hdr
../../src/chdk-dng.c: In function ‘save_dng’:
../../src/chdk-dng.c:763:9: warning: implicit declaration of function ‘FIO_RemoveFile’ [-Wimplicit-function-declaration]
         FIO_RemoveFile(filename);
         ^
/tmp/ccAsd4aT.o: In function `save_dng':
chdk-dng.c:(.text+0x17f8): undefined reference to `FIO_RemoveFile'
collect2: error: ld returned 1 exit status
Makefile.cr2hdr:16: recipe for target 'cr2hdr' failed
make[4]: *** [cr2hdr] Error 1
i guess you need to add some defines in chdk-dng.c to the save_dng function to separate in camera and desktop modes since this commit https://bitbucket.org/hudson/magic-lantern/commits/9e99764f432025872286f87d5b7e10014061277f?at=fullres-silent-pics ?
Now, I believe raw_rec can be ignored as is superseeded by mlv_rec anyway, right?

/LE:
Got to build it with multiple values:
To work C.FnIV must be set as 1 or 3.
"Hold on..." has lv_focus_status=1
"Half-shutter pressed..." has lv_focus_status=1
"Focusing..." has lv_focus_status=3 when the lens is focusing and lv_focus_status=1 when idle, it jumps between these values as you change focus point and hold * again.
wait_lv_frames = 4 or 6 never gets to "Focusing..."
wait_lv_frames = 8 gets "Focusing..." sometimes
wait_lv_frames > 10 gets "Focusing..." every timeYou need to select a focus point or else it does not work, it took me a while to get this, being used with the Canon software since it has some sort of default point anyway. :D

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12564
Re: Full-resolution silent pictures
« Reply #506 on: March 16, 2015, 08:04:01 AM »
Quote
wait_lv_frames > 10 gets "Focusing..." every time

The value is higher than expected; does this mean there is a noticeable delay between pressing the button and focusing?

Another hypothesis: what FPS do you have in LiveView in photo mode? IIRC it's 60 on the EOS-M, and 30 on most other cameras.

Quote
every time you need to select a focus point or else it does not work

If you don't select a focus point, what happens? It stays on 1?

Good catch about compiling errors.

Licaon_Kter

  • Hero Member
  • *****
  • Posts: 519
  • M
Re: Full-resolution silent pictures
« Reply #507 on: March 16, 2015, 11:13:11 AM »
The value is higher than expected; does this mean there is a noticeable delay between pressing the button and focusing?
Not that I see, given the 22mm is slow(ish).


Another hypothesis: what FPS do you have in LiveView in photo mode? IIRC it's 60 on the EOS-M, and 30 on most other cameras.
How do I see the FPS?


If you don't select a focus point, what happens? It stays on 1?
Yep, behaves like wait_lv_frames = 4 does for me.


On another thought, I can't repro the success with wait_lv_frames = 10 anymore.
I was testing in a dark room in the previous post, but now in daytime light it just does not focus. I bumped it to 15 and it's better but it still misses sometimes, might depend on whether the AF says it's got focus faster or something?
Also, after it starts, even if C.FnIV is on 1 or 3 it will not engage Focus unless I change the mode, say from 1 to 3 and back, after that it works.

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12564
Re: Full-resolution silent pictures
« Reply #508 on: March 16, 2015, 11:55:59 AM »
I think instead of waiting X frames and then waiting for focus, we need to check the focus status after each frame.

FPS is easy to check, open the FPS override submenu, but don't enable the feature (just read the default configuration).

Licaon_Kter

  • Hero Member
  • *****
  • Posts: 519
  • M
Re: Full-resolution silent pictures
« Reply #509 on: March 16, 2015, 12:06:23 PM »
FPS is easy to check, open the FPS override submenu, but don't enable the feature (just read the default configuration).
29.9xx

eloml

  • New to the forum
  • *
  • Posts: 11
Re: Full-resolution silent pictures
« Reply #510 on: March 20, 2015, 09:13:53 PM »
Hi,
I recently started using ML on a 1100D for astrophotography. Great!
To gain more flexibility towards short but frequent exposures, I would like to use the silent mode.
Therefore, I installed Cygwin/Yagarto as described in http://magiclantern.wikia.com/wiki/Build_instructions/Unified and downloaded the fullres-silent-pics branch (hudson-magic-lantern-e6e97539f082.zip).
I failed, however, to compile because of this error: "Makefile.filerules:33: rule for destination „entry.o“ failed" (translated from the german message, possibly not exactly correct). I found that entry.d was built, but not entry.o. When I executed the build command manually, gcc (4.6.2) also created entry.d, but not entry.o - without error message.
Since I'm not familiar with unix, I don't understand what happens, but it looks to me a bit like a compatibility problem. Is the Cygwin/Yagarto setup still up-to-date?

Licaon_Kter

  • Hero Member
  • *****
  • Posts: 519
  • M
Re: Full-resolution silent pictures
« Reply #511 on: March 20, 2015, 09:56:51 PM »
I recently started using ML on a 1100D for astrophotography.
I would like to use the silent mode.
You can't, it's not supported: http://builds.magiclantern.fm/#/features


Trying to compile it yields:
Code: [Select]
Will NOT load on:
    1100D (raw_lv_redirect_edmac, raw_lv_request, raw_lv_settings_still_valid, raw_lv_release)

nielsgeode

  • New to the forum
  • *
  • Posts: 6
Re: Full-resolution silent pictures
« Reply #512 on: March 20, 2015, 10:08:38 PM »
Maybe a dumb question, but I just installed the latest nightly build on my 5D3 and in the drop down options menu of the silent mode the "full res" option is missing. The last option is slit-scan. Is the full-res mode already included or am I missing something?

Thanx!
Niels

Walter Schulz

  • Contributor
  • Hero Member
  • *****
  • Posts: 8890
Re: Full-resolution silent pictures
« Reply #513 on: March 20, 2015, 10:16:19 PM »
Not included in nightly builds yet. You may compile it by yourself or use a silent.mo made available for download. You have to search a bit in this thread or wait a little longer.

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: Full-resolution silent pictures
« Reply #514 on: March 20, 2015, 11:46:30 PM »
@eloml

silent.mo doesn't compile on 1100D because the LV raw data is not available on 1100D. The full-res stuff doesn't actually need raw LV. So you can WEAK_FUNC those functions. The module will compile and you can use full-res mode, but none of the other modes will work. You can also try merging the 'new-lv-buffer-detection' branch which has support for LV raw on 1100D, but it is incomplete and quite out of date, so you will lots of merge conflicts.

Licaon_Kter

  • Hero Member
  • *****
  • Posts: 519
  • M
Re: Full-resolution silent pictures
« Reply #515 on: March 21, 2015, 09:03:27 PM »

Maybe a dumb question, but I just installed the latest nightly build on my 5D3 and in the drop down options menu of the silent mode the "full res" option is missing.
Here is a build for 5D3 with firmware 1.1.3: http://we.tl/WTYtLFJv98
Info about the build here: http://www.magiclantern.fm/forum/index.php?topic=9741.msg142766#msg142766


If you are using firmware 1.2.3 you are out of luck for now, as it's has a separate branch and I'm not that brave to try and merge it with the FRSP one :D


/LE:


Disclaimer:
I don't have anything else besides a M1, but I can compile ML, so keep in mind the warning on top of this page: http://magiclantern.fm/downloads.html STILL applies if you choose to install one of these builds.

DeafEyeJedi

  • Hero Member
  • *****
  • Posts: 3413
  • 5D3 | M1 | 7D | 70D | SL1 | M2 | 50D
Full-resolution silent pictures
« Reply #516 on: March 21, 2015, 09:13:53 PM »
Thanks for sharing @Licaon_Kter and will definitely check it out.

Hopefully at the hotel that I'm staying at in PR will have computers with USB so I can download and test it out w 5D3 113.

If not, then I'll have to wait till I get back into USA on the 27th. (Wife wouldn't allow me to bring MBP on vacation w me - LOL)

However, I already have one compiled from a week or two ago not sure if it'll be the same but since it came from the same branch in which I'm sure it is.

[emoji108]
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

SpcCb

  • Member
  • ***
  • Posts: 207
Re: Full-resolution silent pictures
« Reply #517 on: March 22, 2015, 06:07:09 AM »
Quote
I recently started using ML on a 1100D for astrophotography. Great!
To gain more flexibility towards short but frequent exposures, I would like to use the silent mode.
Do you plan to use it for planetary or deepsky imaging?
Because there's no significant gain to use FRSP for astrophotography; too slow for planetary and not relevant about mechanical stress vs sensor heating for deepsky.

eloml

  • New to the forum
  • *
  • Posts: 11
Re: Full-resolution silent pictures
« Reply #518 on: March 22, 2015, 05:14:13 PM »
Quote
Do you plan to use it for planetary or deepsky imaging?
For planetary imaging the raw video feature should be useful, but since it's not really available for the 1100D (yet?) I postponed this.
I plan to use the silent mode for bright deepsky objects, e.g. globular clusters, for which exposure times well below a minute are sufficient, at least at high ISOs. (Surprisingly, I found that stripe like artefacts, which look like those produced by CCD readout amplifiers, are not amplified proportionally when I increase the ISO value. Therefore, I prefer to set ISO to 3200, take a large number of images (hundreds to thousands a night), and stack them.)

SpcCb

  • Member
  • ***
  • Posts: 207
Re: Full-resolution silent pictures
« Reply #519 on: March 23, 2015, 03:24:56 AM »
I see, for bright deepsky objects _indeed_ FRSP looks interesting.
However live view will be active during all acquisitions time so the thermal signal will be very high on frames. Sensor will reach 45~50°C (loc.temp.<10°C) in a few time and it will be very hard to reduce it with calibration even with hundreds of dark frames, because temperature rising is not linear and not stable during acquisitions. Plus bias frames are a bit... tricky to make in FRSP (see the minimum exposure time what you can expect, it depends of your camera) so the FPN + offset reduction is not perfect. :/

eloml

  • New to the forum
  • *
  • Posts: 11
Re: Full-resolution silent pictures
« Reply #520 on: March 23, 2015, 10:25:00 AM »
Does LiveView heat the sensor also during regular intervalometer / bulb timer shooting? At least during cold nights during the last weeks here, the results I got were not so bad despite I had actived LiveView permanently. Mostly, the final limitation for resolution was due to bright skies or amp glow of the 1100D.

Anyway, here comes into play the biggest advantage of the 1100D: Its low price. I plan to disassemble the body in order to remove the filters and perhaps the mirror, which starts to shadow at F/4 or below. Thereby, I plan to insert a peltier like I did earlier with an IXUS.

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: Full-resolution silent pictures
« Reply #521 on: March 23, 2015, 11:38:20 AM »
However live view will be active during all acquisitions time
That's not true. FRSP runs in "LV mode" so that the shutter is open, but LV itself is disabled during acquisition, and you could have disabled the whole time if you wanted.

Licaon_Kter

  • Hero Member
  • *****
  • Posts: 519
  • M
Re: Full-resolution silent pictures
« Reply #522 on: March 23, 2015, 10:47:20 PM »
Updated my M1 build again


@a1ex: What's holding this branch from merging in master?


If there's a need for more testers I can build it for some cameras, as needed ( well except off branch ones like 5D3 1.2.3 :D )

SpcCb

  • Member
  • ***
  • Posts: 207
Re: Full-resolution silent pictures
« Reply #523 on: March 24, 2015, 01:28:10 AM »
Quote
That's not true. FRSP runs in "LV mode" so that the shutter is open, but LV itself is disabled during acquisition, and you could have disabled the whole time if you wanted.
We can open the shutter and take FRSP without activated the LV? o.O
My mistake, I never could do this on the 5D2; I have to activate the LV to open the shutter and get access to FRSP. What version do you use?

Of course, if the LV _I mean flux processing made by DIGIC and screen_ is off it should not heat too much face to regular RAW pictures.
Stays the problem of bias frames BTW...

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: Full-resolution silent pictures
« Reply #524 on: March 24, 2015, 02:36:00 AM »
LV cannot be running during the call to FA_CaptureTestImage, otherwise it won't work. You enter LV "mode" (to get the shutter open), but when you actually take a pic, FSRP disables LV.
Code: [Select]
    /* get out of LiveView, but leave the shutter open */
    PauseLiveView();

It then turns LV back on after QR, but if you're shooting a time lapse for example with a short enough interval between shoots, you'll probably never get back into LV. Therefore LV is effectively not running at all, even though you are in LV "mode"