I use the Decklink API to output animated graphics (for instance a crawler text) on 1080i 50. However, the Decklink API function ScheduledFrameCompleted() only requests 25 full-frames from me, instead of 50 half-frames (interlaced).
This results in a different (less smooth) animation, since my text only moves forward 25 times per second, instead of 50 times a second. True interlaced 1080i should mean that each of the 50 half-frames represent different points in time.
So, how can I achieve that? I would reckon there should be a mode named 1080i 50, where the Decklink API asks me for 50 full-frames, but only outputs every other line of it?
I did not actually solve it yet, but I think the only possible solution is to do the following:
Run your application internally with 50 frames a second. Then when the API requests the next frame from you (through ScheduledFrameCompleted(), 25 times a second), you create the "interlaced frame" yourself, by taking the last 2 full frames (which represent different points in time) and use every other line of it.
I plan to implement this in a couple of months, but would be very interested in the result if someone tried that - or found any other method.