Video and Vision Processing Suite Intel® FPGA IP User Guide

ID 683329
Date 12/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

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. AXI-Stream Broadcaster Intel® FPGA IP 11. Bits per Color Sample Adapter Intel FPGA IP 12. Black Level Correction Intel® FPGA IP 13. Black Level Statistics Intel® FPGA IP 14. Chroma Key Intel® FPGA IP 15. Chroma Resampler Intel® FPGA IP 16. Clipper Intel® FPGA IP 17. Clocked Video Input Intel® FPGA IP 18. Clocked Video to Full-Raster Converter Intel® FPGA IP 19. Clocked Video Output Intel® FPGA IP 20. Color Space Converter Intel® FPGA IP 21. Defective Pixel Correction Intel® FPGA IP 22. Deinterlacer Intel® FPGA IP 23. Demosaic Intel® FPGA IP 24. FIR Filter Intel® FPGA IP 25. Frame Cleaner Intel® FPGA IP 26. Full-Raster to Clocked Video Converter Intel® FPGA IP 27. Full-Raster to Streaming Converter Intel® FPGA IP 28. Genlock Controller Intel® FPGA IP 29. Generic Crosspoint Intel® FPGA IP 30. Genlock Signal Router Intel® FPGA IP 31. Guard Bands Intel® FPGA IP 32. Histogram Statistics Intel® FPGA IP 33. Interlacer Intel® FPGA IP 34. Mixer Intel® FPGA IP 35. Pixels in Parallel Converter Intel® FPGA IP 36. Scaler Intel® FPGA IP 37. Stream Cleaner Intel® FPGA IP 38. Switch Intel® FPGA IP 39. Tone Mapping Operator Intel® FPGA IP 40. Test Pattern Generator Intel® FPGA IP 41. Unsharp Mask Intel® FPGA IP 42. Video and Vision Monitor Intel FPGA IP 43. Video Frame Buffer Intel® FPGA IP 44. Video Frame Reader Intel FPGA IP 45. Video Frame Writer Intel FPGA IP 46. Video Streaming FIFO Intel® FPGA IP 47. Video Timing Generator Intel® FPGA IP 48. Vignette Correction Intel® FPGA IP 49. Warp Intel® FPGA IP 50. White Balance Correction Intel® FPGA IP 51. White Balance Statistics Intel® FPGA IP 52. Design Security 53. Document Revision History for Video and Vision Processing Suite User Guide

47.6. Video Timing 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 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.

intel_vvp_vtiming_get_param_vid_pid

prototype:
 int intel_vvp_vtiming_get_param_vid_pid(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The product ID number

intel_vvp_vtiming_get_param_version_number

prototype:
 int intel_vvp_vtiming_get_param_version_number(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The IP version number

intel_vvp_vtiming_get_param_num_pulses

prototype:
 int intel_vvp_vtiming_get_param_num_pulses(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The NUM_PULSES parameter

intel_vvp_vtiming_get_param_output_is_cv

prototype:
 int intel_vvp_vtiming_get_param_output_is_cv(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The OUTPUT_IS_CV parameter

intel_vvp_vtiming_get_param_aligned_only

prototype:
 int intel_vvp_vtiming_get_param_aligned_only(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The ALIGNED_ONLY parameter

intel_vvp_vtiming_get_param_color_planes

prototype:
 int intel_vvp_vtiming_get_param_color_planes(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The NUMBER_OF_COLOR_PLANES parameter

intel_vvp_vtiming_get_param_pip

prototype:
 int intel_vvp_vtiming_get_param_pip(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The PIXELS_IN_PARALLEL parameter

intel_vvp_vtiming_get_param_bps

prototype:
 int intel_vvp_vtiming_get_param_bps(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The BPS parameter

intel_vvp_vtiming_get_param_hsize

prototype:
 int intel_vvp_vtiming_get_param_hsize(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The HSIZE parameter

intel_vvp_vtiming_get_param_vsize

prototype:
 int intel_vvp_vtiming_get_param_vsize(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The VSIZE parameter

intel_vvp_vtiming_get_param_cpu_clk_freq_hz

prototype:
 int intel_vvp_vtiming_get_param_cpu_clk_freq_hz(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The CPU_CLK_FREQ_HZ parameter

intel_vvp_vtiming_get_param_build_hard_frame_lock

prototype:
 int intel_vvp_vtiming_get_param_hard_frame_lock(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The BUILD_HARD_FRAME_LOCK parameter

intel_vvp_vtiming_get_param_build_soft_frame_lock

prototype:
 int intel_vvp_vtiming_get_param_sof_frame_lock(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The BUILD_SOFT_FRAME_LOCK parameter

intel_vvp_vtiming_get_param_build_vrr

prototype:
 int intel_vvp_vtiming_get_param_build_vrr(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The BUILD_VRR parameter

intel_vvp_vtiming_get_frame_start_pulse

prototype:
 int intel_vvp_vtiming_get_frame_start_pulse(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The FRAME START IS PULSE field from REG_MODE register

intel_vvp_vtiming_set_frame_start_pulse

prototype:
 int intel_vvp_vtiming_set_frame_start_pulse(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, setting this value forces the IP to generate the SOF as a short pulse, otherwise it is a toggle signal.

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_out_is_blank

prototype:
 int intel_vvp_vtiming_get_out_is_blank(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The BLANK_N_SYNC field from REG_MODE register

intel_vvp_vtiming_set_out_is_blank

prototype:
 int intel_vvp_vtiming_set_out_is_blank(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, setting this value forces the IP to generate blank timing, otherwise it generates sync timing.

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_allow_hv_reset

prototype:
 int intel_vvp_vtiming_get_allow_hv_reset(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The HARDFRAMELOCK field from REG_MODE register

intel_vvp_vtiming_set_allow_hv_reset

prototype:
 int intel_vvp_vtiming_get_allow_hv_reset(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, setting this value forces the IP to enable the hard frame lock.

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_use_soft_reset

prototype:
 int intel_vvp_vtiming_get_use_soft_reset(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The SOFTFRAMELOCK field from REG_MODE register

intel_vvp_vtiming_set_use_soft_reset

prototype:
 int intel_vvp_vtiming_set_use_soft_reset(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, setting this value forces the IP to enable the soft frame lock.

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_vrr

prototype:
 int intel_vvp_vtiming_get_vrr(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The VRR ENABLE field from REG_MODE register

intel_vvp_vtiming_set_vrr

prototype:
 int intel_vvp_vtiming_set_vrr(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, setting this value forces the IP to enable the Variable Refresh Rate.

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_vrr_linemode

prototype:
 int intel_vvp_vtiming_get_vrr_linemode(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The VRR LINE MODE field from REG_MODE register

intel_vvp_vtiming_set_vrr_linemode

prototype:
 int intel_vvp_vtiming_set_vrr_linemode(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, setting this value forces the IP to enable the Variable Refresh Rate in line mode.

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_hreset

prototype:
 int intel_vvp_vtiming_get_tim_hreset(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The HRESET field from REG_RESET_POS register

intel_vvp_vtiming_set_tim_hreset

prototype:
 int intel_vvp_vtiming_set_tim_hreset(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the expected horizontal position for the frame start input signal.

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_vreset

prototype:
 int intel_vvp_vtiming_get_tim_vreset(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The VRESET field from REG_RESET_POS register

intel_vvp_vtiming_set_tim_vreset

prototype:
 int intel_vvp_vtiming_set_tim_vreset(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the expected vertical position for the frame start input signal.

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_htotal

prototype:
 int intel_vvp_vtiming_get_tim_htotal(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The HTOTAL field from REG_TOTALS register

intel_vvp_vtiming_set_tim_htotal

prototype:
 int intel_vvp_vtiming_set_tim_htotal(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the width of the raster

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_vtotal

prototype:
 int intel_vvp_vtiming_get_tim_vtotal(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The VTOTAL field from REG_TOTALS register

intel_vvp_vtiming_set_tim_vtotal

prototype:
 int intel_vvp_vtiming_set_tim_vtotal(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the height of the raster

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_hb_end

prototype:
 int intel_vvp_vtiming_get_tim_hb_end(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The HB_END field from REG_HB_END register

intel_vvp_vtiming_set_tim_hb_end

prototype:
 int intel_vvp_vtiming_set_tim_hb_end(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the first active pixel after horizontal blanking

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_v{INDX}b_start where {INDX} goes from 1 to 2

prototype:
 int intel_vvp_vtiming_get_tim_v{INDX}b_start(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The V{INDX}B START FIELD from REG_V{INDX}B_POS register

intel_vvp_vtiming_set_tim_v{INDX}b_start

prototype:
 int intel_vvp_vtiming_set_tim_v{INDX}b_start(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the first line of vertical blanking for field {INDX}

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_v{INDX}b_end

prototype:
 int intel_vvp_vtiming_get_tim_v{INDX}b_end(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The V{INDX}B END FIELD from REG_V{INDX}B_POS register

intel_vvp_vtiming_set_tim_v{INDX}b_end

prototype:
 int intel_vvp_vtiming_set_tim_v{INDX}b_end(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the last line of vertical blanking for field {INDX}

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_f{INDX}_start where {INDX} goes from 1 to 2

prototype:
 int intel_vvp_vtiming_get_tim_f{INDX}_start(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The FIELD {INDX} START from REG_FIELD_STARTS register

intel_vvp_vtiming_set_tim_f{INDX}_start

prototype:
 int intel_vvp_vtiming_set_tim_f{INDX}_start(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the first line of field {INDX}

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_hs_start

prototype:
 int intel_vvp_vtiming_get_tim_hs_start(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The HSYNC START from REG_HS_POS register

intel_vvp_vtiming_set_tim_hs_start

prototype:
 int intel_vvp_vtiming_set_tim_hs_start(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the first pixel of the horizontal sync

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_hs_end

prototype:
 int intel_vvp_vtiming_get_tim_hs_end(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The HSYNC END from REG_HS_POS register

intel_vvp_vtiming_set_tim_hs_end

prototype:
 int intel_vvp_vtiming_set_tim_hs_end(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the first pixel after the horizontal sync

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_v{INDX}s_vstart where {INDX} goes from 1 to 2

prototype:
int intel_vvp_vtiming_get_tim_v{INDX}s_vstart(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The V{INDX}SYNC VSTART from REG_V{INDX}S_START register

intel_vvp_vtiming_set_tim_v{INDX}s_vstart

prototype:
 int intel_vvp_vtiming_set_tim_v{INDX}s_vstart(intel_vvp_vtiming_instance* instance, uint32_t in_val);argument:
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the first line of the vertical sync for field {INDX}

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_v{INDX}s_hstart

prototype:
 int intel_vvp_vtiming_get_tim_v{INDX}s_hstart(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The V{INDX}SYNC HSTART from REG_V{INDX}S_START register

intel_vvp_vtiming_set_tim_v{INDX}s_hstart

prototype:
 int intel_vvp_vtiming_set_tim_v{INDX}s_hstart(intel_vvp_vtiming_instance* instance, uint32_t in_val);argument:
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the first pixel of the vertical sync for field {INDX}

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_v{INDX}s_vend

prototype:
 int intel_vvp_vtiming_get_tim_v{INDX}s_vend(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The V{INDX}SYNC VEND from REG_V{INDX}S_END register

intel_vvp_vtiming_set_tim_v{INDX}s_vend

prototype:
 int intel_vvp_vtiming_set_tim_v{INDX}s_vend(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the last line of the vertical sync for field {INDX}

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_v{INDX}s_hend

prototype:
 int intel_vvp_vtiming_get_tim_v{INDX}s_hend(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The V{INDX}SYNC HEND from REG_V{INDX}S_END register

intel_vvp_vtiming_set_tim_v{INDX}s_hend

prototype:
 int intel_vvp_vtiming_set_tim_v{INDX}s_hend(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the first pixel after the vertical sync for field 1{INDX}

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_frame_start_jitter

prototype:
 int intel_vvp_vtiming_get_frame_start_jitter(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The FRAME START MAX JITTER from REG_JITTER_CONT register

intel_vvp_vtiming_set_frame_start_jitter

prototype:
 int intel_vvp_vtiming_set_frame_start_jitter(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the number of video clock cycles either side of the position of the expected start of frame

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_frame_adj_ignore

prototype:
 int intel_vvp_vtiming_get_frame_adj_ignore(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The SOFT LOCK FRAME START IGNORE from REG_JITTER_CONT register

intel_vvp_vtiming_set_frame_adj_ignore

prototype:
 int intel_vvp_vtiming_set_frame_adj_ignore(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, when you select True for Soft frame lock, this parameter specifies the number of lines where the frame start input signal is ignored

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_frame_adj_window

prototype:
 int intel_vvp_vtiming_get_frame_adj_window(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The SOFT LOCK FRAME START ADJUST from REG_JITTER_CONT register

intel_vvp_vtiming_set_frame_adj_window

prototype:
 int intel_vvp_vtiming_set_frame_adj_ignore(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, when you select True for Soft frame lock, this parameter specifies the total number of lines for soft lock, including the “ignore” lines.

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_black_{INDX} where {INDX} goes from 0 to 3

prototype:
 int intel_vvp_vtiming_get_black_{INDX}(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

REG_BLACK_{INDX} register

intel_vvp_vtiming_set_black_{INDX}

prototype:
 int intel_vvp_vtiming_set_black_{INDX}(intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, the pixel value for color plane {INDX}.

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_start_counter

prototype:
 int intel_vvp_vtiming_get_start_count(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The START COUNTER field from REG_FRAME_COUNTS register

intel_vvp_vtiming_get_frame_count

prototype:
 int intel_vvp_vtiming_get_frame_count(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The FRAME COUNTER field from REG_FRAME_COUNTS register

intel_vvp_vtiming_get_actual_pixels_latched

prototype:
 int intel_vvp_vtiming_get_actual_pixels_latched(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The FRAME LENGTH field from REG_FRAME_LENGTH register

intel_vvp_vtiming_get_tim_vtotal_latched

prototype:
 int intel_vvp_vtiming_get_1_second_ltchd(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The VTOTAL_ADJ field from REG_VTOTAL_ADJ register

intel_vvp_vtiming_get_1_second_ltchd

prototype:
 int intel_vvp_vtiming_get_1_second_ltchd(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The VIDCLKFREQ field from REG_VID_FREQ register

intel_vvp_vtiming_get_hv_reset_count

prototype:
 int intel_vvp_vtiming_get_hv_reset(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The RESET COUNT field from REG_GENLOCK_STATS0 register

intel_vvp_vtiming_get_stable_count

prototype:
 int intel_vvp_vtiming_get_stable_count(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The STABLE COUNT field from REG_GENLOCK_STATS0 register

intel_vvp_vtiming_get_inc_count

prototype:
 int intel_vvp_vtiming_get_inc_count(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The VTOTAL INC COUNTER field from REG_GENLOCK_STATS1 register

intel_vvp_vtiming_get_dec_count

prototype:
 int intel_vvp_vtiming_get_dec_count(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The VTOTAL DEC COUNTER field from REG_GENLOCK_STATS1 register

intel_vvp_vtiming_get_tim_pulse{INDX}_hstart where {INDX} goes from 0 to 7

prototype:
 int intel_vvp_vtiming_get_tim_pulse{INDX}_hstart(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The PULSE {INDX} HSTART field from REG_PULSE{INDX}_START register

intel_vvp_vtiming_set_tim_pulse{INDX}_hstart

prototype:
 intel_vvp_vtiming_set_tim_pulse{INDX}_hstart (intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, sets the position of the first pixel of the pulse

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_pulse{INDX}_vstart

prototype:
 int intel_vvp_vtiming_get_tim_pulse{INDX}_vstart(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The PULSE {INDX} VSTART field from REG_PULSE{INDX}_START register

intel_vvp_vtiming_set_tim_pulse{INDX}_vstart

prototype:
 intel_vvp_vtiming_set_tim_pulse{INDX}_vstart (intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, sets the position of the first line of the pulse

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_pulse{INDX}_hend

prototype:
int intel_vvp_vtiming_get_tim_pulse{INDX}_hend(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The PULSE {INDX} HEND field from REG_PULSE{INDX}_END register

intel_vvp_vtiming_set_tim_pulse{INDX}_hend

prototype:
intel_vvp_vtiming_set_tim_pulse{INDX}_hend (intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, sets the position of the last pixel of the pulse

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr

intel_vvp_vtiming_get_tim_pulse{INDX}_vend

prototype:
 int intel_vvp_vtiming_get_tim_pulse{INDX}_vend(intel_vvp_vtiming_instance* instance);
argument:

instance, pointer to the intel_vvp_vtiming_instance

return value:

The PULSE {INDX} VEND field from REG_PULSE{INDX}_END register

intel_vvp_vtiming_set_tim_pulse{INDX}_vend

prototype:
 intel_vvp_vtiming_set_tim_pulse{INDX}_vend (intel_vvp_vtiming_instance* instance, uint32_t in_val);
argument:

instance, pointer to the intel_vvp_vtiming_instance

in_val, sets the position of the last line of the pulse

return value:

if successful kIntelVvpVtimingOk, otherwise kIntelVvpVtimingInstanceErr