User guide
Table Of Contents
- Contents
- 1. About This MegaCore Function Suite
- Release Information
- Device Family Support
- Features
- Design Example
- Performance and Resource Utilization
- 2D FIR Filter
- 2D Median Filter
- Alpha Blending Mixer
- Avalon-ST Video Monitor
- Chroma Resampler
- Clipper
- Clocked Video Input
- Clocked Video Output
- Color Plane Sequencer
- Color Space Converter
- Control Synchronizer
- Deinterlacer
- Deinterlacer II
- Frame Buffer
- Gamma Corrector
- Interlacer
- Scaler
- Scaler II
- Switch
- Test Pattern Generator
- Trace System
- 2. Getting Started with Altera IP Cores
- 3. Interfaces
- Interface Types
- Avalon-ST Video Protocol
- Avalon-MM Slave Interfaces
- Avalon-MM Master Interfaces
- Buffering of Non-Image Data Packets in Memory
- 4. 2D FIR Filter MegaCore Function
- 5. 2D Median Filter MegaCore Function
- 6. Alpha Blending MegaCore Function
- 7. Avalon-ST Video Monitor MegaCore Function
- 8. Chroma Resampler MegaCore Function
- 9. Clipper MegaCore Function
- 10. Clocked Video Input MegaCore Function
- 11. Clocked Video Output MegaCore Function
- 12. Color Plane Sequencer MegaCore Function
- 13. Color Space Converter MegaCore Function
- 14. Control Synchronizer MegaCore Function
- 15. Deinterlacer MegaCore Function
- Core Overview
- Functional Description
- Parameter Settings
- Signals
- Control Register Maps
- 16. Deinterlacer II MegaCore Function
- 17. Frame Reader MegaCore Function
- 18. Frame Buffer MegaCore Function
- 19. Gamma Corrector MegaCore Function
- 20. Interlacer MegaCore Function
- 21. Scaler MegaCore Function
- 22. Scaler II MegaCore Function
- 23. Switch MegaCore Function
- 24. Test Pattern Generator MegaCore Function
- 25. Trace System MegaCore Function
- A. Avalon-ST Video Verification IP Suite
- B. Choosing the Correct Deinterlacer
- Additional Information

Chapter 18: Frame Buffer MegaCore Function 18–3
Functional Description
January 2013 Altera Corporation Video and Image Processing Suite
User Guide
Table 18–5 on page 18–8 lists the control register maps for the Frame Buffer writer
component.
Interlaced Video Streams
In its default configuration the Frame Buffer MegaCore function does not differentiate
between interlaced and progressive fields. When interlaced fields are received, the
MegaCore function buffers, drops, or repeats fields independently. While this may be
appropriate, and perhaps even desired, behavior when using a double-buffer, it is
unlikely to provide the expected functionality when using a triple-buffer because
using a triple-buffer would result in an output stream with consecutive F0 or F1 fields.
When you turn on Support for interlaced streams, the Frame Buffer manages the two
interlaced fields of a frame as a single unit to drop and repeat fields in pairs. Using
Support for interlaced streams does not prevent the Frame Buffer from handling
progressive frames, and run-time switching between progressive and interlaced video
is supported.
The Frame Buffer typically groups the first interlaced field it receives with the second
one unless a synchronization is specified. If synchronizing on F1, the algorithm
groups each F1 field with the F0 field that precedes it. If a F1 field is received first, the
field is immediately discarded, even if dropping is not allowed.
For more information, refer to “Control Data Packets” on page 3–7.
Handling of Avalon-ST Video Control Packets
The Frame Buffer MegaCore function stores non-image data packets in memory as
described in “Buffering of Non-Image Data Packets in Memory” on page 3–21. User
packets are never repeated and they are not dropped as long as the memory space is
sufficient. Control packets are not stored in memory. Input control packets are
processed and discarded by the writer component and output control packets are
regenerated by the reader component.
When a frame is dropped by the writer, the non-image data packets that preceded it
are kept and sent with the next frame that is not dropped. When a frame is repeated
by the reader, it is repeated without the packets that preceded it.
The behavior of the Frame Buffer MegaCore function is not determined by the field
dimensions announced in Avalon-ST Video control packets and relies exclusively on
the
startofpacket
and
endofpacket
signals to delimit the frame boundaries. The
Frame Buffer can consequently handle and propagate mislabelled frames. This feature
can be used in a system where dropping frame is not an acceptable option. The
latency introduced during the buffering could provide enough time to correct the
invalid control packet.
Buffering and propagation of image data packets incompatible with preceding control
packets is an undesired behavior in most systems. Dropping invalid frames is often a
convenient and acceptable way of dealing with glitches from the video input and the
Frame Buffer can be parameterized to drop all mislabelled fields or frames at compile
time. Enabling flow-controlled frame repetition and turning on this option can
guarantee that the reader component keeps on repeating the last valid received frame,
that is, freezes the output, when the input drops.