Author Topic: Canon 650D / T4i  (Read 899560 times)

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 10320
  • 5D Mark Free
Re: Canon 650D / T4i
« Reply #1950 on: October 16, 2017, 01:30:42 PM »
Ok--we're good then? There seems to be a problem with the lossless DNG from Walter's 650D test. Did I get an address wrong?

Or maybe the 650D isn't nearly the same as 700D - answered in #1943.

Walter Schulz

  • Hero Member
  • *****
  • Posts: 5707
Re: Canon 650D / T4i
« Reply #1951 on: October 16, 2017, 02:57:30 PM »
What is the next step now?
Haven't done any work on dfort's hack yet.

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 10320
  • 5D Mark Free
Re: Canon 650D / T4i
« Reply #1952 on: October 16, 2017, 03:14:11 PM »
One way would be running the lossless compression routine in QEMU and comparing I/O traces to 700D/100D ones to see if there's anything obvious missed. That should also be useful for diagnosing the full-res lossless bug - is our code running out of memory, or maybe Canon's encoder has limits on maximum image size?

Compressing some arbitrary*) data and comparing it to the original, outside LiveView, may also be helpful. Maybe you'll find it works only before taking a CR2 picture, or only after, or maybe after a JPG one, or only after entering LiveView, or...

*) Synthetic data may help (e.g. a small matrix filled with 1 2 3 4 ... or any other known pattern).

In other words, trial and error (detective work).

A startup log (dm-spy-experiments branch) with interrupts, engio messages and ResLock messages enabled, covering one still CR2 picture, can be also helpful (background reading). This branch doesn't compile out of the box on 650D though (some stubs may be missing).

Side note: 5D3 has an interesting bug: if you take a CR2 image while the camera is in movie mode, our lossless compression functions stop working. If you take it in photo mode (LiveView or not), the lossless functions are not affected. I wasn't able to diagnose it with current tools (e.g. adtg_gui or DebugMsg logging).

dfort

  • Hero Member
  • *****
  • Posts: 1970
Re: Canon 650D / T4i
« Reply #1953 on: October 16, 2017, 07:55:17 PM »
Falling further and further down the rabbit hole.

Doesn't the 650D require SFDATA.BIN to run in QEMU? I'm missing that. I'm also missing the ROM0.BIN. I did everything with just a ROM1.BIN that I got from the old Silk Road site that has since shut down.  ;)

Ok--seems that we still don't have a FRSP lossless DNG. I uploaded yet another test build on my Bitbucket download page. Look for:

crop_rec_4k_with_lossless_FRSP.2017Oct16.650D104.zip
EOSM.202 EOSM.203 EOSM2.103 700D.115 5D3.*

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 10320
  • 5D Mark Free
Re: Canon 650D / T4i
« Reply #1954 on: October 16, 2017, 08:07:27 PM »
I'm just using the 700D SFDATA. This camera doesn't even have a ROM0 - QEMU asks for it because it's one size fits all (you can supply any 32MB file).

The biggest issue is missing lossless encoder emulation (shouldn't be very difficult, as the hard part was already done in mlv_dump, but it's not a beginner project either). It's on my list, but after getting qemu in mainline.

Walter Schulz

  • Hero Member
  • *****
  • Posts: 5707
Re: Canon 650D / T4i
« Reply #1955 on: October 16, 2017, 08:18:40 PM »
As before: Unable to get any FRSP done with modules loaded as described in the test. Please tell which modules have to be loaded for this test.

dfort

  • Hero Member
  • *****
  • Posts: 1970
Re: Canon 650D / T4i
« Reply #1956 on: October 16, 2017, 09:30:53 PM »
Only the silent module is needed. You already shot a simple DNG and a simple lossless DNG, the build I posted should let you also shoot FRSP lossless.



There should be a significant difference in the file size but no loss in quality:



Of course it looks like it is going to take some heavy lifting to get lossless compression working properly on the 650D.
EOSM.202 EOSM.203 EOSM2.103 700D.115 5D3.*

Walter Schulz

  • Hero Member
  • *****
  • Posts: 5707
Re: Canon 650D / T4i
« Reply #1957 on: October 16, 2017, 10:04:29 PM »
Can you also try a full-res silent lossless picture?

Here we go:
http://filehorst.de/d/cHABDEhw
Silent.mo loaded only. Screen turns weird after taking pic. And frozen but working fine after using wheel. Switching between uncompressed DNG and compressed doesn't work that well. "... falling back to YUV" error.
Yeah, seems to be needing some adjustments in code.

dfort

  • Hero Member
  • *****
  • Posts: 1970
Re: Canon 650D / T4i
« Reply #1958 on: October 16, 2017, 10:33:36 PM »
Actually that weird behavior you described is normal for FRSP using the hacked build. So looking at your files--It's Alive!!!

The 14-bit lossless compressed properly and it doesn't have the artifacts that are showing up in your simple silent DNG from before. One more test, could you do a simple silent lossless using my hacked build?

[EDIT] If it works you might consider approving the hack pull request.
EOSM.202 EOSM.203 EOSM2.103 700D.115 5D3.*

Walter Schulz

  • Hero Member
  • *****
  • Posts: 5707
Re: Canon 650D / T4i
« Reply #1959 on: October 16, 2017, 10:58:23 PM »
I'm not sure "working" is sufficient:
http://filehorst.de/d/ceiyygFF
ISO 700 it ain't. ISO setting was 200.

dfort

  • Hero Member
  • *****
  • Posts: 1970
Re: Canon 650D / T4i
« Reply #1960 on: October 16, 2017, 11:23:19 PM »
Strange that now FRSP is working with lossless compression but simple silent is still having issues.

Have you tried recording any video using the various compression settings? On the 700D I can get continuous recording with 10-bit lossless, 1736x1152 at 24fps.
EOSM.202 EOSM.203 EOSM2.103 700D.115 5D3.*

Walter Schulz

  • Hero Member
  • *****
  • Posts: 5707
Re: Canon 650D / T4i
« Reply #1961 on: October 16, 2017, 11:32:20 PM »
The last build has problems with 720p setting and compression again. Glitch or purpose?

dfort

  • Hero Member
  • *****
  • Posts: 1970
Re: Canon 650D / T4i
« Reply #1962 on: October 16, 2017, 11:44:16 PM »
Strange, the hacked version only has changes to the silent module. It should work the same as the regular version. I uploaded a 650D build from the current crop_rec_4k branch in case anyone wants to compare the two versions. It isn't quite ready for posting on the Experiments page but for those that like living dangerously...  ;)

[EDIT] Some new commits pushed that help the 650D including, mlv_lite: fix 8..12-bit lossless in 720p on small cameras so I updated the bleeding edge test builds.

https://bitbucket.org/daniel_fort/magic-lantern/downloads/
EOSM.202 EOSM.203 EOSM2.103 700D.115 5D3.*

Walter Schulz

  • Hero Member
  • *****
  • Posts: 5707
Re: Canon 650D / T4i
« Reply #1963 on: October 17, 2017, 12:54:40 PM »
As mentioned before: There are some issues with Silent.
a) magic_crop_rec_4k_with_lossless_FRSP.2017Oct16.650D104.zip
- ISO far from anything set in cam. ISO 100 (in cam) -> ISO 380 in Exif Or 235. Or else.
- Screen frozen with message "Saving [...]". Unlockable by pressing half shutter

-> Unclear if and when write has ended.

Fiddled around with AF (former tests with MF only). Had to reassing shutter button (C.Fn IV: Operation/Others, Shutter/AE lock button - 1:AE lock/AF (default 0:AF/AE lock)). With Simple and Full-res works as assigned: AE button runs AF, Half Shutter actuates silent pic capture. But not with Full-Res LV. Now *both* buttons trigger silent pics. Therefore no AF in this mode. Set C.Fn to default -> Same.

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 10320
  • 5D Mark Free
Re: Canon 650D / T4i
« Reply #1964 on: October 17, 2017, 01:06:14 PM »
Quote
- ISO far from anything set in cam. ISO 100 (in cam) -> ISO 380 in Exif Or 235. Or else.

If you are in photo mode, with any non-fullres pictures, that's the right behavior. It records the ISO, shutter and aperture used for the captured LiveView frame, which are different from what you have set in Canon menu. Try setting the exposure time to 1 second - is LiveView refreshing once per second? Of course not.

In movie mode, the values should match those printed by ML (but not necessarily those printed by Canon).

Quote
- Screen frozen with message "Saving [...]". Unlockable by pressing half shutter

Full-res or simple? edit: simple. Normally it should return to LiveView...

Try this in 'don't click me':
Code: [Select]
static void run_test()
{
    msleep(2000);
    PauseLiveView();
    msleep(2000);
    ResumeLiveView();
}


Quote
With Simple and Full-res works as assigned: AE button runs AF, Half Shutter actuates silent pic capture. But not with Full-Res LV. Now *both* buttons trigger silent pics.

AF detection code is common to simple and full-res versions. Don't know why it works with one, but not the other, but short AF presses (if focusing doesn't have time to start) are likely to be mistaken for half-shutter presses. All these buttons send the same GUI event - ML tells the difference by looking whether autofocus starts or not, and this always happens some time *after* the half-shutter press event (100ms or so). So you need long press for autofocus.

esas

  • Just arrived
  • *
  • Posts: 1
Re: Canon 650D / T4i
« Reply #1965 on: October 17, 2017, 04:11:28 PM »
Downloaded crop_rec_4k_with_lossless_FRSP.2017Oct16.650D104

Went trough a1ex' routine from the post here .

Also tried capturing FRSP With normal and L-DNG.

Files here:
https://onedrive.live.com/embed?cid=28926C89F51FEF19&resid=28926C89F51FEF19%21354191&authkey=AJ8IRxGVY3XyJGw

dfort

  • Hero Member
  • *****
  • Posts: 1970
Re: Canon 650D / T4i
« Reply #1966 on: October 17, 2017, 10:03:29 PM »
@esas

Pretty complex test for a first post. Looks good, a bit over exposed on the FRSP but it does show some pink highlights in the lossless FRSP. Your test also confirms the simple silent lossless compressed issue. I posted a build with the Don't Click Me code so we can continue running tests for a1ex. To run it select Don't Click Me! in the Debug menu.

https://bitbucket.org/daniel_fort/magic-lantern/downloads/
EOSM.202 EOSM.203 EOSM2.103 700D.115 5D3.*

dfort

  • Hero Member
  • *****
  • Posts: 1970
Re: Canon 650D / T4i
« Reply #1967 on: Yesterday at 07:38:31 AM »
Full-res or simple? edit: simple. Normally it should return to LiveView...

Try this in 'don't click me':
Code: [Select]
static void run_test()
{
    msleep(2000);
    PauseLiveView();
    msleep(2000);
    ResumeLiveView();
}

A little off topic but I tried it on the 700D and it works as expected. LiveView screen goes black then it comes back. Question, what is the difference between ResumeLiveView() and force_liveview()? I experimented with FRSP using force_liveview() to return the LiveView but haven't tried ResumeLiveView() yet.
EOSM.202 EOSM.203 EOSM2.103 700D.115 5D3.*

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 10320
  • 5D Mark Free
Re: Canon 650D / T4i
« Reply #1968 on: Yesterday at 08:28:28 AM »
ResumeLiveView goes back to LiveView from the "paused LiveView" state (an artificial state not present in Canon firmware, but used by ML for various things, such as powersaving, refreshing LiveView or full-res silent pictures).

On the other hand, force_liveview is much older - it goes to LiveView from any camera state (photo mode, Canon menus, whatever).

edit: got another test for you to run, for the lossless compression routines.

dfort

  • Hero Member
  • *****
  • Posts: 1970
Re: Canon 650D / T4i
« Reply #1969 on: Yesterday at 01:28:58 PM »
I made a special build for testers with a1ex's patch:

https://bitbucket.org/daniel_fort/magic-lantern/downloads/a1ex_test.2017Oct18.650D104.zip

(Though if you really want to have some fun learn to compile ML, it is very easy to set up a development environment these days.)
EOSM.202 EOSM.203 EOSM2.103 700D.115 5D3.*

dfort

  • Hero Member
  • *****
  • Posts: 1970
Re: Canon 650D / T4i
« Reply #1970 on: Yesterday at 05:06:54 PM »
Hey 650D users. Check out the progress with a1ex's test on the 6D.
EOSM.202 EOSM.203 EOSM2.103 700D.115 5D3.*

Walter Schulz

  • Hero Member
  • *****
  • Posts: 5707
Re: Canon 650D / T4i
« Reply #1971 on: Yesterday at 11:07:56 PM »
Mostly occupied with other things for the next few days. Hoping esas does jump in!