Author Topic: Canon EOS M  (Read 867633 times)

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 1412
Re: Canon EOS M
« Reply #2250 on: February 17, 2019, 07:40:41 PM »
@ a1ex: I tried running your script... I saw the outputs "preparing, 1st, 2nd, finished...", but where do I find the pictures? Can't find anything on my card...  :o

Edit: halfshutter for taking a silentpic? Is that correct?
5D2.212 | EOSM.202

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12324
  • Emergencies only
Re: Canon EOS M
« Reply #2251 on: February 17, 2019, 07:48:39 PM »
They should be in the usual place (DCIM directory). If they don't appear, there might be some memory allocation issue. Any relevant message in the Debug tab or on the console?

If you take the pictures manually, with the silent picture module, does that work? Yes, with half-shutter.

Sorry, unable to test the script on the M. It did work on 5D3 (including the pictures).

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 1412
Re: Canon EOS M
« Reply #2252 on: February 17, 2019, 07:50:16 PM »
Sorry... found it... too stupid. I have to load silent.mo! Will test again now.
5D2.212 | EOSM.202

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 6037
Re: Canon EOS M
« Reply #2253 on: February 17, 2019, 07:51:20 PM »
Ok, could you check into a1ex findings masc? Running out of time here.(Cool, saw masc already tested)

The two cmos regs I can make use of is cmos 5 and cmos 7. Both available for tweaking in Crop mode menu. They are now set to:
cmos 5 0x20
cmos 7 0x800


It is not clear to me where and how to securely reproduce this issue. Just testing now it seemed when I was first starting my cam the aliasing seemed worse but after first recording seemingly som regs settled and the next recording was better. This has to be taken with a grain of salt. No tripod used.

Any other recommended cmos regs to be used are very welcome.
Also curious on a personal note how to add these regs won´t bite in crop_rec.c:
Code: [Select]
case 0xc0f383d4: return 0x4f0010;
case 0xc0f383dc: return 0x42401c6;

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 1412
Re: Canon EOS M
« Reply #2254 on: February 17, 2019, 07:58:35 PM »
Hm... still have problems with the script. Again no picture. Then I setup silent shoot manually - no prob - working with halfshutter and DNG availlable.
5D2.212 | EOSM.202

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12324
  • Emergencies only
Re: Canon EOS M
« Reply #2255 on: February 17, 2019, 08:03:46 PM »
Any relevant messages on the console (while running the script), or in the Debug menu (afterwards) ?

edit: also tested on 60D, no issues.

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 1412
Re: Canon EOS M
« Reply #2256 on: February 17, 2019, 08:04:54 PM »
Got it. I enabled silent picture mode manually, run the script -> bingo.
Here are the files: https://www.dropbox.com/s/o3sohi4i88xhwe3/binningtest.zip?dl=0

The setup tested should be:
Code: [Select]
        skip_top = 82;
        skip_right = 60;
    skip_bottom = 2;
->the yesterdays setup "with stairs"
5D2.212 | EOSM.202

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12324
  • Emergencies only
Re: Canon EOS M
« Reply #2257 on: February 17, 2019, 08:30:34 PM »
OK, tested it in QEMU directly on Danne's build. The menu.set calls for the silent picture menu failed, but all others appear to have worked. One of them was my typo.

I wonder what's up with the vertical lines in the x5 mode. This is *after* crop_rec was turned off, and LiveView refreshed by going into Canon menu and back. Maybe it still has some hooks running? I've edited the script with a minor change that should give Canon firmware sufficient time to reduce these stripes.

Mind running the test again, with the lights turned on? The images are quite underexposed.

Edit: is it just me, or was this test done in "regular" 1080p, i.e. not the one derived from Movie Crop Mode? I don't see the "horizontal" aliasing in this picture (the extreme moire just isn't there). I've assumed the right configuration for the "buggy" 1080p was with "Movie crop mode" set to "ON" and "Crop mode" set to "mv1080p MCM rewire 16:9". If this is not the case, just edit the script. Both options appear to work fine in QEMU (menu.set changes them successfully).

Or maybe you need to enter Canon menu and go back to LiveView more than once, or other kind of trickery? What exactly are you doing to enable this mode manually, without a script?

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 6037
Re: Canon EOS M
« Reply #2258 on: February 17, 2019, 08:53:28 PM »
Correct about Movie crop mode on and then the mcm preset.
I did an exception raw.c:
Code: [Select]
/* work in progress */
        #ifdef CONFIG_EOSM
if (mv1080crop)
{
        skip_top = 84;
        skip_right = 60;
}
        #endif
Wanted it to match 1736x976(16:9).
Maybe clean out the exceptions and run clean Movie crop mode?
Will do some more checking when I have more time...

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 1412
Re: Canon EOS M
« Reply #2259 on: February 17, 2019, 08:59:21 PM »
Updated the script and run again. https://www.dropbox.com/s/oi5y5ebntdh2rnp/binningtest2.zip?dl=0
Sorry... we're very poor here... all 4 lights were on. :D But I raised ISO, so it should look better now. Vertical stripes are still there.

One more finding: I was able to see the aliasing with magic zoom function in liveview. I then pressed somehow 2x canon menu button, enter, leave. After that all the aliasing stairs were away - using the "bad" mode. Recorded another MLV and it looked like the one with -4+4 skipping at top and bottom. Maaaaagic.

How do I enabling the mode:
- switch on camera
- activate crop_rec setup "... rewire ..."
- crop_mode = ON
- leave ML menu
- record

-> when pressing 2x menu button before recording, all is fine.
-> maybe this is why Danne was not able to reproduce?!
5D2.212 | EOSM.202

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12324
  • Emergencies only
Re: Canon EOS M
« Reply #2260 on: February 17, 2019, 09:03:34 PM »
@masc: looks better, but... where's the extreme moire?!

@Danne: No need to change anything in the core code or crop_rec; I want to test the current configuration. I'm looking for a way to switch, from a Lua script, between 1080p (derived from movie crop mode) and some sort of 1:1 crop mode (either x5 zoom, or plain movie crop mode - any of these will do).

The last test images were taken in "regular" 1080p (not the one with extreme moire), and x5. Maybe you can help debugging that script? I need one image in the "extreme moire" 1080p mode, and another in some sort of 1:1 crop mode (x5 or plain movie crop mode).

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 1412
Re: Canon EOS M
« Reply #2261 on: February 17, 2019, 09:13:42 PM »
@a1ex: when running the script, canon menu pops up before taking a picture. Maybe after that, moiree is away? Doing that manually it looks like that:

1. just configured
2. pressed 2x menu button (enter&leave canon menu)
5D2.212 | EOSM.202

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12324
  • Emergencies only
Re: Canon EOS M
« Reply #2262 on: February 17, 2019, 09:21:57 PM »
A-ha!

So, once you enter and leave Canon menu (which you should do anyway, according to the help, so... that's what I did in the script), it's fixed?

It probably means some of the CMOS registers are not updated until you refresh the LiveView. One of these must control the column binning mode somehow (i.e. whether column skipping or binning is used). As a side note, this "feature" could be used together with IS (to shift the lens in some uncontrolled way) and used for super-resolution experiments - there, you actually *want* aliased data.

OK, then just for my own curiosity about line/column skipping - comment out the menu enter/leave stuff from the script, before the first picture, and it should take the extreme moire version.

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 6037
Re: Canon EOS M
« Reply #2263 on: February 17, 2019, 09:37:40 PM »
Cool findings.
It´s not possible to enter x5 zoom when the preset is reconfigured. The camera thinks it´s in digital zoom but maybe it´s affected positive "trying" to get into x5. Anyway. Pretty sure some toggling back and forth from canon menu/ml men back and forth should settle the regs.
Will try to find time tomorrow to check scripts and findings.
Thanks again...

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 1412
Re: Canon EOS M
« Reply #2264 on: February 17, 2019, 09:47:31 PM »
Deleted the lines for the menu in the script. First picture has "wonderful moiree", but camera won't record a second picture. Instead doing so, screen turns 9/10 white. When pressing menu 2x between the 2 shots, I get a picture... but I will "shake" the camera with that. So... I delete only the 1st menu open/close? Or wouldn't help that?
5D2.212 | EOSM.202

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12324
  • Emergencies only
Re: Canon EOS M
« Reply #2265 on: February 17, 2019, 09:51:17 PM »
Yes, try deleting just the first open/close. After getting the extreme moiré picture, you just need to take a plain 1:1 image. Going into menu and back will be required for disabling crop_rec, I guess.

Or, capture the 1:1 image first. Toggling video modes without crop_rec active (or before touching it) should be a bit more reliable.

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 1412
Re: Canon EOS M
« Reply #2266 on: February 17, 2019, 10:01:05 PM »
5D2.212 | EOSM.202

optical-work

  • New to the forum
  • *
  • Posts: 17
Re: Canon EOS M
« Reply #2267 on: February 17, 2019, 10:58:00 PM »
i tried feb15 and feb16 builds.

feb16 build, test_rewire=off https://we.tl/t-ovOwsGOc9L

feb16 build, test rewire=on https://we.tl/t-JiMxCRBEAG

feb15 build https://we.tl/t-lJ2adcCokh

there is a 1 mm focus length difference between first two and third one happens most likely when i changed the sd card. i don't know if these are eligible but i can't see a particular aliasing issue like masc mentioned or can't reproduce it.

i worked on fresh builds.
- loaded 2.35:1 eosm lua script.
- checking the identical settings for iso, shutter speed, aperture, and white balance
- disable crop mode (and also 10bit and 2.35:1), exit ml menu
- enable movie crop mode, exit ml menu, menu button twice
- enable rewire, exit ml menu, menu button twice


Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 6037
Re: Canon EOS M
« Reply #2268 on: February 18, 2019, 06:17:46 AM »
Yes, been testing different fixes for a problem solved(read last 5-10 posts). Toggle menu button for registers to settle to avoid any issues.
Last 17th february build should be ok.

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 6037
Re: Canon EOS M
« Reply #2269 on: February 18, 2019, 07:03:17 AM »
So conclusion regarding the latest Movie crop mode round trip back to mv1080p. For it to work properly after Movie crop mode has been enabled you absolutely need to enter canon menu and go back again for regs to settle/apply. The difference could be this:

Before:


After:


a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12324
  • Emergencies only
Re: Canon EOS M
« Reply #2270 on: February 18, 2019, 08:50:45 PM »
Okay. Done. Here you are: https://www.dropbox.com/s/70ig9z535kixmk0/binningtest3.zip?dl=0

Pretty interesting binning pattern. It is, indeed, 3x3 readout with line/column skipping, i.e. using only one pixel out of 9. However, it has an additional property - every two columns are adjacent. This results in... even more moiré!



Details: extreme-moire.html

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 6037
Re: Canon EOS M
« Reply #2271 on: February 18, 2019, 10:03:46 PM »
extreme moiré  8)
Lovely write up. Hypnotic almost.
Now, how to narrow down the properties and control them?
On a side note I know I soft bricked my eosm once before  :P but I am still intrigued if it´s even possibe to run digital zoom in mv720 mode for faster timers(48fps HDR) for instance...

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12324
  • Emergencies only
Re: Canon EOS M
« Reply #2272 on: February 18, 2019, 11:16:19 PM »
The name comes from Masc:

I would say even worse... the moiree is so extreme, that you can see it in liveview already.

Horizontally, I'm pretty sure the "properties" are actually the CMOS registers. I'd start by comparing CMOS configuration before pressing MENU to refresh LiveView, and after.

Caveat: adtg_gui won't work at the same time with crop_rec, so... it's going to require a bit of guesswork. Maybe print debug messages from crop_rec's cmos_hook and figure it out from there.

Digital zoom in 720p... not sure what the question is. Frame rate limits are given by resolution and pixel binning mode. So far, I wasn't able to alter them by starting from some other video mode.

720p normally works by skipping more lines (5x3 vs 3x3); that lets you reduce vertical resolution and increase the frame rate. With 1:1 crop, you are no longer able to do that (unless you use 3x1 with line skipping, which... let's just say it's not the best idea).

Theoretical readout speed on EOS M (and also 700D, 650D, 100D, M2 etc) is 32 MHz x 4 channels. In theory, it should be fast enough for 1080p48. In practice, maybe not. The 700D can do 1736x1160 (3x3) at about 43 FPS IIRC (didn't test it myself). That would be timer A = 520, B = 1431. For 48 fps, you would require B = 1282.  If you trim 150 pixels vertically, that should do the trick.

See 700D.png and 700D-crop.png (from here). Most of the overheads are from the hardware (some of them *might* be tweakable via ADTG registers, e.g. see this picture from 1100D). There is also a software overhead of about 2.5 ms on 5D3; exact value may be different on other models.

The 1100D is an interesting beast - it uses CH4-6483, i.e. the same 32 MHz x 4 channels interface as the early DIGIC 5 APS-C models (that's right, 1100D isn't your average DIGIC 4 cam), yet it has its sensor severely throttled in video mode, likely from ADTG configuration. Comparing ADTG/CMOS registers between 1100D and EOS M / 700D / 650D is likely to reveal the key to adjusting these timing "overheads" (or whatever they are).

theBilalFakhouri

  • Contributor
  • Senior
  • *****
  • Posts: 356
Re: Canon EOS M
« Reply #2273 on: February 19, 2019, 12:32:08 AM »
I could reach 1736x976 @ 50 FPS 3x3 and without problems in uncompressed RAW with maybe very few corrupted frames like 1 to 3 in 250 frames clips sometimes no corrupted frames at all.

So 700D it's capable to do 1080p @ 50 FPS that's interesting too.

Very nice work Danne, masc and a1ex; please make another mistake to Enable Vertical lines Binning in small cameras  :D
700D 1.1.5 | no more ISOless LV err 8

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 6037
Re: Canon EOS M
« Reply #2274 on: February 19, 2019, 12:44:59 AM »
Could you share some thought reg wise on getting 50fps. i can reach 46 fps but that´s it for higher resolution 1736x976. I can do 48fps at 1648x702, check code below. Could you take a look at  these regs. More to tweak? (Below is NOT the rewired preset but another high fps preset on the eosm.)
Code: [Select]
        case 0xC0F06804: return 0x2f701d4;
        case 0xC0F0713c: return 0x33d;
case 0xC0F07150: return 0x2fa;

     /* 48 fps */
            case 0xC0F06014: return 0x4db;
case 0xC0F0600c: return 0x2170217;
case 0xC0F06008: return 0x2170217;
case 0xC0F06010: return 0x217;

case 0xC0F06824: return 0x206;
case 0xC0F06828: return 0x206;
case 0xC0F0682c: return 0x206;
case 0xC0F06830: return 0x206;

I´d be happy to achieve 48 at the same resolution(1648x702) with the rewire preset to be able to run HDR but messing with reg 6804 is a no go since Movie crop mode dominates the regs when set and then crop_rec will not be able to add anything new except for maybe cmos changes. Tried reducing height in raw.c but still corrupted frames already at 42 fps after modifying fps-engio B-timer to 1283 (A-timer 520). 48 fps the same, corruption.

Any suggestion codewise to come further are most welcome. Thinking 713c and 7150 would not hurt to get access too as well here...