HDMI Output Settings (hdmi_out.mo)

Started by theBilalFakhouri, June 05, 2021, 03:45:56 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

theBilalFakhouri

Hello,

Some time ago, me and reddeercity found out how to change HDMI output signal from Interlaced to Progressive, also HDMI video system from NTSC to PAL, it was only matter of changing some registers values, wasn't that hard, also by digging into "Force HDMI-VGA" code, I found an option to force 1080i output on HDMI displays instead of 720x480p because some monitors don't support interlaced signal, so it output only in VGA mode, this option might be useful for some people.

Now I made a simple module includes these options:



Supported models:

(700D.115 / 650D.104 / 600D.102 / 550D.109 / 6D.116 / 5D2.212 / 100D.101 / EOSM.202 / 70D.112 / 60D.111 / 50D.109 / 1100D.105).

The HDMI output should be 1080i to use Progressive option.

Notes:
-You will need a build from iso-research branch
-The module works in crop_rec_4k builds too, but it conflict with crop_rec module if both loaded, unload crop_rec in this case (use a custom crop_rec_4k build for 70D).
-Download the module, then copy it to ML/modules folder in SD card.

-Some HDMI TVs/monitors won't work when using Progressive setting, it will give black screen
-Currently the module have quirks on DIGIC 4 cameras when using it while recording H.264 video.
-Progressive mode might make an overhead, I got some choppy frames when recorded 720p60 H.264 video
-Using Progressive mode on capture card might give squeezed 1920x540p output, you may need to de-squeeze it to 1920x1080p

-1920x540p is cleaner than 1920x1080i, I could see the noise clearly.
-If your 1080p monitor doesn't support Interlaced signal, enable "Force 1080i output" option, you may have scanning lines pattern, try switching "Signal" to "Progressive".

-After forcing HDMI output to 1080i, you may need to switch the camera to photo mode (beside turning off "Force 1080i output" option) if you want to get back to VGA output.

-This module might be useful for streamers :)
-Use it at your own risk

Module settings:
-Signal: change HDMI output signal from 1920x1080i @ 60 Hz to 1920x540p @ 30 Hz
-System: change HDMI video system from 1080i @ 60 Hz to 1080i @ 50 Hz, or from 1920x540p @ 30 Hz to 1920x540p 25 Hz, or from 720x480p @ 60 Hz to 720x480p @ 50 Hz
-Force 1080i output: Force high resolution (1920x1080i) on HDMI displays.

[gifv]https://i.imgur.com/iVtn6ha.mp4[/gifv]


This video recorded in initial hdmi_out release, so "Force 1080i output" wasn't there at that time.


Short showcase on 5D2 from @Skinny (Thanks!):

https://www.youtube.com/watch?v=FWISRYtvEiw


This module Confirmed working on 700D, 5D2 and 550D, please test this new module and feedback for other models, if the module didn't work on a certain model then report back.

Download / Source code / Technical discussion

Skinny

Hi! Is there any possibility to switch to progressive without entering 1080i?
It seems that my monitor won't accept interlaced 1080i and the camera defaults to 480 so module can't work...

theBilalFakhouri

720x480 output using HDMI is already in Progressive mode by default

Skinny

ok, I didn't explain what I mean properly... I have a monitor which can work with 1080p, but apparently it can't display 1080i. So I can't enter 1080i mode at all...
I just wanted to have better resolution than 720x480, and if there is a way to enable say 1920x540p or any other resolution higher than 720x480, without switching to interlaced mode first, it would be great.

theBilalFakhouri

Got it, fortunately the answer is yes:

Quote from: theBilalFakhouri on June 06, 2021, 08:56:14 PM


I have 1080p monitor and when attaching my 700D to the monitor using HDMI, the camera won't accept outputting in 1080i, it outputs to 720x480p, I do think my monitor doesn't support outputting Interlaced signal properly (some scanning lines pattern would happen) but it can show the Interlaced image at least . .

By reading "Force HDMI-VGA" code, I found an option to force outputting Full-HD signal (1080i), tried it on my 1080p monitor, the output switched from 720x480p to 1080i, nice! but again this only worked in none-LiveView mode, since I know how to switch the Interlaced signal in 1080i to Progressive, I got rid of scanning lines pattern, so Forcing VGA to 1080i, then switching the signal to Progressive might be very useful for some users.



But we need to solve this problem first:
https://www.magiclantern.fm/forum/index.php?topic=26108.0

At this time of writing, not sure how to solve it

deerport


Skinny

It is very cool, I saw it :)
Is it a problem also for digic 4 cameras? I only have 550D and 5D2, so if this hack can work I would be really happy. The module from the first post is universal for the whole range of cameras, so I thought maybe... anyway it is very interesting progress

theBilalFakhouri

New version posted, changes:

-VGA output 720x480p now supports HDMI video "System" option, you can toggle between 720x480p @ 60Hz and 720x480p @ 50Hz
-DIGIC 4 cameras: Added option to "Force 1080i output", for DIGIC 5 cameras we need solve this issue first to make it work.

More details, download link in the first post.

@Skinny please test the new "Force 1080i output" option, also try to switch the "Signal" to "Progressive".

Any feedbacks are welcomed!

Skinny

It worked! i'm gonna test it more on both cameras tomorrow :) awesome!
as it turns out, the monitor can perfectly accept 1080i with forced output... no artefacts or anything. But if I switch to progressive, it shows blank screen with warning "change resolution", probably because of a strange aspect ratio.

1080i is cool, much more detailed than 480 :D now I can focus easily without any magnification. Thank you a lot!

theBilalFakhouri

Awesome :D thanks for the feedback!
I would like to see a video showing enabling "Force 1080i output" option on 5D2, also 550D, to include it in the first post.

Yeah, Progressive mode doesn't work well on all TV/Monitors, for me I have tested this option on two Sony TVs and it gave a blank screen, on Samsung TV and a PC Monitor it worked fine.

Waiting for your new tests! also if you could test "System" option too on both VGA and 1080i outputs on both cams, I would appreciate it!

Skinny

ok I can confirm it is working on 550D and 5D2 :D and NTSC and PAL switch also works..

so what kind of video do you want? I don't have a capture card to show the screen, but maybe I can record something with another camera...

theBilalFakhouri

Nice! thanks for testing!

No need to capture card, attach the 5D2 to the monitor, film the monitor with the 550D in H.264, or using any smartphone with 1080p, and just make sure the image is clear and steady, turn on 5D2, then turn on "HDMI Output", and enable "Force 1080i output" option, and let us see the result :).



Updated first post,  5D2 and 550D have been confirmed to work (Thanks @Skinny).

Skinny

ok I did it :D
I don't know if recording the monitor with 550D is a good idea, but anyway:



And sorry for the accent, this is literally second or third time I speak English :)

theBilalFakhouri

Thanks @Skinny!

I have included the video in the first post, no worries about the accent ;D

theBilalFakhouri

New version posted, changes:

-"Force 1080i output" now available for DIGIC 5 cameras :D (I figure it out, thanks to DebugMsg, as I guessed I needed to apply the patch in another way)

This option tested with success on 700D, please feedback for other DIGIC 5 cameras.

Download link in the first post.

Walter Schulz

@Skinny + Bilal:
Having troubles to confirm 550D "working". Should it work for H.264 recording, too? Because mine doesn't. Most of the screen got frozen and there is an area on top with scrambled content. Area = Top of screen, filling whole width.

Skinny

There are lots of things.. I will do more tests soon.

It isn't working with h.264 recording on 5D2 too, it just switches to 480. and screen goes black periodically, like it is trying to switch but falls back to 480.
But the videos recorded ok. At least in a few tests.

I tested 550 with very slow SD card (I just recently lost my fast sd card) and it was recording only 5-6 seconds, so I thought everyting is the same. I didn't noticed frozen screen because most of the time my monitor was black, and I only saw it for a moment and then "recording stopped".
Now with normal fast SD card I can see - everything as you described, it's frozen with distorted content in the top area.
Actually it starts with 480 sometimes, and then switches to 1080 and screen freezes.

Sometimes 550D doesn't turn off correctly after I use this module, card activity led stays lit.
So it's kind of unstable and more useful for live streaming and so on, for now.. (for 550D).

I didn't have time to check RAW recording with this module on 5D2, but I'm gonna do more tests later
What else... on 550D I can watch recorded h.264 clips in full screen, full width. On 5D2 it is centered and much smaller, with borders.

theBilalFakhouri

@Walter
You mean when enabling "Force 1080i output", what settings have you used with the module?

Thanks for the feedback guys, I didn't have this problem on 700D (DIGIC 5) when recording H.264, it's works fine, the output stays 1080i, also no weird artifacts in LiveView

I will prepare a build for 550D, 5D2 to check some registers values when recording H.264 video, also will put another way to apply "Force 1080i output" patch (the patch which solved force 1080i on 700D).

@Skinny
Yes, I had the problem when the camera is not turning off cleanly, I might have a fix for this, mostly we only need to use "HDMI Output" settings in LiveView, but not in menus.

Quote from: Skinny on June 19, 2021, 09:14:44 AM
What else... on 550D I can watch recorded h.264 clips in full screen, full width. On 5D2 it is centered and much smaller, with borders.

What was the output on 550D and 5D2 when watching H.264 videos ?

Walter Schulz

Quote from: theBilalFakhouri on June 19, 2021, 03:04:40 PM
@Walter
You mean when enabling "Force 1080i output", what settings have you used with the module?

All combinations. PAL/NTSC, Progressive/Interlaced.

BTW: Tested with 7D. Don't have a device giving me troubles connecting with Full-HD so unsure if working properly. No visible problems, though.

Skinny

Quote from: theBilalFakhouri on June 19, 2021, 03:04:40 PM
What was the output on 550D and 5D2 when watching H.264 videos ?
It was all 1080 in both cameras.. The setting I used is NTSC interlaced.

And 5D2 is always turns off correctly, at least so far I haven't noticed anything :)


@theBilalFakhouri thank you so much for all this work, if I ever knew how much progress you will make for 650/700D, I would definitely buy 650 instead of 550 :D I am really surprised how much functionality you have added to this camera

Skinny

little update - I just finished repairing 24" monitor (haha, service center said it cannot be fixed) So I connected 550D and it works with interlaced and progressive scan :) But I didn't see much difference between the two. Although I look at the noise very closely. Well anyway, I can see the output in both modes.

Walter Schulz

Quote from: Skinny on June 24, 2021, 07:49:56 PM
But I didn't see much difference between the two.

Haven't compared it yet, either.
Have you tried fast moving scenes?

Skinny

nope... I thought it should be more detailed or something, because theBilalFakhouri said in the first post:

Quote from: theBilalFakhouri on June 05, 2021, 03:45:56 PM
-1920x540p is cleaner than 1920x1080i, I could see the noise clearly.

cyberninjaTF2

Unfortunately this didn't work on my 60d (Firmware version 1.1.1-ml-iso-research), the HDMI Output option under the Display tab won't appear after i copied the "hdmi_out.mo" to the ML/modules folder.

mineralof

can i somehow start broadcasting on dji RavenEye with this module on canon 6d?