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

32.5. Generic Crosspoint 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 II 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.
Table 579.  Generic Crosspoint IP Software API
Name Description
intel_vvp_generic_crosspoint_init Initialize a Generic Crosspoint instance
intel_vvp_generic_crosspoint_get_output Get an output's selected input port
intel_vvp_generic_crosspoint_set_output Set an output's selected input port

intel_vvp_generic_crosspoint_init

prototype:
 int intel_vvp_generic_crosspoint_init(intel_vvp_generic_crosspoint_instance* instance, intel_vvp_core_base base);
description:

Initialization function for a VVP Generic Crosspoint instance.

Attempts to initialize the fields of the Generic Crosspoint and its base core

argument:

instance, pointer to the intel_vvp_generic_crosspoint_instance to initialize

base, the accessor for the core (on Nios this is a pointer to the base address of the core)

return value:

kIntelVvpCoreOk success

kIntelVvpCoreVidErr if the vendor id of the core is not the IntelFPGA vendor ID.

kIntelVvpCorePidErr if the product id of the core is not the Generic Crosspoint product id

kIntelVvpCoreInstanceErr if the instance parameter is zero (null pointer)

intel_vvp_generic_crosspoint_get_output

prototype:
 uint8_t intel_vvp_generic_crosspoint_get_output(intel_vvp_generic_crosspoint_instance* instance, uint8_t output);
description:

Get an output's selected input port

argument:

instance, pointer to the intel_vvp_generic_crosspoint_instance

output, number of the output port

return value:

Number of the input port selected by the output port

intel_vvp_generic_crosspoint_set_output

prototype:
 int intel_vvp_generic_crosspoint_set_output(intel_vvp_generic_crosspoint_instance* instance, uint8_t output, uint8_t input);
description:
argument:

instance, pointer to the intel_vvp_generic_crosspoint_instance

output, number of the output port

input, number of the input port to select

return value:

kIntelVvpGenericCrosspointOk success

kIntelVvpGenericCrosspointInstanceErr if the instance number is zero (null pointer)

kIntelVvpGenericCrosspointInputErr if the selected input doesn't exist

kIntelVvpGenericCrosspointOutputErr if the selected output doesn't exist