I've written my own openmax video player (a client for tvheadend - https://github.com/linuxstb/pidvbip) and am having problems with interlaced channels.
If I configure my Pi (in config.txt - my app doesn't yet support changing video modes) to 1080i (group 1, mode 20) then play back a 1080i H264 stream, it looks like the decoder isn't correctly syncing the fields to the HDMI output - the output is a lot of flickering. Sometimes, the video will manage to sync itself and play perfectly, but most of the time it is wrong.
I've seen this effect also in omxplayer when playing recordings of these streams.
Does anyone know if this is fixable in my code? Or is this a GPU firmware/codec issue?