Jump to content

Magic Lantern Progress re: Clean HDMI


FilmMan
 Share

Recommended Posts

It appears progress continues.  If anyone is a programmer and/or hacker and wants to give this a go may want to look at the below.  Clean HDMI is one goal.  Not there yet and may never be or they may get there.  Read below:

Interesting. 

Register than can be used for clean HDMI out:
http://magiclantern.wikia.com/wiki/Register_Map/Clean_HDMI

Alex response to a new programmer (I'm putting it here in case someone understands and wants to get involved.)


http://groups.google.com/group/ml-devel/browse_thread/thread/4cf08a6ad8a24be3#

Hi Jim, and welcome!



- Hide quoted text -
- Show quoted text -

On Thu, Apr 12, 2012 at 7:01 PM, Jim Burnes <jvbur...@gmail.com> wrote:
> Hi,

> I just joined the group and I'm planning on hacking on the 550d/Atomos Ninja
> combination to see how far I can take it.


> Has anyone experimented with this yet?


> What little I know or suspect is the following:


> 1. Atomos can do 10-bit/channel recording (30 bits / pixel) in 1080i/60
> which is how 1080p/24 is encoded in 3:2 pulldown.


> 2. 550d HDMI live view streams use 8-bit 1440 x 1080 which is embedded
> within black borders.  (Not sure if this is the resolution which feeds to
> both HDMI stream and H264 recording, or is particular to live view.  I would
> guess its a limitation imposed because of limited encoding bandwidth -- need
> more info)


> 3. I don't know if HDMI output includes the pixel binning results or if its
> a raw sensor crop.



The raw data sent to HDMI can be found by taking a screenshot in ML
(it's a 422 file). It's not raw. I believe it's downsampled a bit.

The native resolution (at which the sensor seems to be sampled while
recording) can be found here:
https://bitbucket.org/hudson/magic-lantern/src/tip/src/vram.c#cl-179



> In any case, if possible I'm prepared to hack any parameters or do special
> stream processing to:

> 1. Increase HDMI res to full 1920 x 1080



See our notes here:
http://magiclantern.wikia.com/wiki/Register_Map

Hint: try to understand how the firmware resizes the black bars when
you press DISP/INFO.


Probably the easiest way is to configure the display device (C0F14xxx)
to resize the image data to fit the screen (but this will not improve
the actual resolution, just upscale the image).



> 2. Increase pixel depth to 10-bit.


I don't think it's possible. You need to change the code running on
the image processing chip (so-called DIGIC).


> 3. Write any C/Lua code to enable this.

> If anyone could point to a decent block diagram of the dataflow and stream
> processing between the image capture / monitoring and recording functional
> units in the 550 it would be an excellent aid while browsing the source
> code.



My best guess about this would be:

- sample raw data from sensor (14-bit) - somewhere inside DIGIC
- apply a simple linear transformation (black and white levels, as in
"dcraw -k black_level -S white_level")
- convert data to 12 bits (hints: 14_12 strings in the firmware, and
the dynamic range in movie mode compared to photo raws)
- apply curves, gamma, picture styles, etc
- at this point we have 8-bit 422 data available in image buffers
(these buffers are visible from the general-purpose CPU)


From here, we have LiveView data going to:
1) display device (so-called LV image buffer)
2) recorded video (so-called HD image buffer); this is active in
standby too, but usually at lower resolution.
See http://magiclantern.wikia.com/wiki/VRAM/Geometry for more info
about these buffers.


I believe one of those buffers is downsampled for the other (usually,
HD contains non-resized data, while LV contains resized data). On HDMI
1080, it may be the opposite.


Also, I believe the HD buffer is passed directly to H.264 engine
(which configured via C0E0xxxx registers), and the H.264 module also
upsamples the data to 1080p and converts it to YUV420.



- Hide quoted text -
- Show quoted text -
Link to comment
Share on other sites

EOSHD Pro Color 5 for Sony cameras EOSHD Z LOG for Nikon CamerasEOSHD C-LOG and Film Profiles for All Canon DSLRs
[quote author=garypayton link=topic=618.msg4515#msg4515 date=1335103092]
For NOne english-profane people like me, does this mean Magic Lantern geniuses are getting closer to get raw footage from some of the canon camera?

I mean, clean hdmi to record on an external support?
[/quote]

The search for clean HDMI out is the Eldorado of Magic Lantern treasure hunters. The [i]registers[/i] seem to be of a complexity as the human genome, and some insights on the way to the goal sound discouraging:

[quote]> 2. Increase pixel depth to 10-bit.


I don't think it's possible. You need to change the code running on
the image processing chip (so-called DIGIC).[/quote]

Cryptic though it is to us, I understand it's all in vain. Pray for full resolution output (some monitors may feature a 1:1 pixel view for focussing), and you may be answered.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • EOSHD Pro Color 5 for All Sony cameras
    EOSHD C-LOG and Film Profiles for All Canon DSLRs
    EOSHD Dynamic Range Enhancer for H.264/H.265
×
×
  • Create New...