DVI and HDMI
HDMI is a proprietary superset of the unlicensed DVI protocol
Transition-minimized Differential Signaling (TMDS) is the physical layer used by DVI and HDMI. TMDS uses current-mode logic with open-collector drivers. GateMate LVDS can drive TMDS for low DVI resolution output, but the TMDS and LVDS protocols are not really compatible. For higher frequencies a bridge is needed.
DVI runs on top of the TMDS physical layer. DVI is a free standard for transmitting video. DVI allocates one pair to each color, and one pair to the clock. DVI has horizontal and vertical sync signals, and an empty frame around the image (the porch). DVI encodes 8 bits of color in 10 bits. DVI can run at speeds from 24.5Mhz (640*480 @60Hz) (easy to debug) up to 161+ Mhz (1600 × 1200 @ 60 Hz). Dual Channel DVI supports twice as much data, and can run at higher frequencies.
There are many DVI output solutions for FPGAs, but a shortage of DVI input solutions for FPGAs. SiPeed has an undocumented LVDS driven DVI in/out board for their Tang Primer 25K. It includes a DVI output demo, but no DVI input demo. There is a closed source Xilinx DVI input solution, and a low bandwidth DVI input solution for the ECP5 ULX3M boards.
HDMI is a proprietary superset of DVI and includes audio inserted into that empty frame (front and back porch). Neither DVI nor HDMI are compressed signals. Hackaday article.
Parallel to DVI Bridge Chips. View
These two chips can be used to generate high resolution DVI signals.
TFP410 by Texas Instruments provides a bridge between a parallel single ended video interface and DVI/HDMI. It supports up to 24bit 1600x1200 pixels at 165Mhz. Input can be 12 bits wide DDR, or 24 bits wide SDR.
SIL164 by Lattice Semi also bridges RGB to DVI. Either TFP410 or SIL164 can be used in the 1BitSquared DVI output PMOD (€22) or the Adafruit DVI/HDI Decoder ($30).
PMOD Digital Video Interface. View
Drives DVI/HDMI with 12 bit DDR or 24 bit Single Data Rate single ended wires.