We have a requirement to output 1080i, NTSC, and PAL interlaced video to the DSS HDMI port on our AM5728-based streaming appliance using SDK 02.00.01.07 and kernel 4.1.13.
It appears that DSS interlaced format support exists for LCDs but not HDMI - by default, all EDID-enumerated interlaced formats on HDMI fail a timing check in hdmi5.c.
If the interlace conditional next to the comment "TODO: proper interlace support" in hdmi_display_check_timing() is removed, interlaced output is enabled but incorrect (at least when supplying strided, field-merged buffers):
- 525i and 625i generate bad video output timing.
- One of the fields in 1080i is vertically offset by ~2 pixels.
- Field dominance is scrambled; it alternates between being off by 1 or 2 fields, causing jitter and striping artifacts.
How do we get these problems corrected?