3K/UHD 5D2 Raw development and Other Digic IV Cams

Started by reddeercity, April 06, 2017, 12:22:27 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

reddeercity

Ok looks like I found 3x1 I think , As I thought ADTG12[100c] does a lot of the pinning/line skipping


So 0x0 put the vertical in stretch mode , it seem 33.3% of the original height put the image in proper aspect ratio again
ADTG12[100c] 0x2->0x0

1888x1248 ( I changed c0f060084 0x10036->0x10026=> 1888)

1888x1248-M05-0138_000000.png


Re-sized the vertical (33.3% of original height) to 416

1888x416-M05-0138_000000.png

Still trying to get the ghosting to stop with cmos[1]

benoit

Quote from: reddeercity on December 05, 2018, 09:54:56 AM
Ok looks like I found 3x1 I think , As I thought ADTG12[100c] does a lot of the pinning/line skipping
If it's vertical, you found the 1x3 binning ?  ;) The same as theBilalFahkouri in "Magic Lantern Cinema Camera - Dual ISO without aliasing & without quality loss!" thread ?

reddeercity

It's 3x1 (1856 horizontal is still in 3x pinning/line skipping)  & yes but with out dual ISO

reddeercity

Pushing 1280x720 to 72.053fps  :o
A few artifact but I'm more interested in how far the timers can be pushed , with different reg. configuration .





A short clip 1280x722-72.05fps-M05-2306.mov -- h264 26Mb

One thing I notice , when I started to pushing "B"timer over 55fps the back level started to clean up & over 65fps black level seem to stabilize .
It's almost like in multiplies of 30 fps gives good black level , e.g. 60fps

Edit: Here are some short hi-frame rate clips that got me to 72fps , the best one is 67fps .
It seems the sweet spot is around 60-62.5fps , I get this with 1600x832

1280x722-70.086-fps-M05-2305.mov
1280x722-69.094fps-M05-2304.mov
1280x722-68.034fps-M05-2303.mov
1280x722-67.006fps-M05-2302.mov

reddeercity

Finally got It 2560x1200 @ 23.976fps with Clean preview while recording raw and say Goodbye to Frozen Preview forever :))




2560x1200-M07-0020_00001.png
2560x1200-M07-0020_000000.dng
Default Crop Size               : 2568 1200
Active Area                     : 52 160 1252 2728



iPhone video of 5d2 showing un-frozen liveview while recording Clean_preview_recording-IMG_2690.MOV
Half shutter works for full color preview in standby & recording raw video -- I show this in the video from my iPhone.


Here a short h264 clip 2560x1200-23.976fps-M07-0020.mov 36Mb

One thing the bug me is in the raw image dump I can see corruption line on the right side (like timer "A" pushed to far) but it's not in the Raw .mlv video @ 10bit
The image dump is in 14bit , could that be the issue ? but clean in 10bit , strange .
Exiftool black & white level from 14bit dump
Black Level                     : 1027
White Level                     : 16200

10bit dng report correct level
Black Level                     : 112
White Level                     : 1013



2568x1200-RAW-038.DNG

Can also be seen in the Liveview_dump from the LCD/422

2560x1200LV-045.422


Danne

There´s no source code to check? Why not post stuff on bitbucket? Very easy to follow and check into things.

reddeercity

It's the same code I pointed out to you before ,  I'm doing everything with ADTG_GUI.mo
so there no special crop_rec module , just plain old mlv_rec in 3x Crop_ mode (5xZoom)

The next step is to code it in to the crop_rec module .
Everything can be reproduce , that why I post of those images so other can fellow along .
It you what to get other D4 cams working with this , first the redirect buffer("raw_slurp") need to be
figured out and I also pointed this out before .


Danne

Ok I see. Is the generic power time code in crop_rec.c applied to 5d2? Might fix the stripes if so or at least there would be a place to look for fixing.

reddeercity

No , 5d2 doesn't use those. The image is clean in 10bit and that what really counts as 14bit would be only 1-2 second of record time
At least 10bit I can get 15-20 seconds , until I can get working on Lossless & CF interface overclocking .

reddeercity

Ok I'm starting to code this (any help/advice would be great) 
I'm not the greatest at this so please be patient :)
All the new valve's I'm using are in the previous post #379
I'm working off crop_rec_4k_5d2 branch , waza57 source

I'm coding a 2560x1200 @ 23.976 preset

crop_rec.c-1436
if (is_5D2)
    {
       int timerA = 727;
       int timerB = 1374;
       int a = reg_override_fps_nocheck(reg, timerA, timerB, old_val);
       if (a) return a;
       
       switch (reg)


crop_rec.c-1684
   for (uint32_t * buf = (uint32_t *) regs[0]; *buf != 0xFFFFFFFF; buf += 2)
    {
        uint32_t reg = *buf;
        uint32_t old = *(buf+1);
        if (is_5D2)
        {
          if (reg == 0xC0F06088) 
            {
               engio_vidmode_ok = (crop_preset == CROP_PRESET_CENTER_Z)
                ? (old == 0x46A04BA)                        /* x5 zoom */
                : (old == 0x4E7058A);   /* 1080p or 720p */
            }
        }
        else


But my question is this :
I need to add
c0f0713c
c0f07150
c0fo8184
c0f08188
c0f08518

Do I add them after the raw resolution like this
case 0xC0F0713c:
                return (old_val & 0xFFFF0000) + 0x500

or
if (reg == 0xC0F0713c) 
            {
              ? (old == 0x476)                     
                : (old == 0x500)
             }

Danne

I built a preset from your registers 2560x1200 in here:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/crop_rec.mo

Wonder if would work with 5D2 at all?

Working in this branch. Didn´t commit any changes yet:
https://bitbucket.org/Dannephoto/magic-lantern/branch/crop_rec_4k_mlv_snd_isogain_1x3_presets

I don´t have the 5D2 so take it with a grain of salt...

reddeercity

Ok , can you post your code please
I need to look at the code first before I try it ,
Don't what to brick my camera .


reddeercity

Thanks , I'll have a look later tonight , early here - 2am

Danne

If it doesn't work here it should be fairly easy to put it into waza57 code.

reddeercity

Yea it's different then the D4 branch , anyways I mainly was looking for the code structure
you gave me some good example to follow , that helps a lot .
 

reddeercity

Look in to HDMI output Reg's
c0f11314
2eb045f->2eb0dof

In Canon Preview
Changes the liveview HDMI HD Width only not raw , I was able to have proper field of view in Crop_Mode 2144x1074 on the HDMI
instead of having a center crop on the hdmi  (still a little distorted & compressed vertically) . Normally with HDMI while in Crop_mode
Let say at 2144x1074 the image gets centered crop to 1920x1080  so you loss the field of view unless you are at 1920 all ready .
I still have to find the HD height yet the first set of valve didn't do anything.
I was mainly only trying to get rid of the black bar on the side of the hdmi ( this cause it to be 1650x1080 and I looking for 1920x1080 or more)
But I think I may have to increase the HD buffer some how , still early in this investigation/development .
I had my Ninja connected to hdmi while I adjusted the reg's and recorded a short 2min clip 85Mb
First I set the reg . then at the 20 second mark I compare it to the reg turn off



H264-5d2-hdmi-00208.MOV

Aperture Science

Is there any way to boost 5D2's CF slot speed up to 90m/s? Seems like the 4k recording is about to success, but the slot is dragging all the things slow. By changing the speed of the "Bus speed?" (I have no ideal what is in the camera). I am interested in the "cf_acc.mo" could anyone help me explain what should I change in the "cf_acc.mo"? I will test the value and the result (Hopefully I will not brick my camera lol)

reddeercity

Yes ,A1ex experimented with this before . But not sure that the total answer -- We are very close to getting Lossless compression working
It a matter of finding the correct "TwoInTwoOut" r/w addresses .
Currently I can capture a lossless FRSP (5632x3752) but can't save it to the CF card , cam freezes .
So from my understanding , the module just needs to be compiled -- I looked in to it a few weeks ago but never got around to compiling it
read this here

reddeercity

just a update , fix 2560x1200 @ 23.976 preset , got rid of the corruption on the right side of the 14bit raw_dump image
Pushing this preset , and the max I can get is 2712x1200 @ 23.976 , this close to the limits for vertical resolution @ 23.976
Unless I can get more resolution  @ 23.976 playing around with the Head Timer 3 & 4 . The problem isn't getting higher resolution
it's getting higher frame rate (23.976) instead of 12 or 18 fps @ 4k ( I could use a vertical compression height trick to get 4k)

Almost got 3008x1080 @ 23.976 working  , still have some frame corruption , (frames are moving sideway & out of order)
need to find a better CMOS[1] reg.

Hoping to have a crop_rec module for Xmas or by the New Year for tester's

Danne

Quote from: reddeercity on December 16, 2018, 08:44:31 AM
just a update , fix 2560x1200 @ 23.976 preset , got rid of the corruption on the right side of the 14bit raw_dump image
Pushing this preset , and the max I can get is 2712x1200 @ 23.976 , this close to the limits for vertical resolution @ 23.976
Unless I can get more resolution  @ 23.976 playing around with the Head Timer 3 & 4 . The problem isn't getting higher resolution
it's getting higher frame rate (23.976) instead of 12 or 18 fps @ 4k ( I could use a vertical compression height trick to get 4k)

Almost got 3008x1080 @ 23.976 working  , still have some frame corruption , (frames are moving sideway & out of order)
need to find a better CMOS[1] reg.

Hoping to have a crop_rec module for Xmas or by the New Year for tester's

which register are you setting for these last presets? So if you go abit lower let´s say 3008x1040 it should be corruption free?

Vertical compression height trick? How?


EDIT:
Cool. Got 3096x1320 24 fps on my 100D now.


        case 0xC0F06804: return 0x5490331; // 3072x1320  x5 Mode;

        case 0xC0F06824: return 0x3ca;
        case 0xC0F06828: return 0x3ca;
        case 0xC0F0682C: return 0x3ca;
        case 0xC0F06830: return 0x3ca;
       
        case 0xC0F06010: return 0x34b;
        case 0xC0F06008: return 0x34b034b;
        case 0xC0F0600C: return 0x34b034b;

        case 0xC0F06014: return 0x5f7;
        case 0xC0F07150: return 0x428;
        case 0xC0F0713c: return 0x555;


dfort

Quote from: Danne on December 16, 2018, 09:20:45 AM
Cool. Got 3096x1320 24 fps on my 100D now.

That's a Digic V camera. Somewhat off topic but good to know this stuff applies to all ML enabled cameras.

What would be sweet is taking reddeercity's findings on the 5D2 and applying it to other Digic IV cameras. IDA_ML has been pushing to get this on the 7D but I keep getting lost trying to figure it out. The 50D might be easier to port -- @aprofiti are you following this?

IDA_ML

Quote from: dfort on December 16, 2018, 05:37:37 PM
That's a Digic V camera. Somewhat off topic but good to know this stuff applies to all ML enabled cameras.

What would be sweet is taking reddeercity's findings on the 5D2 and applying it to other Digic IV cameras. IDA_ML has been pushing to get this on the 7D but I keep getting lost trying to figure it out. The 50D might be easier to port -- @aprofiti are you following this?

Oh yeah, can you imagine having these insane resolutions on the 7D with its 90 MB/s write speed?  3k continuous recording at 24 fps and 10-bit lossless, no aliasing, no VAF filter, no focus pixels, small crop factor, wonderful colors, unique filmic look - that would be a dream come true for all 7D shooters!

Igor_Braun

Hi all. First thanks to Reddeercity and other guys for keeping working on it all. I check this thread every day.
I have a question. Maybe someone else has this problem. My 5d2 has a bad feature. When I magnificate the image with the 5x or 10x mode, it jumps back to 1x after a few seconds (from 1 to 30 second approx. It depends...) And if I don't have time to press the recording mode, the mode changes from crop to standard and the resolution goes down again to 1856 ... very annoying glitch. In theory, is there any program way to force magnification?

reddeercity

@Igor_Braun , No I haven't had this issue , have you tried to clear your setting folder ?
Are you using the build from the first page ?
Or you could make a short cell phone video and post it here , showing this problem .
Are you using the crop_rec 3.5k preset (2880x1080) when this happens ?