- •Contents
- •1. Video and Image Processing Suite Overview
- •Release Information
- •Device Family Support
- •Latency
- •In-System Performance and Resource Guidance
- •Stall Behavior and Error Recovery
- •2. Interfaces
- •Video Formats
- •Avalon-ST Video Protocol
- •Video Data Packets
- •Static Parameters of Video Data Packets
- •Control Data Packets
- •Ancillary Data Packets
- •User-Defined and Altera-Reserved Packets
- •Packet Propagation
- •Transmission of Avalon-ST Video Over Avalon-ST Interfaces
- •Packet Transfer Examples
- •Avalon-MM Slave Interfaces
- •Specification of the Type of Avalon-MM Slave Interfaces
- •Avalon-MM Master Interfaces
- •Specification of the Type of Avalon-MM Master Interfaces
- •Buffering of Non-Image Data Packets in Memory
- •3. Getting Started
- •IP Catalog and Parameter Editor
- •Specifying IP Core Parameters and Options
- •Installing and Licensing IP Cores
- •OpenCore Plus IP Evaluation
- •4. Clocked Video Interface IP Cores
- •Control Port
- •Clocked Video Input Format Detection
- •Interrupts
- •Clocked Video Output Video Modes
- •Interrupts
- •Generator Lock
- •Underflow and Overflow
- •Timing Constraints
- •Handling Ancillary Packets
- •Modules for Clocked Video Input II IP Core
- •Clocked Video Interface Parameter Settings
- •Clocked Video Interface Signals
- •Clocked Video Interface Control Registers
- •5. 2D FIR Filter IP Core
- •Calculation Precision
- •Coefficient Precision
- •Result to Output Data Type Conversion
- •2D FIR IP Core Parameter Settings
- •2D FIR Filter Signals
- •2D FIR Filter Control Registers
- •6. Video Mixing IP Cores
- •Alpha Blending
- •Video Mixing Parameter Settings
- •Video Mixing Signals
- •Video Mixing Control Registers
- •7. Chroma Resampler IP Core
- •Horizontal Resampling (4:2:2)
- •Vertical Resampling (4:2:0)
- •Chroma Resampler Parameter Settings
- •Chroma Resampler Signals
- •8. Video Clipping IP Cores
- •Video Clipping Parameter Settings
- •Video Clipping Signals
- •Video Clipping Control Registers
- •9. Color Plane Sequencer IP Core
- •Combining Color Patterns
- •Rearranging Color Patterns
- •Splitting and Duplicating
- •Subsampled Data
- •Color Plane Sequencer Parameter Settings
- •Color Plane Sequencer Signals
- •10. Color Space Conversion IP Cores
- •Input and Output Data Types
- •Color Space Conversion
- •Result of Output Data Type Conversion
- •Color Space Conversion Parameter Settings
- •Color Space Conversion Signals
- •Color Space Conversion Control Registers
- •11. Control Synchronizer IP Core
- •Using the Control Synchronizer IP Core
- •Control Synchronizer Parameter Settings
- •Control Synchronizer Signals
- •Control Synchronizer Control Registers
- •12. Deinterlacing IP Cores
- •Deinterlacing Methods
- •Bob with Scanline Duplication
- •Bob with Scanline Interpolation
- •Weave
- •Motion-Adaptive
- •Sobel-Based HQ Mode
- •Pass-Through Mode for Progressive Frames
- •Frame Buffering
- •Frame Rate Conversion
- •Bandwidth Requirement Calculations for 10-bit YCbCr Video
- •Behavior When Unexpected Fields are Received
- •Handling of Avalon-ST Video Control Packets
- •Deinterlacing Parameter Settings
- •Deinterlacing Signals
- •Deinterlacing Control Registers
- •Design Guidelines for Broadcast Deinterlacer IP Core
- •13. Frame Reader IP Core
- •Single-Cycle Color Patterns
- •Frame Reader Output Pattern and Memory Organization
- •Frame Reader Parameter Settings
- •Frame Reader Signals
- •Frame Reader Control Registers
- •14. Frame Buffer IP Cores
- •Double Buffering
- •Triple Buffering
- •Locked Frame Rate Conversion
- •Handling of Avalon-ST Video Control Packets
- •Color Format
- •Frame Buffer Parameter Settings
- •Frame Buffer Signals
- •Frame Buffer Control Registers
- •15. Gamma Corrector IP Core
- •Gamma Corrector Parameter Settings
- •Gamma Corrector Signals
- •Gamma Corrector Control Registers
- •16. Interlacer IP Core
- •Interlacer Parameter Settings
- •Interlacer Signals
- •Interlacer Control Registers
- •17. Scaler II IP Core
- •Nearest Neighbor Algorithm
- •Bilinear Algorithm
- •Bilinear Algorithmic Description
- •Polyphase and Bicubic Algorithm
- •Double-Buffering
- •Polyphase Algorithmic Description
- •Choosing and Loading Coefficients
- •Edge-Adaptive Scaling Algorithm
- •Scaler II Parameter Settings
- •Scaler II Signals
- •Scaler II Control Registers
- •18. Video Switching IP Cores
- •Mixer Layer Switching
- •Video Switching Parameter Settings
- •Video Switching Signals
- •Video Switching Control Registers
- •19. Test Pattern Generator IP Cores
- •Test Pattern
- •Generation of Avalon-ST Video Control Packets and Run-Time Control
- •Test Pattern Generator Parameter Settings
- •Test Pattern Generator Signals
- •Test Pattern Generator Control Registers
- •20. Trace System IP Core
- •Trace System Parameter Settings
- •Trace System Signals
- •Operating the Trace System from System Console
- •Loading the Project and Connecting to the Hardware
- •Trace Within System Console
- •TCL Shell Commands
- •21. Avalon-ST Video Monitor IP Core
- •Packet Visualization
- •Monitor Settings
- •Avalon-ST Video Monitor Parameter Settings
- •Avalon-ST Video Monitor Signals
- •Avalon-ST Video Monitor Control Registers
- •Avalon-ST Video Class Library
- •Running the Tests
- •Video File Reader Test
- •Example Test Environment
- •Video Field Life Cycle
- •Constrained Random Test
- •Complete Class Reference
- •c_av_st_video_control
- •c_av_st_video_data
- •c_av_st_video_file_io
- •c_av_st_video_item
- •c_av_st_video_source_sink_base
- •c_av_st_video_sink_bfm_’SINK
- •c_av_st_video_source_bfm_’SOURCE
- •c_av_st_video_user_packet
- •c_pixel
- •Raw Video Data Format
- •Cadence Detection and Reverse Pulldown in the Deinterlacer II IP Core
- •Document Revision History
- •How to Contact Altera
UG-VIPSUITE |
|
|
|
Video Mixing Signals |
6-5 |
|
2015.01.23 |
|
|
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Parameter |
|
Value |
|
Description |
|
|
|
|
|
|
|
|
|
Run-time control |
|
1 |
|
The Mixer II IP core always requires run- |
|
|
|
|
|
|
time control. |
|
|
|
|
|
|
|
|
Video Mixing Signals
Table 6-3: Alpha Blending Mixer Signals
The table below lists the signals for Alpha Blending Mixer IP core.
|
Signal |
|
Direction |
|
Description |
|
|
|
|
|
|
|
|
|
|
|
reset |
|
Input |
|
The IP core asynchronously resets when you assert this |
||
|
|
|
|
|
signal. You must deassert this signal synchronously to the |
||
|
|
|
|
|
rising edge of the clock signal. |
||
|
|
|
|
|
|
|
|
|
clock |
|
Input |
|
The main system clock. The IP core operates on the rising |
|
|
|
|
|
|
|
edge of this signal. |
|
|
|
control_av_address |
|
Input |
|
control slave port Avalon-MM address bus. This bus |
|
|
|
|
|
|
|
specifies a word offset into the slave address space. |
||
|
|
|
|
|
|
|
|
|
control_av_chipselect |
|
Input |
|
control slave port Avalon-MM chipselect signal. The |
|
|
|
|
|
|
|
control port ignores all other signals unless you assert |
|
|
|
|
|
|
|
this signal. |
|
|
|
control_av_readdata |
|
Output |
|
control slave port Avalon-MM readdata bus. The IP |
|
|
|
|
|
|
|
core uses these output lines for read transfers. |
||
|
|
|
|
|
|
|
|
|
control_av_write |
|
Input |
|
control slave port Avalon-MM write signal. When you |
|
|
|
|
|
|
|
assert this signal, the control port accepts new data from |
|
|
|
|
|
|
|
the writedata bus. |
|
|
|
control_av_writedata |
|
Input |
|
control slave port Avalon-MM writedata bus. The IP |
|
|
|
|
|
|
|
core uses these input lines for write transfers. |
||
|
|
|
|
|
|
|
|
|
din_N_data |
|
Input |
|
din_N port Avalon-ST data bus. This bus enables the |
|
|
|
|
|
|
|
transfer of pixel data into the IP core. |
|
|
|
din_N_endofpacket |
|
Input |
|
din_N port Avalon-ST endofpacket signal. This signal |
|
|
|
|
|
|
|
marks the end of an Avalon-ST packet. |
||
|
|
|
|
|
|
|
|
|
din_N_ready |
|
Output |
|
din_N port Avalon-ST ready signal. The IP core asserts |
|
|
|
|
|
|
|
this signal when it is able to receive data. |
|
|
|
din_N_startofpacket |
|
Input |
|
din_N port Avalon-ST startofpacket signal. This signal |
|
|
|
|
|
|
|
marks the start of an Avalon-ST packet. |
||
|
|
|
|
|
|
|
|
|
din_N_valid |
|
Input |
|
din_N port Avalon-ST valid signal. This signal identifies |
|
|
|
|
|
|
|
the cycles when the port must input data. |
|
|
|
dout_N_data |
|
Output |
|
dout port Avalon-ST data bus. This bus enables the |
|
|
|
|
|
|
|
transfer of pixel data out of the IP core. |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Video Mixing IP Cores |
|
|
|
|
Altera Corporation |
||
|
Send Feedback |
|
|
|
|
|
|
6-6 |
Video Mixing Signals |
|
|
|
UG-VIPSUITE |
||
|
|
2015.01.23 |
|||||
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
Signal |
|
Direction |
|
Description |
|
|
|
|
|
|
|
|
|
|
|
dout_N_endofpacket |
|
Output |
|
dout_N port Avalon-ST endofpacket signal. This signal |
|
|
|
|
|
|
|
marks the end of an Avalon-ST packet. |
|
|
|
dout_N_ready |
|
Input |
|
dout_N port Avalon-ST ready signal. The downstream |
|
|
|
|
|
|
|
device asserts this signal when it is able to receive data. |
|
|
|
|
|
|
|
|
|
|
|
dout_N_startofpacket |
|
Output |
|
dout_N port Avalon-ST startofpacket signal. This signal |
|
|
|
|
|
|
|
marks the start of an Avalon-ST packet. |
|
|
|
dout_N_valid |
|
Output |
|
dout_N port Avalon-ST valid signal. The IP core asserts |
|
|
|
|
|
|
|
this signal when it produces data. |
|
|
|
|
|
|
|
|
|
Table 6-4: Alpha Signals for Alpha Blending Mixer IP Core
The table below lists the signals that are available only when you turn on Alpha blending in the Alpha Blending Mixer parameter editor. These signals that are available only for Alpha Blending Mixer IP core.
Signal |
|
Direction |
|
Description |
|
|
|
|
|
alpha_in_N_data |
Input |
alpha_in_N port Avalon-ST data bus. This bus enables |
|
|
the transfer of pixel data into the IP core. |
|
|
|
alpha_in_N_endofpacket |
Input |
alpha_in_N port Avalon-ST endofpacket signal. This |
|
|
signal marks the end of an Avalon-ST packet. |
alpha_in_N_ready |
Output |
alpha_in_N port Avalon-ST ready signal. The IP core |
|
|
asserts this signal when it is able to receive data. |
|
|
|
alpha_in_N_startofpacket |
Input |
alpha_in_N port Avalon-ST startofpacket signal. This |
|
|
signal marks the start of an Avalon-ST packet. |
alpha_in_N_valid |
Input |
alpha_in_N port Avalon-ST valid signal. This signal |
|
|
identifies the cycles when the port must insert data. |
Table 6-5: Mixer II Signals |
|
|
The table below lists the signals for Mixer II IP core.
Signal |
|
Direction |
|
Description |
|
|
|
|
|
reset |
|
Input |
|
The IP core asynchronously resets when you assert this |
|
|
|
|
signal. You must deassert this signal synchronously to the |
|
|
|
|
rising edge of the clock signal. |
|
|
|
|
|
clock |
|
Input |
|
The main system clock. The IP core operates on the rising |
|
|
|
|
edge of this signal. |
control_address |
|
Input |
|
control slave port Avalon-MM address bus. This bus |
|
|
|
|
specifies a word offset into the slave address space. |
|
|
|
|
|
control_read |
|
Output |
|
control slave port Avalon-MM read signal. When you |
|
|
|
|
assert this signal, the control port produces new data at |
|
|
|
|
readdata. |
|
|
|
|
|
Altera Corporation |
Video Mixing IP Cores |
|
|
Send Feedback
UG-VIPSUITE |
Video Mixing Signals |
6-7 |
|
2015.01.23 |
|||
|
|
Signal |
|
Direction |
|
Description |
|
|
|
|
|
control_readdata |
Output |
control slave port Avalon-MM readdata bus. The IP |
|
|
core uses these output lines for read transfers. |
|
|
|
control_readdatavalid |
Output |
control slave port Avalon-MM readdata bus. The IP |
|
|
core asserts this signal when the readdata bus contains |
|
|
valid data in response to the read signal. |
control_write |
Input |
control slave port Avalon-MM write signal. When you |
|
|
assert this signal, the control port accepts new data from |
|
|
the writedata bus. |
|
|
|
control_writedata |
Input |
control slave port Avalon-MM writedata bus. The IP |
|
|
core uses these input lines for write transfers. |
control_waitrequest |
Output |
control slave port Avalon-MM waitrequest signal. |
|
|
|
control_byteenable |
Output |
control slave port Avalon-MM byteenable bus. This bus |
|
|
enables specific byte lane or lanes during transfers. |
|
|
Each bit in byteenable corresponds to a byte in |
|
|
writedata and readdata. |
|
|
• During writes, byteenable specifies which bytes are |
|
|
being written to; the slave ignores other bytes. |
|
|
• During reads, byteenable indicates which bytes the |
|
|
master is reading. Slaves that simply return readdata |
|
|
with no side effects are free to ignore byteenable |
|
|
during reads. |
|
|
|
din_N_data |
Input |
din_N port Avalon-ST data bus. This bus enables the |
|
|
transfer of pixel data into the IP core. |
|
|
|
din_N_endofpacket |
Input |
din_N port Avalon-ST endofpacket signal. This signal |
|
|
marks the end of an Avalon-ST packet. |
din_N_ready |
Output |
din_N port Avalon-ST ready signal. The IP core asserts |
|
|
this signal when it is able to receive data. |
|
|
|
din_N_startofpacket |
Input |
din_N port Avalon-ST startofpacket signal. This signal |
|
|
marks the start of an Avalon-ST packet. |
din_N_valid |
Input |
din_N port Avalon-ST valid signal. This signal identifies |
|
|
the cycles when the port must input data. |
|
|
|
dout_N_data |
Output |
dout port Avalon-ST data bus. This bus enables the |
|
|
transfer of pixel data out of the IP core. |
dout_N_endofpacket |
Output |
dout_N port Avalon-ST endofpacket signal. This signal |
|
|
marks the end of an Avalon-ST packet. |
|
|
|
dout_N_ready |
Input |
dout_N port Avalon-ST ready signal. The downstream |
|
|
device asserts this signal when it is able to receive data. |
|
|
|
Video Mixing IP Cores |
Altera Corporation |
|
|
Send Feedback
6-8 |
Video Mixing Control Registers |
UG-VIPSUITE |
|
2015.01.23 |
|||
|
|
Signal |
|
Direction |
|
Description |
|
|
|
|
|
dout_N_startofpacket |
|
Output |
|
dout_N port Avalon-ST startofpacket signal. This signal |
|
|
|
|
marks the start of an Avalon-ST packet. |
|
|
|
|
|
dout_N_valid |
|
Output |
|
dout_N port Avalon-ST valid signal. The IP core asserts |
|
|
|
|
this signal when it produces data. |
|
|
|
|
|
Video Mixing Control Registers
For efficiency reasons, the Video and Image Processing Suite IP cores buffer a few samples from the input stream even if they are not immediately processed. This implies that the Avalon-ST inputs for foreground layers assert ready high, and buffer a few samples even if the corresponding layer has been deactivated.
Table 6-6: Alpha Blending Mixer Control Register Map
The table below describes the control register map for Alpha Blending Mixer IP core.
Address |
|
Register |
|
Description |
|
|
|
|
|
0 |
|
Control |
|
Bit 0 of this register is the Go bit, all other bits are unused. |
|
|
|
|
Setting this bit to 0 causes the IP core to stop the next time |
|
|
|
|
control information is read. |
|
|
|
|
|
1 |
|
Status |
|
Bit 0 of this register is the Status bit, all other bits are unused. |
|
|
|
|
|
2 |
|
Layer 1 X |
|
Offset in pixels from the left edge of the background layer to |
|
|
|
|
the left edge of layer 1. |
|
|
|
|
|
3 |
|
Layer 1 Y |
|
Offset in pixels from the top edge of the background layer to |
|
|
|
|
the top edge of layer 1. |
4 |
|
Layer 1 Active |
|
• If set to 0—data from the input stream is not pulled out. |
|
|
|
|
• If set to 1—layer 1 is displayed. |
|
|
|
|
• If set to 2—data in the input stream is consumed but not |
|
|
|
|
displayed. The IP core still propagates the Avalon-ST |
|
|
|
|
packets of type 2 to 14 as usual. |
|
|
|
|
The value of this register is checked at the start of each frame. |
|
|
|
|
If the register is changed during the processing of a video |
|
|
|
|
frame, the change does not take effect until the start of the |
|
|
|
|
next frame. |
|
|
|
|
|
5 |
|
Layer 2 X |
|
The rows in the table are repeated in ascending order for each |
|
|
|
|
layer from 1 to the foreground layer... |
|
|
|
|
|
Altera Corporation |
Video Mixing IP Cores |
|
|
Send Feedback
UG-VIPSUITE |
Video Mixing Control Registers |
6-9 |
|
2015.01.23 |
|||
|
|
Table 6-7: Mixer II Control Register Map
The table below describes the control register map for Mixer II IP core.
Address |
|
Register |
|
Description |
|
|
|
|
|
0 |
Control |
|
Bit 0 of this register is the Go bit, all other bits are unused. |
|||
|
|
|
|
Setting this bit to 0 causes the IP core to stop the next time |
||
|
|
|
|
control information is read. |
||
|
|
|
|
|
||
|
1 |
Status |
|
Bit 0 of this register is the Status bit, all other bits are unused. |
|
|
|
|
|
|
|
|
|
2 |
Interrupt |
Unused. |
||||
|
|
|
|
|
||
|
3 |
Input 0 |
X |
X offset in pixels from the left edge of the background layer to |
|
|
|
|
|
|
the left edge of input 0. |
|
|
|
4 |
Input 0 |
Y |
Y offset in pixels from the top edge of the background layer to |
|
|
|
|
|
|
the top edge of input 0. |
||
|
|
|
|
|
||
|
5 |
Input 0 |
enable |
Input 0 is displayed if you set this control register to 1. |
|
|
|
|
|
|
|
|
|
6 |
Reserved |
|
Reserved for future use. |
|||
|
|
|
|
|
||
|
7 |
Reserved |
|
Reserved for future use. |
|
|
|
|
|
|
|
|
|
8 |
Input 1 |
X |
X offset in pixels from the left edge of the background layer to |
|||
|
|
|
|
the left edge of input 1. |
||
|
|
|
|
|
||
|
9 |
Input 1 |
Y |
Y offset in pixels from the top edge of the background layer to |
|
|
|
|
|
|
the top edge of input 1. |
|
|
|
10 |
Input 1 |
enable |
Input 1 is displayed if you set this control register to 1. |
|
|
|
|
|
|
|
||
|
11 |
Reserved |
|
Reserved for future use. |
|
|
|
|
|
|
|
|
|
12 |
Reserved |
|
Reserved for future use. |
|||
|
|
|
|
|
||
|
13 |
Input 2 |
X |
X offset in pixels from the left edge of the background layer to |
|
|
|
|
|
|
the left edge of input 2. |
|
|
|
14 |
Input 2 |
Y |
Y offset in pixels from the top edge of the background layer to |
|
|
|
|
|
|
the top edge of input 2. |
||
|
|
|
|
|
||
|
15 |
Input 2 |
enable |
Input 2 is displayed if you set this control register to 1. |
|
|
|
|
|
|
|
|
|
16 |
Reserved |
|
Reserved for future use. |
|||
|
|
|
|
|
||
|
17 |
Reserved |
|
Reserved for future use. |
|
|
|
|
|
|
|
|
|
18 |
Input 3 |
X |
X offset in pixels from the left edge of the background layer to |
|||
|
|
|
|
the left edge of input 3. |
||
|
|
|
|
|
||
|
19 |
Input 3 |
Y |
Y offset in pixels from the top edge of the background layer to |
|
|
|
|
|
|
the top edge of input 3. |
|
|
|
20 |
Input 3 |
enable |
Input 3 is displayed if you set this control register to 1. |
|
|
|
|
|
|
|
||
|
21 |
Reserved |
|
Reserved for future use. |
|
|
|
|
|
|
|
|
|
22 |
Reserved |
|
Reserved for future use. |
|||
|
|
|
|
|
|
|
|
|
|
|
|
||
Video Mixing IP Cores |
|
|
|
Altera Corporation |
||
|
Send Feedback |
|
|
|
|
|