Video and Vision Processing Suite Intel® FPGA IP User Guide

ID 683329
Date 9/30/2024
Public
Document Table of Contents
1. About the Video and Vision Processing Suite 2. Getting Started with the Video and Vision Processing IPs 3. Video and Vision Processing IPs Functional Description 4. Video and Vision Processing IP Interfaces 5. Video and Vision Processing IP Registers 6. Video and Vision Processing IPs Software Programming Model 7. Protocol Converter Intel® FPGA IP 8. 1D LUT Intel® FPGA IP 9. 3D LUT Intel® FPGA IP 10. Adaptive Noise Reduction Intel® FPGA IP 11. Advanced Test Pattern Generator Intel® FPGA IP 12. AXI-Stream Broadcaster Intel® FPGA IP 13. Bits per Color Sample Adapter Intel® FPGA IP 14. Black Level Correction Intel® FPGA IP 15. Black Level Statistics Intel® FPGA IP 16. Chroma Key Intel® FPGA IP 17. Chroma Resampler Intel® FPGA IP 18. Clipper Intel® FPGA IP 19. Clocked Video Input Intel® FPGA IP 20. Clocked Video to Full-Raster Converter Intel® FPGA IP 21. Clocked Video Output Intel® FPGA IP 22. Color Plane Manager Intel® FPGA IP 23. Color Space Converter Intel® FPGA IP 24. Defective Pixel Correction Intel® FPGA IP 25. Deinterlacer Intel® FPGA IP 26. Demosaic Intel® FPGA IP 27. FIR Filter Intel® FPGA IP 28. Frame Cleaner Intel® FPGA IP 29. Full-Raster to Clocked Video Converter Intel® FPGA IP 30. Full-Raster to Streaming Converter Intel® FPGA IP 31. Genlock Controller Intel® FPGA IP 32. Generic Crosspoint Intel® FPGA IP 33. Genlock Signal Router Intel® FPGA IP 34. Guard Bands Intel® FPGA IP 35. Histogram Statistics Intel® FPGA IP 36. Interlacer Intel® FPGA IP 37. Mixer Intel® FPGA IP 38. Pixels in Parallel Converter Intel® FPGA IP 39. Scaler Intel® FPGA IP 40. Stream Cleaner Intel® FPGA IP 41. Switch Intel® FPGA IP 42. Text Box Intel® FPGA IP 43. Tone Mapping Operator Intel® FPGA IP 44. Test Pattern Generator Intel® FPGA IP 45. Unsharp Mask Intel® FPGA IP 46. Video and Vision Monitor Intel FPGA IP 47. Video Frame Buffer Intel® FPGA IP 48. Video Frame Reader Intel FPGA IP 49. Video Frame Writer Intel FPGA IP 50. Video Streaming FIFO Intel® FPGA IP 51. Video Timing Generator Intel® FPGA IP 52. Vignette Correction Intel® FPGA IP 53. Warp Intel® FPGA IP 54. White Balance Correction Intel® FPGA IP 55. White Balance Statistics Intel® FPGA IP 56. Design Security 57. Document Revision History for Video and Vision Processing Suite User Guide

11.5. Advanced Test Pattern Generator IP Software API

The IP includes software for run-time control. The IP does not fit any of the generic device models provided by the Nios V HAL and it exposes a set of dedicated accessors to the control and status registers. The IP driver structure inherits the base driver structure so all common methods defined in Video and Vision Processing IPs Software API are applicable.

Register definition file: intel_vvp_adv_tpg_regs.h

Include file: intel_vvp_adv_tpg.h

Table 115.  Advanced Test Pattern Generator IP Software API
Name Description
intel_vvp_adv_tpg_init Initialize the Advanced Test Pattern Generator instance
intel_vvp_core_*

Accessors defined in Video and Vision Processing IPs

Software Programming Model. Writable when Lite is on.

Readable when Lite is off and Debug features is on.

intel_vvp_adv_tpg_get_lite_mode Returns if Lite mode is on
intel_vvp_adv_tpg_get_debug_enabled Returns if Debug enabled is on
intel_vvp_adv_tpg_get_bits_per_sample Returns the number of bits per color sample
intel_vvp_adv_tpg_get_pixels_in_parallel Returns the number of pixels processed in parallel per clock cycle
intel_vvp_adv_tpg_get_color_space Returns the color space and subsampling used across all patterns
intel_vvp_adv_tpg_get_pattern_type Returns the output pattern type of a given pattern number
intel_vvp_adv_tpg_get_num_patterns Returns the number of patterns enabled
intel_vvp_adv_tpg_commit_writes Commits all outstanding writes excluding pattern configuration registers
intel_vvp_adv_tpg_get_status Returns the contents of the status register
intel_vvp_adv_tpg_is_running Returns whether the IP is currently generating video data
intel_vvp_adv_tpg_get_commit_status Returns true if the IP has any outstanding writes, excluding writes to pattern configuration registers
intel_vvp_adv_tpg_get_fields_since_last_start Returns the number of fields the IP generates since it was last started
intel_vvp_adv_tpg_enable Start/stop the IP
intel_vvp_adv_tpg_is_enabled Returns whether the IP is currently enabled
intel_vvp_adv_tpg_start Stop the IP; alias for intel_vvp_adv_tpg_enable
intel_vvp_adv_tpg_stop Start the IP; alias for intel_vvp_adv_tpg_enable
intel_vvp_adv_tpg_get_field_width Returns the width of outgoing video fields.
intel_vvp_adv_tpg_set_field_width Set the width of outgoing video fields
intel_vvp_adv_tpg_get_field_height Returns the height of outgoing video fields.
intel_vvp_adv_tpg_set_field_height Set the height of outgoing video fields
intel_vvp_adv_tpg_get_field_interlace Returns the current interlace configuration/nibble
intel_vvp_adv_tpg_set_field_interlace Set the interlace configuration/nibble of outgoing video fields
intel_vvp_adv_tpg_get_pattern_width Returns the configured width of test patterns
intel_vvp_adv_tpg_set_pattern_width Set the width of test patterns
intel_vvp_adv_tpg_get_pattern_height Returns the configured height of test patterns
intel_vvp_adv_tpg_set_pattern_height Sets the height of test patterns
intel_vvp_adv_tpg_get_pattern_alpha Returns the opaqueness of test patterns
intel_vvp_adv_tpg_set_pattern_alpha Set the opaqueness of test patterns
intel_vvp_adv_tpg_get_pattern_horiz_offset Returns the configured horizontal offset of test patterns
intel_vvp_adv_tpg_set_pattern_horiz_offset Sets the horizontal offset from the left of test patterns
intel_vvp_adv_tpg_get_pattern_vert_offset Return the configured vertical offset of test patterns
intel_vvp_adv_tpg_set_pattern_vert_offset Set the vertical offset from the left of test patterns
Table 116.  Advanced Test Pattern Generator IP Software API

These API functions do not need a call to intel_vvp_adv_tpg_commit_writes to take effect; writing to the PATTERN_X_SELECT register is selfcontained.

Name Description
intel_vvp_adv_tpg_set_bars_type Select a type of color bars for the bars pattern
intel_vvp_adv_tpg_set_constant_colors Select the color for the constant color pattern
intel_vvp_adv_tpg_set_zone_plate_settings Sets the zone plate settings
intel_vvp_adv_tpg_set_zone_plate_settings_s Sets the zone plate settings using a helper structure
intel_vvp_adv_tpg_set_digital_clock_settings Sets the digital clock settings
intel_vvp_adv_tpg_set_digital_clock_settings_s Sets the digital clock settings using a helper structure

enum eIntelAdvTpgPatternType

Members

kIntelVvpAdvTpgBarsPattern - Bars pattern

kIntelVvpAdvTpgConstantColorPattern - Uniform pattern

kIntelVvpAdvTpgPathologicalPattern - Pattern that stresses SDI receiving equipment

kIntelVvpAdvTpgZonePlatePattern - Zone plate pattern

kIntelVvpAdvTpgDigitalClockPattern - Digital clock pattern

kIntelVvpAdvTpgInvalidPattern - Invalid pattern (indicates errors)

Description

Enumeration for the supported pattern types

enum eIntelAdvTpgColorSpace

Members

kIntelVvpAdvTpgRgb - RGB 4:4:4

kIntelVvpAdvTpgYcc444 - YcbCr/YUV 4:4:4

kIntelVvpAdvTpgYcc422 - YcbCr/YUV 4:2:2

kIntelVvpAdvTpgYcc420 - YcbCr/YUV 4:2:0

kIntelVvpAdvTpgMono - Monochrome

kIntelVvpAdvTpgInvalidColor - Invalid color space/subsampling (indicates errors)

Description

Enumeration for the supported color spaces and subsampling

enum eIntelAdvTpgBarsType

Members

Members kIntelVvpAdvTpgColorBars - Standard color bars

kIntelVvpAdvTpgGreyBars - Grey bars

kIntelVvpAdvTpgBlackWhiteBars - Alternating black and white bars

kIntelVvpAdvTpgMixedBars - Mixed type bars

kIntelVvpAdvTpgInvalidBars - Invalid bars pattern (indicates errors)

Description

Enumeration for the supported color bar patterns

struct intel_vvp_adv_tpg_zone_plate_settings

Members

uint16_t origin_x - The desired zone plate origin x-coordinate

uint16_t origin_y - The desired zone plate origin y-coordinate

uint16_t coarse_factor - The coarse scaling coefficient of the zone plate

uint16_t fine_factor - The fine-tune scaling coefficient of the zone plate

Description

Structure to contain all necessary information about a single instance of the zone plate pattern.

struct intel_vvp_adv_digital_clock_settings

Members

uint8_t config_bits - Control bits to pause or reset the display of the digital clock

uint16_t background_b - The desired digital clock background color (B/Cb component)

uint16_t background_g - The desired digital clock background color (G/Y component)

uint16_t background_r - The desired digital clock background color (R/Cr component) uint16_t font_b - The desired digital clock font color (B/Cb component)

uint16_t font_g - The desired digital clock font color (G/Y component)

uint16_t font_r - The desired digital clock font color (R/Cr component)

uint16_t location_x - The desired digital clock position x-coordinate

uint16_t location_y - The desired digital clock position y-coordinate

uint16_t scale_factor - The digital clock scaling multiplier

uint16_t fps - The value for the digital clock to determine after how many fields one second passes

Description

Structure to contain all necessary information about a single instance of the digital clock pattern.

intel_vvp_adv_tpg_init

Prototype
int intel_vvp_adv_tpg_init(intel_vvp_adv_tpg_instance *instance, intel_vvp_core_base base);
Description

Initializes an Advanced Test Pattern Generator instance. The initialization stops early if the vendor ID or product ID read at the base address are not a match or if the register map version is not supported. Otherwise, the function proceeds to read and store IP compile-time parameterization. The instance does not fully initialize and should not be used by the application if returning a non-zero error code.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

base - base address of the register map

Returns

kIntelVvpCoreOk (0) in case of success; a negative error code in case of error

kIntelVvpCoreVidErr if the vendor ID of the IP is not the IntelFPGA vendor ID (0x6AF7)

kIntelVvpCorePidErr if the product_id does not match with the Advanced Test Pattern Generator product ID (0x0252)

kIntelVvpCoreInstanceErr if the instance is a null pointer

kIntelVvpAdvTpgRegMapVerisonErr if the register map is not supported

intel_vvp_adv_tpg_get_lite_mode

Prototype
bool intel_vvp_adv_tpg_get_lite_mode(intel_vvp_adv_tpg_instance *instance);
Description

Returns the value of the LITE_MODE register. The instance must be a fully initialized valid intel_vvp_adv_tpg_instance

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

true if the IP is in lite mode; false otherwise

intel_vvp_adv_tpg_get_debug_enabled

Prototype
bool intel_vvp_adv_tpg_get_debug_enabled(intel_vvp_adv_tpg_instance *instance);
Description

Returns the value of the DEBUG_ENABLED register. The instance must be a fully initialized valid intel_vvp_adv_tpg_instance

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

true if debug features is on; false otherwise

intel_vvp_adv_tpg_get_bits_per_sample

Prototype
uint8_t intel_vvp_adv_tpg_get_bps(intel_vvp_adv_tpg_instance *instance);
Description

Returns the value of the BPS register.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

The number of bits per color sample set at compile time

intel_vvp_adv_tpg_get_pixels_in_parallel

Prototype
uint8_t intel_vvp_adv_tpg_get_pixels_in_parallel(intel_vvp_adv_tpg_instance *instance);
Description

Returns the value of the PIXELS_IN_PARALLEL register. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

The number of pixels generated in parallel per clock cycle

intel_vvp_adv_tpg_get_color_space

Prototype
eIntelVvpAdvTpgColorSpace intel_vvp_adv_tpg_get_color_space(intel_vvp_adv_tpg_instance *instance);
Description

Returns the color space that the IP has been configured with. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

eIntelVvpAdvTpgColorSpace corresponding to the color space and subsampling used across all patterns.

intel_vvp_adv_tpg_get_pattern_type

Prototype
eIntelVvpAdvTpgPatternType intel_vvp_adv_tpg_get_pattern_type(intel_vvp_adv_tpg_instance *instance, int pattern_num);
Description

Arguments

Returns

Prototype
 
    
Description

Returns the pattern type of a given pattern number. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

pattern_num - The pattern number to query.

eIntelVvpAdvTpgPatternType corresponding to the queried pattern number

kIntelVvpAdvTpgInvalidPattern if pattern_num is greater than or equal to the number of patterns.

intel_vvp_adv_tpg_get_num_patterns

Prototype
int intel_vvp_adv_tpg_get_num_patterns(intel_vvp_adv_tpg_instance *instance);
Description

Returns the value of the NUM_PATTERNS register, that is the number of patterns enabled at compile-time. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

The number of patterns configured at compile time

intel_vvp_adv_tpg_commit_writes

Prototype
int intel_vvp_adv_tpg_commit_writes(intel_vvp_adv_tpg_instance* instance);
Description

Commit all outstanding writes before starting the next field. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

Returns kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

intel_vvp_adv_tpg_get_status

Prototype
int intel_vvp_adv_tpg_get_status(intel_vvp_adv_tpg_instance *instance);
Description

Returns the value of the STATUS register. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

The value read from the STATUS register

intel_vvp_adv_tpg_is_running

Prototype
bool intel_vvp_adv_tpg_is_running(intel_vvp_adv_tpg_instance* instance);
Description

Returns the running bit of the STATUS register, where true indicates that the IP is running. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

True if the IP is currently generating an output field, false if between fields or the IP stops.

intel_vvp_adv_tpg_get_commit_status

Prototype
bool intel_vvp_adv_tpg_get_commit_status(intel_vvp_adv_tpg_instance* instance);
Description

Returns the commit pending bit of the STATUS register, where true indicates that there are outstanding register writes. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

True if you have outstanding writes to the IP, false once you commit all write.

intel_vvp_adv_tpg_enable

Prototype
int intel_vvp_adv_tpg_enable(intel_vvp_adv_tpg_instance* instance, bool enabled);
Description

Start or stop the IP after the current field. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

enabled - True to start the IP and generate fields, false to stop the IP after the current field.

Returns

Returns kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

intel_vvp_adv_tpg_is_enabled

Prototype
bool intel_vvp_adv_tpg_is_enabled(intel_vvp_adv_tpg_instance* instance);
Description

Returns whether the IP is enabled. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance, and debug features is on.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

True if the IP is enabled (started), false if the IP is stopped or instance is invalid or debug features is off.

intel_vvp_adv_tpg_start

Prototype
int intel_vvp_adv_tpg_start(intel_vvp_adv_tpg_instance* instance);
Description

Start the IP; alias for intel_vvp_adv_tpg_enable(instance, true). The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

intel_vvp_adv_tpg_stop

Prototype
int intel_vvp_adv_tpg_stop(intel_vvp_adv_tpg_instance* instance);
Description

Stop the IP after the current field; alias for intel_vvp_adv_tpg_enable(instance, false). The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

intel_vvp_adv_tpg_get_fields_since_last_start

Prototype
uint32_t intel_vvp_adv_tpg_get_fields_since_last_start(intel_vvp_adv_tpg_instance* instance);
Description

Returns the number of fields the IP generates since it last started. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

The number of fields generated since the IP was last started (or 0xFFFFFFFF if instance is null).

intel_vvp_adv_tpg_get_field_width

Prototype
uint32_t intel_vvp_adv_tpg_get_field_width(intel_vvp_adv_tpg_instance* instance);
Description

Returns the configured width of generated fields. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance, and debug features must be enabled.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

The field width (or 0xFFFFFFFF if instance is null and debug features is off).

intel_vvp_adv_tpg_set_field_width

Prototype
int intel_vvp_adv_tpg_set_field_width(intel_vvp_adv_tpg_instance* instance, uint32_t width);
Description

Returns the configured width of generated fields. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null or debug features is off.

intel_vvp_adv_tpg_get_field_height

Prototype
uint32_t intel_vvp_adv_tpg_get_field_height(intel_vvp_adv_tpg_instance* instance);
Description

Returns the configured height of generated fields. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance, and debug features must be on.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

The field height (or 0xFFFFFFFF if instance is null and debug features is off).

intel_vvp_adv_tpg_set_field_height

Prototype
int intel_vvp_adv_tpg_set_field_height(intel_vvp_adv_tpg_instance* instance, int32_t height);
Description

Returns the configured width of generated fields. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

height - The desired field height

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null or debug features is off.

intel_vvp_adv_tpg_get_field_interlace

Prototype
uint8_t intel_vvp_adv_tpg_get_field_interlace(intel_vvp_adv_tpg_instance* instance);
Description

Returns the set interlace configuration of generated fields. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance, and debug features must be on.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

Returns

The field width (or 0xFF if instance is null and debug features is off).

intel_vvp_adv_tpg_set_field_interlace

Prototype
int intel_vvp_adv_tpg_set_field_interlace(intel_vvp_adv_tpg_instance* instance, uint8_t interlace);
Description

Set the interlace configuration of generated fields and the value to populate the interlace nibble in image information metapackets. Write 0-7 for progressive output, 8-11 for F0 first interlaced output, and 12-15 for F1 first interlaced output. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

interlace - The desired interlace configuration/nibble

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null or debug features is off.

intel_vvp_adv_tpg_get_pattern_width

Prototype
uint32_t intel_vvp_adv_tpg_get_pattern_width(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num);
Description

Returns the configured width of a given pattern excluding pattern 0. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance, and debug features must be on.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num – The pattern number to query

Returns

The configured pattern width (or 0xFFFFFFFF if instance is null/ or debug features is off or pattern_num is 0).

intel_vvp_adv_tpg_set_pattern_width

Prototype
int intel_vvp_adv_tpg_set_pattern_width(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num, uint32_t width);
Description

Set the width of a given pattern excluding pattern 0. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number corresponding to the desired pattern.

width - The desired width to configure a pattern with

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

kIntelVvpAdvTpgPatternZeroErr if pattern_num is 0

kIntelVvpAdvTpgInvalidPatternErr if pattern_num is greater or equal to the number of patterns.

intel_vvp_adv_tpg_get_pattern_height

Prototype
uint32_t intel_vvp_adv_tpg_get_pattern_height(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num);
Description

Returns the configured height of a given pattern excluding pattern 0. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance, and debug features must be on.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number to query

Returns

The configured pattern height (or 0xFFFFFFFF if instance is null or debug features is off or pattern_num is 0).

intel_vvp_adv_tpg_set_pattern_height

Prototype
int intel_vvp_adv_tpg_set_pattern_height(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num, uint32_t height);
Description

Set the height of a given pattern excluding pattern 0. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number corresponding to the desired pattern.

height - The desired height to configure a pattern with

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

kIntelVvpAdvTpgPatternZeroErr if pattern_num is 0

kIntelVvpAdvTpgInvalidPatternErr if pattern_num is greater or equal to the number of patterns.

intel_vvp_adv_tpg_get_pattern_alpha

Prototype
uint16_t intel_vvp_adv_tpg_get_pattern_alpha(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num);
Description

Returns the configured alpha value (opacity) of a given pattern excluding pattern 0. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance, and debug features must be on.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number to query

Returns

The configured pattern alpha (or 0xFFFF if instance is null or debug features is off or pattern_num is 0).

intel_vvp_adv_tpg_set_pattern_alpha

Prototype
int intel_vvp_adv_tpg_set_pattern_alpha(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num, uint16_t alpha);
Description

Set the alpha value (opacity) of a given pattern excluding pattern 0. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number corresponding to the desired pattern.

alpha - The desired alpha to configure a pattern with

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

kIntelVvpAdvTpgColorErr if alpha is greater than the maximum allowed by the bits per color sample

kIntelVvpAdvTpgPatternZeroErr if pattern_num is 0

kIntelVvpAdvTpgInvalidPatternErr if pattern_num is greater or equal to the number of patterns

intel_vvp_adv_tpg_get_pattern_horiz_offset

Prototype
uint32_t intel_vvp_adv_tpg_get_pattern_horiz_offset(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num);
Description

Returns the configured horizontal offset (from the left) of a given pattern excluding pattern 0. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance, and debug features must be on.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number to query

Returns

The configured pattern horizontal offset (or 0xFFFFFFFF if instance is null or debug features is off or pattern_num is 0).

intel_vvp_adv_tpg_set_pattern_horiz_offset

Prototype
int intel_vvp_adv_tpg_set_pattern_horiz_offset(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num, uint32_t h_offset);
Description

Set the horizontal offset (from the left) of a given pattern excluding pattern 0. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number corresponding to the desired pattern.

h_offset - The desired horizontal offset to configure a pattern with

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

kIntelVvpAdvTpgPatternZeroErr if pattern_num is 0

kIntelVvpAdvTpgInvalidPatternErr if pattern_num is greater or equal to the number of patterns.

intel_vvp_adv_tpg_get_pattern_vert_offset

Prototype
uint32_t intel_vvp_adv_tpg_get_pattern_vert_offset(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num);
Description

Returns the configured vertical offset (from the top) of a given pattern excluding pattern 0. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance, and debug features must be on.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number to query

Returns

The configured pattern vertical offset (or 0xFFFFFFFF if instance is null and debug features is off and pattern_num is 0).

intel_vvp_adv_tpg_set_pattern_vert_offset

Prototype
int intel_vvp_adv_tpg_set_pattern_vert_offset(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num, uint32_t v_offset);
Description

Set the vertical offset (from the top) of a given pattern excluding pattern 0. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number corresponding to the desired pattern.

v_offset - The desired vertical offset to configure a pattern with

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

kIntelVvpAdvTpgPatternZeroErr if pattern_num is 0

kIntelVvpAdvTpgInvalidPatternErr if pattern_num is greater or equal to the number of patterns.

intel_vvp_tpg_set_bars_type

Prototype
int intel_vvp_adv_tpg_set_bars_type(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num, eIntelVvpAdvTpgBarsType bar_type);
Description

Selects the type of color bars (black/white, grey, color, mixed) of a given pattern of type kIntelVvpAdvTpgBarsPattern. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number corresponding to the desired pattern

bar_type - The type of bars pattern

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

kIntelVvpAdvTpgPatternZeroErr if pattern_num is 0

kIntelVvpAdvTpgInvalidPatternErr if pattern_num is greater or equal to the number of patterns, or if the pattern_num does not correspond to a pattern of type

kIntelVvpAdvTpgBarsPattern

intel_vvp_tpg_set_constant_colors

Prototype
int intel_vvp_adv_tpg_set_constant_colors(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num, uint16_t color1, uint16_t color2, uint16_t color3);
Description

Set the color of a given pattern of type kIntelVvpAdvTpgConstantColorPattern. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number corresponding to the desired pattern

color1, color2, color3 - The new color sample values

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

kIntelVvpAdvTpgPatternZeroErr if pattern_num is 0

kIntelVvpAdvTpgInvalidPatternErr if pattern_num is greater or equal to the number of patterns, or if the pattern_num does not correspond to a pattern of type

kIntelVvpAdvTpgConstantColorPattern

kIntelVvpAdvTpgColorErr if any of the provided color sample values are greater than the maximum allowed by the bits per color sample

intel_vvp_tpg_set_zone_plate_settings

Prototype
int intel_vvp_adv_tpg_set_zone_plate_settings(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num, uint16_t x_coord, uint16_t y_coord, uint16_t coarse_factor, uint16_t fine_tune_factor);
Description

Configure the scaling and origin coordinates of a given pattern of type kIntelVvpAdvTpgZonePlatePattern. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number corresponding to the desired pattern

x_coord, y_coord - The coordinates of the zone plate origin

coarse_factor - The coarse scaling coefficient of the zone plate

fine_tune_factor - The fine-tune scaling coefficient of the zone plate; this is a 16-bit fixed point number with 8 fractional bits.

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

kIntelVvpAdvTpgPatternZeroErr if pattern_num is 0

kIntelVvpAdvTpgInvalidPatternErr if pattern_num is greater or equal to the number of patterns, or if the pattern_num does not correspond to a pattern of type

kIntelVvpAdvTpgZonePlatePattern

intel_vvp_tpg_set_zone_plate_settings_s

Prototype
int intel_vvp_adv_tpg_set_zone_plate_settings_s(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num, intel_vvp_adv_tpg_zone_plate_settings *settings_struct);
Description

Configure the scaling and origin coordinates of a given pattern of type kIntelVvpAdvTpgZonePlatePattern. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number corresponding to the desired pattern

settings_struct - Pointer to the struct containing zone plate configuration

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

kIntelVvpAdvTpgPatternZeroErr if pattern_num is 0

kIntelVvpAdvTpgInvalidPatternErr if pattern_num is greater or equal to the number of patterns, or if the pattern_num does not correspond to a pattern of type

kIntelVvpAdvTpgZonePlatePattern

intel_vvp_tpg_set_digital_clock_settings

Prototype
int intel_vvp_adv_tpg_set_digital_clock_settings(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num, uint8_t config_bits, uint16_t background_r, uint16_t background_g, uint16_t background_b, uint16_t font_r, uint16_t font_g, uint16_t font_b, uint16_t location_x, uint16_t location_y, uint16_t scale_factor, uint8_t fps);
Description

Configure colors, location, size and control values of a given pattern of type kIntelVvpAdvTpgDigitalClockPattern using the helper struct. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number corresponding to the desired pattern

config_bits - Set bit 0 to pause the digital display, set bit 1 to reset the digital display

background_b, background_g, background_r - The background color samples

font_b, font_g, font_r - The font color samples

location_x, location_y - The location for the digital clock display

scale_factor - The digital display sizing coefficient. If 1, the display ix 88x8 pixels.

fps - The number of frames the IP generates for one second to has elapsed.

Returns

kIntelVvpCoreOk (0) in case of success

kIntelVvpCoreInstanceErr if the instance is null.

kIntelVvpAdvTpgPatternZeroErr if pattern_num is 0

kIntelVvpAdvTpgInvalidPatternErr if pattern_num is greater or equal to the number of patterns, or if the pattern_num does not correspond to a pattern of type

kIntelVvpAdvTpgDigitalClockPattern

kIntelVvpAdvTpgColorErr if any of the background or font color samples are greater than the maximum allowed by the bits per color sample

intel_vvp_tpg_set_digital_clock_settings_s

Prototype
int intel_vvp_adv_tpg_set_digital_clock_settings_s(intel_vvp_adv_tpg_instance* instance, uint8_t pattern_num, intel_vvp_adv_tpg_digital_clock_settings *settings_struct);
Description

Configure colors, location, size and control values of a given pattern of type kIntelVvpAdvTpgDigitalClockPattern using the helper struct. The instance must be a valid and initialized instance of intel_vvp_adv_tpg_instance.

Arguments

instance - pointer to the intel_vvp_adv_tpg_instance software driver instance structure

pattern_num - The pattern number corresponding to the desired pattern

settings_struct - Pointer to the struct containing the digital clock configuration

Returns

kIntelVvpCoreOk (0) in case of success.

kIntelVvpCoreInstanceErr if the instance is null.

kIntelVvpAdvTpgPatternZeroErr if pattern_num is 0

kIntelVvpAdvTpgInvalidPatternErr if pattern_num is greater or equal to the number of patterns, or if the pattern_num does not correspond to a pattern of type

kIntelVvpAdvTpgZonePlatePattern

kIntelVvpAdvTpgColorErr if any of the background or font color samples are greater than the maximum allowed by the bits per color sample