-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Metro RP2350 DVI output defaults to 72Hz refresh (capture cards like 60Hz) #10242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I bet we can scale the HSTX clock down to get 60hz. 720x400 may work better for you because that mode is ideally 70hz. |
I tried When I forum searched previously to see what people like for taking 720x400 captures from old DOS games (the primary context where that resolution shows up), it sounded like the general opinion was that it was difficult to do. I saw mention of using VGA or component-video to HDMI converters. People also suggested pro video gear like the Aja U-Tap or Extron video scalers. Anyhow, this is the test code that I used for 720x400 (works with TV, does not work with capture card):
This is the test code that I used for 640x480 (works well on TV and capture card in the "60Hz" refresh rate range as reported by the TV):
|
Figured out how to actually read and decode the capture card's EDID info using This is the relevant part of the output for the video modes supported by the AverMedia GC551G2:
|
hmm... that previous video mode list may have been inaccurate. I managed to accidentally plug the USB cable in only part way. So maybe the capture card was running in USB 2.0 mode instead of 3.x? This is the result I got from
|
The 27mhz pixel clock ones could be interesting! I don't think we'll want to go faster than that. I'd like to try extending the vblank period to fix this instead of changing the clock rate. Theoretically we can extend vblank to refresh the frame at the intended rate. |
It would be great if the vblank extension thing you're suggesting could avoid slowing down the main clock. For 27MHz modes, my impression is that many displays and capture cards probably support 480p. I wonder if it would be possible to use the HSTX config to automatically put a frame of black, or perhaps a configurable color, around smaller frame buffers, so long as they fit within 720x480. [edit: hmm... upon further reading, maybe 480p (4:3) is actually just a fancy name for 640x480, 480p (3:2) is 720x480, and 16:9 480p isn't actually a thing? these video modes are so confusing. In any case, it would be great if it was possible to find a mode that generally worked across common capture cards and displays, including the cheaper ones.] |
This is what 720x400 @ 70hz has been for me. It is close to 16:9. Works on my TV at the office and at home. My XR1 Lite ($60) can also capture it just fine. |
CircuitPython version and board name
Code/REPL
Behavior
When I connect the Metro's HSTX port to a DVI adapter and connect the DVI adapter to a TV, the TV shows the CircuitPython console. But, it reports that the video mode is
640x480@72Hz
(not60Hz
).When I try to capture the video output with an AverMedia GC551G2, it says "Not Supported". That makes sense because many capture cards and video scalers appear to generally expect 60Hz refresh for lower resolution video modes (based on my reading of various manuals). My impression is that TVs and monitors that have VGA or component video inputs may be more flexible about accepting a range of refresh rates.
This is what the capture card output looks like when I boot the Metro RP2350 with an empty
code.py
:Description
No response
Additional information
If I change
microcontroller.cpu.frequency
from its default of 150MHz down to 125MHz (because 150/72*60 = 125), then the TV reports a 60Hz refresh rate and the capture card immediately starts working happily, like this:The text was updated successfully, but these errors were encountered: