Visible to Intel only — GUID: myl1697540703340
Ixiasoft
Visible to Intel only — GUID: myl1697540703340
Ixiasoft
32.5. Histogram Statistics IP Software API
Register definition header file: intel_vvp_hs_regs.h
Include file: intel_vvp_hs.h
Name | Description |
---|---|
intel_vvp_hs_init | Initialize an IP instance |
intel_vvp_core_* | Accessors defined in Video and Vision Processing IPs Software Programming Model |
intel_vvp_hs_get_lite_mode | Returns if Lite mode is on |
intel_vvp_hs_get_debug_enabled | Returns if Debug features is on |
intel_vvp_hs_get_bits_per_sample_in | Returns the number of bits per color sample for the streaming input interface |
intel_vvp_hs_get_bits_per_sample_out | Returns the number of bits per color sample value for the streaming output interface |
intel_vvp_hs_get_num_color_planes_in | Returns the number of color planes of the streaming input interface |
intel_vvp_hs_get_num_color_planes_out | Returns the number of color planes of the streaming output interface |
intel_vvp_hs_get_pixels_in_parallel | Returns the pixels in parallel of the streaming input and output interfaces |
intel_vvp_hs_get_max_width | Returns the maximum number of pixels that the IP supports on the horizontal dimension of an image or video frame |
intel_vvp_hs_get_max_height | Returns the maximum number of pixels that the IP supports on the vertical dimension of an image or video frame |
intel_vvp_hs_get_num_hist_bins | Returns the number of histogram bins |
intel_vvp_hs_is_running | Reads if the IP is running |
intel_vvp_hs_commit_is_pending | Reads if the IP has uncommitted writes |
intel_vvp_hs_stats_are_frozen | Reads if the IP finished collecting the statistics |
intel_vvp_hs_get_status | Reads the status register |
intel_vvp_hs_get_frame_stats | Reads the frame statistics register |
intel_vvp_hs_commit | Commit pending writes |
intel_vvp_hs_get_freeze_stats_request | Reads the freeze statistics request bit from the status register |
intel_vvp_hs_set_freeze_stats_request | Writes the freeze statistics request bit of the status register |
intel_vvp_hs_get_h_start | Reads the horizontal starting coordinate of the region of interest |
intel_vvp_hs_set_h_start | Writes the horizontal starting coordinate of the region of interest |
intel_vvp_hs_get_v_start | Reads the vertical starting coordinate of the region of interest |
intel_vvp_hs_set_v_start | Writes the vertical starting coordinate of the region of interest |
intel_vvp_hs_get_h_end | Reads the horizontal ending coordinate of the region of interest |
intel_vvp_hs_set_h_end | Writes the horizontal ending coordinate of the region of interest |
intel_vvp_hs_get_v_end | Reads the vertical ending coordinate of the region of interest |
intel_vvp_hs_set_v_end | Writes the vertical ending coordinate of the region of interest |
intel_vvp_hs_read_frame_hist_bin | Reads a single bin from the histogram statistics of the whole frame |
intel_vvp_hs_read_roi_hist_bin | Reads a single bin from the histogram statistics of the region of interest |
intel_vvp_hs_read_frame_hist_array | Reads all histogram statistics of the whole frame |
intel_vvp_hs_read_roi_hist_array | Reads all histogram statistics of the region of interest |
intel_vvp_hs_init
- Prototype
-
int intel_vvp_hs_init(intel_vvp_hs_instance* instance, intel_vvp_core_base base);
- Description
-
Initialize an IP 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 the IP compile-time parameterization. The instance is not fully initialized and the application should not use it further if returning a non-zero error code.
- Arguments
-
instance - pointer to the intel_vvp_hs_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 an error
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpCoreVidErr if the vendor id of the core is not the IntelFPGA vendor ID (0x6AF7)
kIntelVvpCorePidErr if the product_id does not match with the expected product ID (0x017B)
kIntelVvpHsRegMapVersionErr if the register map is not supported
intel_vvp_hs_get_lite_mode
- Prototype
-
bool intel_vvp_hs_get_lite_mode(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the LITE_MODE register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
true if the IP is parameterized in lite mode
intel_vvp_hs_get_debug_enabled
- Prototype
-
bool intel_vvp_hs_get_debug_enabled(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the DEBUG_ENABLED register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
true if the IP is parameterized with debug features enabled
intel_vvp_hs_get_bits_per_sample_in
- Prototype
-
uint8_t intel_vvp_hs_get_bits_per_sample_in(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the BPS_IN register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the input bits per color sample parameter used to generate the IP
intel_vvp_hs_get_bits_per_sample_out
- Prototype
-
uint8_t intel_vvp_hs_get_bits_per_sample_out(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the BPS_OUT register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the output bits per color sample parameter used to generate the IP
intel_vvp_hs_get_num_color_planes_in
- Prototype
-
uint8_t intel_vvp_hs_get_num_color_planes_in(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the NUM_COLOR_IN register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the input number of color planes parameter used to generate the IP
intel_vvp_hs_get_num_color_planes_out
- Prototype
-
uint8_t intel_vvp_hs_get_num_color_planes_out(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the NUM_COLOR_OUT register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the output number of color planes parameter used to generate the IP
intel_vvp_hs_get_pixels_in_parallel
- Prototype
-
uint8_t intel_vvp_hs_get_pixels_in_parallel(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the PIXELS_IN_PARALLEL register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the pixels in parallel parameter used to generate the IP
intel_vvp_hs_get_max_width
- Prototype
-
uint32_t intel_vvp_hs_get_max_width(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the MAX_WIDTH register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the maximum field width parameter used to generate the IP
intel_vvp_hs_get_max_height
- Prototype
-
uint32_t intel_vvp_hs_get_max_height(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the MAX_HEIGHT register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the maximum field height parameter used to generate the IP
intel_vvp_hs_get_num_hist_bins
- Prototype
-
uint16_t intel_vvp_hs_get_num_hist_bins(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the NUM_HIST_BINS register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the number of histogram bins parameter used to generate the IP
intel_vvp_hs_is_running
- Prototype
-
bool intel_vvp_hs_is_running(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the IP Running bit from the STATUS register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the running bit from the status register
intel_vvp_hs_commit_is_pending
- Prototype
-
bool intel_vvp_hs_commit_is_pending(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the commit pending bit from the STATUS register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
true if the agent interface has pending writes from a previous commit request
intel_vvp_hs_stats_are_frozen
- Prototype
-
bool intel_vvp_hs_stats_are_frozen(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the statistics are frozen bit from the STATUS register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the statistics are frozen bit from the status register
intel_vvp_hs_get_status
- Prototype
-
uint32_t intel_vvp_hs_get_status(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the STATUS register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the value of the status register
intel_vvp_hs_get_frame_stats
- Prototype
-
int intel_vvp_hs_get_frame_stats(intel_vvp_hs_instance* instance, uint32_t* stats_out);
- Description
-
Reads the value of the FRAME_STATS register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
stats_out - pointer of a variable to return the statistics register value
- Returns
-
kIntelVvpCoreOk (0) in case of success, a negative error code in case of an error
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpHsFreezePendingErr if the last freeze request is pending
kIntelVvpHsPointerErr if stats_out is a null pointer
intel_vvp_hs_commit
- Prototype
-
int intel_vvp_hs_commit(intel_vvp_hs_instance* instance);
- Description
-
Commits all pending writes before processing the next field. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
kIntelVvpCoreOk (0) in case of success, a negative error code in case of an error
kIntelVvpCoreInstanceErr if the instance is a null pointer
intel_vvp_hs_get_freeze_stats_request
- Prototype
-
bool intel_vvp_hs_get_freeze_stats_request(intel_vvp_hs_instance* instance);
- Description
-
Returns the value of the freeze statistics request bit from the CONTROL register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the value of the freeze statistics request bit form the control register
intel_vvp_hs_set_freeze_stats_request
- Prototype
-
int intel_vvp_hs_set_freeze_stats_request(intel_vvp_hs_instance* instance, bool freeze_stats);
- Description
-
Writes to the freeze statistics request bit of the CONTROL register. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
freeze_stats - new value of the freeze statistics request bit
- Returns
-
kIntelVvpCoreOk (0) in case of success, a negative error code in case of an error
kIntelVvpCoreInstanceErr if the instance is a null pointer
intel_vvp_hs_get_h_start
- Prototype
-
uint16_t intel_vvp_hs_get_h_start(intel_vvp_hs_instance* instance);
- Description
-
Returns the horizontal starting coordinate of the region of interest. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the value of the horizontal starting coordinate of the region of interest
intel_vvp_hs_set_h_start
- Prototype
-
int intel_vvp_hs_set_h_start(intel_vvp_hs_instance* instance, uint16_t h_start);
- Description
-
Writes the horizontal starting coordinate of the region of interest. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
h_start - new value of the horizontal starting coordinate of the region of interest
- Returns
-
kIntelVvpCoreOk (0) in case of success, a negative error code in case of an error
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpHsValueErr if the value of h_start is out of range
kIntelVvpHsCommitPendingErr if a previous commit request is pending
intel_vvp_hs_get_v_start
- Prototype
-
uint16_t intel_vvp_hs_get_v_start(intel_vvp_hs_instance* instance);
- Description
-
Returns the vertical starting coordinate of the region of interest. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the value of the vertical starting coordinate of the region of interest
intel_vvp_hs_set_v_start
- Prototype
-
int intel_vvp_hs_set_v_start(intel_vvp_hs_instance* instance, uint16_t v_start);
- Description
-
Writes the vertical starting coordinate of the region of interest. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
v_start - new value of the vertical starting coordinate of the region of interest
- Returns
-
kIntelVvpCoreOk (0) in case of success, a negative error code in case of an error
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpHsValueErr if the value of v_start is out of range
kIntelVvpHsCommitPendingErr if a previous commit request is pending
intel_vvp_hs_get_h_end
- Prototype
-
uint16_t intel_vvp_hs_get_h_end(intel_vvp_hs_instance* instance);
- Description
-
Returns the horizontal ending coordinate of the region of interest. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the value of the horizontal ending coordinate of the region of interest
intel_vvp_hs_set_h_end
- Prototype
-
int intel_vvp_hs_set_h_end(intel_vvp_hs_instance* instance, uint16_t h_end);
- Description
-
Writes the horizontal ending coordinate of the region of interest. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
h_end - new value of the horizontal ending coordinate of the region of interest
- Returns
-
kIntelVvpCoreOk (0) in case of success, a negative error code in case of an error
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpHsValueErr if the value of h_end is out of range
kIntelVvpHsCommitPendingErr if a previous commit request is pending
intel_vvp_hs_get_v_end
- Prototype
-
uint16_t intel_vvp_hs_get_v_end(intel_vvp_hs_instance* instance);
- Description
-
Returns the vertical ending coordinate of the region of interest. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
- Returns
-
the value of the vertical ending coordinate of the region of interest
intel_vvp_hs_set_v_end
- Prototype
-
int intel_vvp_hs_set_v_end(intel_vvp_hs_instance* instance, uint16_t v_end);
- Description
-
Writes the vertical ending coordinate of the region of interest. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
v_end - new value of the vertical ending coordinate of the region of interest
- Returns
-
kIntelVvpCoreOk (0) in case of success, a negative error code in case of an error
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpHsValueErr if the value of v_end is out of range
kIntelVvpHsCommitPendingErr if a previous commit request is pending
intel_vvp_hs_read_frame_hist_bin
- Prototype
-
int intel_vvp_hs_read_frame_hist_bin(intel_vvp_hs_instance* instance, uint32_t* data, uint16_t addr);
- Description
-
Reads the value of a single bin from the histogram statistics memory of the whole frame. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
data - pointer of a variable to return the value of the histogram bin
addr - address of the histogram bin
- Returns
-
kIntelVvpCoreOk (0) in case of success, a negative error code in case of an error
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpHsPointerErr if data is a null pointer
kIntelVvpHsFreezePendingErr if the last freeze request is pending
kIntelVvpHsOutOfBoundsErr if the address is out of range
intel_vvp_hs_read_roi_hist_bin
- Prototype
-
int intel_vvp_hs_read_roi_hist_bin(intel_vvp_hs_instance* instance, uint32_t* data, uint16_t addr);
- Description
-
Reads the value of a single bin from the histogram statistics memory of the region of interest. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
data - pointer of a variable to return the value of the histogram bin
addr - address of the histogram bin
- Returns
-
kIntelVvpCoreOk (0) in case of success, a negative error code in case of an error
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpHsPointerErr if data is a null pointer
kIntelVvpHsFreezePendingErr if the last freeze request is pending
kIntelVvpHsOutOfBoundsErr if the address is out of range
intel_vvp_hs_read_frame_hist_array
- Prototype
-
int intel_vvp_hs_read_frame_hist_array(intel_vvp_hs_instance* instance, uint32_t* data_array);
- Description
-
Reads the histogram statistics memory of the whole frame into an array. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
data_array - pointer of an array to return the value of all histogram bins
- Returns
-
kIntelVvpCoreOk (0) in case of success, a negative error code in case of an error
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpHsPointerErr if data_array is a null pointer
kIntelVvpHsFreezePendingErr if the last freeze request is pending
intel_vvp_hs_read_roi_hist_array
- Prototype
-
int intel_vvp_hs_read_roi_hist_array(intel_vvp_hs_instance* instance, uint32_t* data_array);
- Description
-
Reads the histogram statistics memory of the region of interest into an array. The instance must be a valid intel_vvp_hs_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_hs_instance software driver instance structure
data_array - pointer of an array to return the value of all histogram bins
- Returns
-
kIntelVvpCoreOk (0) in case of success, a negative error code in case of an error
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpHsPointerErr if data_array is a null pointer
kIntelVvpHsFreezePendingErr if the last freeze request is pending