Bilal's crop_rec_4k experiments for 650D / 700D (T4i / T5i)

Started by theBilalFakhouri, September 18, 2020, 07:51:30 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

theBilalFakhouri

Hi @Icaab

You can already do time-lapses with crop_new (Crop mode V2) which works greatly, do you have any issue with it?



Let's fix the shutter issue on your camera, assuming you have my crop_rec_4k build on your SD card:

1- Download adtg_gui module from here
2- Put it in ML/modules folder in SD card
3- Load "adtg_gui.mo" from "Modules" tab in ML settings, restart the camera
4- From "Debug" tab in ML settings, turn ON "ADTG Registers"
5- Highlight "ADTG Registers" then Press Q button

Now you should see bunch of ADTG2[XXXX] registers, you need to find two registers which are:

1-ADTG2[805F] N
2-ADTG2[8061] N

Highlight the first register and give me these numbers in the yellow box (write them down, or take a picture with your smartphone)


Do the same thing for the second register, and give me the numbers

Icaab

Quote from: theBilalFakhouri on July 21, 2021, 08:31:50 PM
Hi @Icaab

You can already do time-lapses with crop_new (Crop mode V2) which works greatly, do you have any issue with it?



Let's fix the shutter issue on your camera, assuming you have my crop_rec_4k build on your SD card:

1- Download adtg_gui module from here
2- Put it in ML/modules folder in SD card
3- Load "adtg_gui.mo" from "Modules" tab in ML settings, restart the camera
4- From "Debug" tab in ML settings, turn ON "ADTG Registers"
5- Highlight "ADTG Registers" then Press Q button

Now you should see bunch of ADTG2[XXXX] registers, you need to find two registers which are:

1-ADTG2[805F] N
2-ADTG2[8061] N

Highlight the first register and give me these numbers in the yellow box (write them down, or take a picture with your smartphone)


Do the same thing for the second register, and give me the numbers

Yes, there is a little problem with it: I stopped using it because the real-time preview is transmitted distorted, flattened. (pixel binning 1x3)

Posting photos of registers:
1627151288002" border="0
1627151288010" border="0

theBilalFakhouri

Quote from: Icaab on July 24, 2021, 08:32:52 PM
Yes, there is a little problem with it: I stopped using it because the real-time preview is transmitted distorted, flattened. (pixel binning 1x3)

You asked for time-lapses, "Crop mode V2" is the perfect module for that, for preview you must use "Framing" preview from "RAW video" submenu.

Which resolution are you looking for to do time-lapses?

As far as I know, EOS M has 4080x3000 preset for time-lapses with real-time cropped preview (x5 preview), this preview would be valid for focusing but not for framing, in "Crop mode V2" x10 preview isn't patched you can use it for focusing before recording, then get back to x1 or x5 mode with "Framing" preview and start recording your time-lapse, I tried it and it works fine . .

Are you looking for something else maybe I am missing? please describe it with details or give me a link showing it so I can improve my future builds . .



Thanks for the pictures, weird, the addresses from your camera is exactly what we are using in our 650D custom builds (Me and Danne), the two builds had issue with shutter value in ML settings on your 650D.

Not sure why the stuck shutter problem is only presented on your 650D, doesn't make sense . . I will try to see if I can do something about it.

Edit: Do you have the shutter problem both in none-crop and crop modes? e.g. unload all modules, restart the camera, select 1080p24 from Canon menu, do you have shutter issue? now get into x5 mode by pressing zoom button, do you have shutter problem in this mode?

Use FPS override to 12 FPS in both 1080p and x5 mode, same problem?

theBilalFakhouri

New builds are posted in the first post for 650D/700D

Changes:

crop_rec:
-Fixed a regression with "720p50 3x3" preset, now it works fine.

NykkyC

Hi everyone I'm new to posting.

On my T4i/650d with your crop_rec_4k latest build I get the shutter issue and ISOless LV err(2)

While having the shutter issue, these were the photos of my ADTG registers:

ADTG2[805f] N -> 4049fa18


ADTG2[8061] N -> 4049fa1c

theBilalFakhouri

Hi @NykkyC, thanks for the values, try this build:

crop_rec_4k.2021Jul27.650D104_Shutter_Blanking.zip

Does the shutter issue solved?

@Icaab
Does this build works on your 650D without the shutter issue?



@NykkyC

Let's try to solve ISOless LV err(2) on your 650D:

1- Download adtg_gui module from here
2- Put it in ML/modules folder in SD card
3- Load "adtg_gui.mo" from "Modules" tab in ML settings, restart the camera
4- From "Debug" tab in ML settings, turn ON "ADTG Registers"
5- Highlight "ADTG Registers" then Press Q button

Now you should see bunch of CMOS[X] registers, you need to find one register which is:

-CMOS[0]



We need to check CMOS[0] address multiple times, in video mode at 100 ISO and 200 ISO, also in photo mode at 100 ISO and 200 ISO . .

1- Let's start with Video mode:

Set the camera to video mode, set the ISO to 100, check CMOS[0] address in white box (write it down), now change the ISO to 200, check CMOS[0] address again and write it down.

2- Set the camera to none still Photo mode:

Set the ISO to 100, take a picture (important), check CMOS[0] address and write it down, now change the ISO to 200, take a picture (important), check CMOS[0] address again and write it down.

Now share the values you got here for each mode and ISO, and let me check them . .

NykkyC

Quote from: theBilalFakhouri on July 27, 2021, 04:27:36 PM
Hi @NykkyC, thanks for the values, try this build:

I have tested the crop_rec_4k.2021Jul27.650D104_Shutter_Blanking build and It did not solve the issue.

The ADTG registers for CMOS[0]:

1 - ISO 100: 404a048e or 404a038e / ISO 200: 404a04b0 or 404a03b0

2-  ISO 100: 404a048e or 404a038e / ISO 200: 404a04b0 or 404a03b0 (Not sure if I did this correctly, what do you mean by "Set the camera to none still Photo mode"?)


Icaab

Quote from: theBilalFakhouri on July 27, 2021, 04:27:36 PM
Hi @NykkyC, thanks for the values, try this build:

crop_rec_4k.2021Jul27.650D104_Shutter_Blanking.zip

Does the shutter issue solved?

@Icaab
Does this build works on your 650D without the shutter issue?



I tried your first tips. Shutter speed with some modules does not work, as I noticed when they were turned off. (looks like most of it)

Installed your new firmware. Without modules included, everything works, and how it turned them on is the same problem.

But there is a way around it: go into photo mode. Shutter speed is displayed correctly.

theBilalFakhouri

I added a piece of text in the first post which is "-Loading the modules" to make things clearer for users.

I will try to respond for new replies soon, sorry for the delay.

mlrocks

Quote from: Icaab on August 03, 2021, 10:15:24 PM
I tried your first tips. Shutter speed with some modules does not work, as I noticed when they were turned off. (looks like most of it)

Installed your new firmware. Without modules included, everything works, and how it turned them on is the same problem.

But there is a way around it: go into photo mode. Shutter speed is displayed correctly.

Another way is to push the info button, go to the second layout, then you can see the actual shutter speed.

mlrocks

On 650D, I loaded the following modules,
bench
ettr
file_man
mlv_lite
mlv_play
mlv_snd
pic_view
sd_uhs
slient

I then:
1. activated the "movie crop mode" to "ON",
2. chose "Raw video" to "ON, 1800x1008", 10-bit, AR 16:9,
3. pushed the record button to record a raw video clip,
4. pushed the playback button,
5. the recorded video clip showed dark frames from the begin to the end.

In playback mode, I can see the video clips if they are recorded in 14-bit lossless compression.

I also tested mlv_rec.mo (raw video v2.0) on 650D for 1792x1008, 10-bit, AR 16:9. When I pushed the record button, it started to record. However, when I pushed the record button again to stop the recording, the stopping process did not go through. I had to turn off the camera to start another recording.





theBilalFakhouri

Quote from: mlrocks on August 17, 2021, 02:22:15 AM
..
2. chose "Raw video" to "ON, 1800x1008", 10-bit, AR 16:9,
3. pushed the record button to record a raw video clip,
4. pushed the playback button,
5. the recorded video clip showed dark frames from the begin to the end.

In playback mode, I can see the video clips if they are recorded in 14-bit lossless compression.
...

Currently mlv_play doesn't support uncompressed 10/12 bit RAW video playback in camera natively in all builds, it would give black screen, on PC the footage would be fine.
You need to activate raw_twk.mo module which add 10/12 bit playback support to mlv_play . . currently there is no raw_twk.mo in my builds, I will include it in the next release, but you can get it from here and put it and in "ML/modules" folder:
https://bitbucket.org/bilal_fakhouri/magic-lantern/downloads/raw_twk.mo

During my tests I found raw_twk.mo appears to produce corrupted frames in 700D when recording RAW video in some modes/settings, probably the module is being active in LiveView somehow and affect RAW stream, will make more tests in future and try to disable raw_twk.mo in LiveView, and make it only work in Play Mode, also there is some quirks when raw_twk is activated like you can't navigate mlv_play settings (toggling between clips, pausing playback and switching between color and fast preview . . etc).

Quote from: mlrocks on August 17, 2021, 02:22:15 AM
I also tested mlv_rec.mo (raw video v2.0) on 650D for 1792x1008, 10-bit, AR 16:9. When I pushed the record button, it started to record. However, when I pushed the record button again to stop the recording, the stopping process did not go through. I had to turn off the camera to start another recording.

I am having the same problem when using mlv_rec, it keeps saying "Stopping" but nothing happens, you have to pull the battery out/turn the camera off after that, there is no point to use mlv_rec (maybe only for the metadata?), currently just use mlv_lite and it has all what you might need.

Edit: it seems I don't have the latest mlv_rec.mo in my builds, will update it in the next release and this might solve the problem.

mlrocks

Quote from: theBilalFakhouri on August 17, 2021, 03:22:50 AM
Currently mlv_play doesn't support uncompressed 10/12 bit RAW video playback in camera natively in all builds, it would give black screen, on PC the footage would be fine.
You need to activate raw_twk.mo module which add 10/12 bit playback support to mlv_play . . currently there is no raw_twk.mo in my builds, I will include it in the next release, but you can get it from here and put it and in "ML/modules" folder:
https://bitbucket.org/bilal_fakhouri/magic-lantern/downloads/raw_twk.mo

During my tests I found raw_twk.mo appears to produce corrupted frames in 700D when recording RAW video in some modes/settings, probably the module is being active in LiveView somehow and affect RAW stream, will make more tests in future and try to disable raw_twk.mo in LiveView, and make it only work in Play Mode, also there is some quirks when raw_twk is activated like you can't navigate mlv_play settings (toggling between clips, pausing playback and switching between color and fast preview . . etc).

I am having the same problem when using mlv_rec, it keeps saying "Stopping" but nothing happens, you have to pull the battery out/turn the camera off after that, there is no point to use mlv_rec (maybe only for the metadata?), currently just use mlv_lite and it has all what you might need.

Edit: it seems I don't have the latest mlv_rec.mo in my builds, will update it in the next release and this might solve the problem.

Thanks for the explanation, theBilalFakhouri. I now use mlv record v1.1 10-bit and it is good enough. I unloaded the preview and playback and mlv record v2.0 modules. As long as the footage is fine on computer, it is fine for me.

mlrocks

Quote from: theBilalFakhouri on August 17, 2021, 03:22:50 AM

During my tests I found raw_twk.mo appears to produce corrupted frames in 700D when recording RAW video in some modes/settings, probably the module is being active in LiveView somehow and affect RAW stream, will make more tests in future and try to disable raw_twk.mo in LiveView, and make it only work in Play Mode, also there is some quirks when raw_twk is activated like you can't navigate mlv_play settings (toggling between clips, pausing playback and switching between color and fast preview . . etc).


You are right. I benchmarked before and after unloading the preview and playback modules. The write speed was about 58 MB/s with the modules loaded, and about 60 MB/s without the modules. I think that playback modules are secondary requests, the highest priority is to record high quality mlv raw footage. Thanks a lot for your codes.

theBilalFakhouri

@mlrocks

It seems "Stopping" issue when using mlv_rec is related to mlv_snd module, unload mlv_snd and mlv_rec would work fine, this problem probably introduced after adding mlv_snd support to mlv_lite (3 years ago) and hasn't been fixed, currently it's a low priority for me . . just use mlv_lite.



@Icaab @NykkyC

Shutter blanking / ISOless issues won't be fixed by hardcoding addresses on some 650D cameras, it seems that the addresses are changing back and fourth among two values (probably more?), we need to follow a1ex suggestion by looking into RAM dumps, currently I can't help much with these problems, sorry.




New builds are posted in the first post for 650D/700D (22-8-2021)

Changes:

crop_rec:
-Reset movie crop marks at every refresh.
-CBR fixes (sometimes the preview would get into x5 mode while you are in x10 mode when the module is off)

mlv_play:
-Playback for 1x3 footage has correct AR now (thanks to Danne)

General:
-Included raw_twk module
-Used old routine to brighten up LiveView in 10/12 bit-depths (which decrease overhead in high FPS)



-Write speed improvement:
It's a minor increase which is about ~2-3 MB/s write speed increase in LiveView in all modes:

Last week I was looking for ways to gain extra write speed while RAW recording, e.g by disabling Canon tasks in background or something like that . . I thought about disabling some EDMACs channels which might be not necessary while recording RAW video, I played with all channels then found these two:

EDMAC #12 and EDMAC #24
AbortEDmac(12);
AbortEDmac(24);


Disabling them doesn't affect LiveView preview and RAW data (doesn't produce corrupted frames) which what we need, but noticed some side effects:

-Switching between modes or x5/x10 previews would have 0.5 second of stutter/lag
-In some cases after capturing still photo the camera would take more time than usual to save one image on card and the camera will display "Busy" state
-Doing a camera restart solves previous symptoms

-This option is turned OFF by default, you can turn it ON from mlv_lite (RAW video) advanced submenu.



Results:

1-2560x1440 @ 23.976 FPS in 10-bit lossless, 240 MHz, same scene, mlv_snd on, global draw off, real-time preview, required write speed reported by mlv_lite 70.8 MB/s:
-Without EDMACs hack: 14-15 seconds recorded, write speed reported while recording ~69 MB/s
-With EDMACs hack: 38-45 seconds recorded, write speed reported while recording ~72.4 MB/s

2-3072x1228 @ 23.976 FPS in 10-bit lossless, 240 MHz, same scene, mlv_snd on, global draw off, real-time preview, required write speed reported by mlv_lite 70.9 MB/s:
-Without EDMACs hack: 11-15 seconds recorded, write speed reported while recording ~67.5 MB/s
-With EDMACs hack: 41-47 seconds recorded, write speed reported while recording ~72.0 MB/s

(I recorded three clips for each setting, so I triple checked the results ;))

-Use it at your own risk.

-This might work for all small cameras like 650D/700D/EOS M/100D, feel free to test on these cameras, however on 5D3 aborting EDMAC #24 causes LiveView freeze, aborting EDMAC #12 can only gain 1 MB/s write speed improvement (during my tests).

lightwriter

@theBilalFakjouri

Hi there!

I noticed in your last post that you mentioned:" Results:

1-2560x1440 @ 23.976 FPS in 10-bit lossless, 240 MHz, same scene, mlv_snd on, global draw off, real-time preview, required write speed reported by mlv_lite 70.8 MB/s:
-Without EDMACs hack: 14-15 seconds recorded, write speed reported while recording ~69 MB/s
-With EDMACs hack: 38-45 seconds recorded, write speed reported while recording ~72.4 MB/s"

Does this mean I can record real 2560x1440 resolution in 1x3 mode (no aliasing) with real-time preview with my Canon 700D with a Sandisk Extreme 64GB 170MB/s overclocked to 240MHz? That's great news!
If that's so, what are the modules I have to activate/change?

Does the real-time preview show the scene as it is or cropped?

theBilalFakhouri

@lightwriter

Hello!

Well, from the first post, 2560x1440 preset is in 1:1 sampling (true 2560x1440 resolution, not stretch needed, no aliasing in this preset) which has 3.28 crop factor, also has real-time cropped preview. It's doesn't have continuous recording (well, that's depending on scene).

Quote from: lightwriter on August 25, 2021, 03:55:43 PM
If that's so, what are the modules I have to activate/change?

Just read the first post, all info are included there . .

lightwriter

@theBilalFakhouri

Thanks for your fast and thorough explanation!

ML700D

EOS 700D

mlrocks

Just tested the 8/22/2021 version on a relative complex scene containing trees full with leaves, kind of stressing test on details.

650D, 1X3, 1736X1954, AR 2.67, 10 bit, 14-bit lossless, 240 mhz, global draw on, mlv-snd on, EDMACs hack on, ISO 100, mlv raw reading 60 MB/s, can record more than 1 minutes, considering continuous.
The same set up with ISO 1600, mlv raw reading 65-70 MB/s, can record more than 180 frames, about 7-8 seconds, long enough for most video shooting.

Great Job, Bilal.

mlrocks

Quote from: mlrocks on September 08, 2021, 05:11:17 PM
Just tested the 8/22/2021 version on a relative complex scene containing trees full with leaves, kind of stressing test on details.

650D, 1X3, 1736X1954, AR 2.67, 10 bit, 14-bit lossless, 240 mhz, global draw on, mlv-snd on, EDMACs hack on, ISO 100, mlv raw reading 60 MB/s, can record more than 1 minutes, considering continuous.
The same set up with ISO 1600, mlv raw reading 65-70 MB/s, can record more than 180 frames, about 7-8 seconds, long enough for most video shooting.

Great Job, Bilal.


More tests on the same scene

650D, 1X3, 1736X1954, AR 2.67, 10 bit, 14-bit lossless, 240 mhz, global draw off, mlv-snd on, EDMACs hack on, ISO 1600, benchmark went 67 MB/s (from 45 MB/s nominal when global draw is on) with a SanDisk Pro 170 MB/s card. Recorded 360 frames, about doubled compared with that when global draw was on.

The same setup and the same scene, a Zacuto EVF is attached to the 650D using a HDMI to mini-HDMI cable. Recorded about 100 frames, about half with global draw on, about 1/4 with global draw off without an external monitor. There were a lot of pink frames. The HDMI output was real time live view, the framing seemed not correct.


Icaab

Hello. I haven't been following the branch update recently and I have a question: will the 650d support the Viltrox monitor DC-90HD 4k ? Will everything be qualitatively displayed with firmware magic lantern on this monitor?

Walter Schulz

You can test it for yourself. Connect cam to TV set/monitor via HDMI.
650D output is limited to 1080i60. Active area is 1620x1080 in photo mode, 1620x912 in movie mode.

theBilalFakhouri

Added the following section to the first post:

Quote from: theBilalFakhouri on September 18, 2020, 07:51:30 PM
-Using HDMI:
-Connecting HDMI works, in general there is an overhead when using HDMI with 1080i output you may have corrupted frames especially in high resolutions like x5 mode/1440p/3K 1:1, but using HDMI in 720x480 output doesn't seem to make an overhead (it just act like camera LCD)

-The following crop_rec presets will only work with 1080i output! and with Full Canon preview (toggle between Small and Full preview by pressing Info button in LiveView):
  • All 1x3 presets which has real-time correct preview which are 4.5K/4.3K/4K/UHD in addition to "2.5K Expanded Preview"
  • "720p50 3x3" preset may not work with HDMI, didn't test it.

-I didn't have corrupted frames with 1x3 (real-time correct preview) presets and HDMI 1080i output, don't use Magic Zoom V2 while recording it will produce corrupted frames between the switch (Normal/ZOOM preview).

May clarify HDMI things.

I don't use HDMI much, please report for any issue.

Walter Schulz