Forum Discussion
Altera_Forum
Honored Contributor
10 years agoVideo IP, Frame Buffer, Triple Buffering, Frame Dropping
Hi.
I'm reading about Frame Buffer component in the triple buffering mode with frame dropping. In the Video IP manual[1], in the Triple Buffering section is written the following: --- Quote Start ---- If the spare buffer is already clean when the writer completes writing the current input frame:
- If dropping frames is allowed—the writer drops the newly received frame and overwrites its buffer with the next incoming frame.
1 Reply
- Altera_Forum
Honored Contributor
>Why doesn't the component make the newly received frame clean and start writing into previously clean buffer? (Actually now when I'm writing this post I'm no longer sure why did I want it like that but it's what I would expect.)
This is what I would have expected as well but either way is fine and I don't think it would have any impact on video quality. A triple buffer is typically designed with two independent modules doing the writing and the reading. If the writer module was swapping the clean buffer each time, it would probably make the mechanism to pass tokens between the two modules a bit trickier to design because the reader and the writer could both try to claim the same clean buffer. Altera's implementation seems to avoid this issue. Just my guess. Triple buffering is achieved by turning on both frame dropping and frame repeating. If your input/output frame rates are known, you could probably save a bit of logic space by disabling either frame dropping or frame repeating and still have a functional triple buffer but I wouldn't recommend it while building up a system. Also, turning on the option to drop invalid frames should make things easier while debugging.