Hi
When I run my application on the DM648 EVM, sometimes the video driver gets stuck in an FVID_exchange call. I find this is triggered by a certain video clip where the lights in a room are turned on, washing out the image in white for a few seconds. It only happens sometimes, and the minute-and-a-half clip will sometimes loop for up to an hour or so before the failure. I have also been able to trigger this with a live camera and a desk lamp pointed at it, though that is not as reliable.
My driver error interrupt handler indicates that when the driver gets stuck there have been capture fifo over-runs (COVR) on the two frames just before the FVID_Exchange that gets stuck. The code is stuck in assembly in a EDMA or ACPY function, though I can't remember exactly which. I tried the FVID_control() call with the VPORT_CMD_COVR_RECOVER command, but that does not help. (Should I call that from the ISR? I am not currently calling it there.)
I am trying to reproduce the probem with the DM648 minidemo, but I have not seen it yet. I think one difference may be that my application uses the video port to down sample interlaced data from 720x480 to 360x480. Then I just use the first 360x240 field for my application.
I will try changing the demo to also do downsampling to see if I can recreate it there.
Any thoughts?