Visible to Intel only — GUID: ftb1641567923132
Ixiasoft
Visible to Intel only — GUID: ftb1641567923132
Ixiasoft
15.5. Chroma Resampler IP Software API
Register definition header file: intel_vvp_crs_regs.h
Include file: intel_vvp_crs.h
Name | Description |
---|---|
intel_vvp_crs_init | Initialize the Chroma Resampler 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_crs_get_lite_mode | Returns if Lite Mode is on. |
intel_vvp_crs_get_debug_enabled | Returns if Debug features is on. |
intel_vvp_crs_is_conversion_supported | Returns if the IP supports a specified chroma resampling. |
intel_vvp_crs_is_running | Returns if the IP is currently processing video data. |
intel_vvp_crs_get_commit_status | Returns uncommitted writes. |
intel_vvp_crs_get_status | Reads the status register. |
intel_vvp_crs_set_output_subsampling | Selects the current output subsampling. |
intel_vvp_crs_get_output_subsampling | Returns the current selected output subsampling. |
intel_vvp_crs_commit_writes | Commit all outstanding writes. |
enum eIntelCrsSubsampling
- Members
-
kIntelVvpCrsSubsampling420 (0) – 4:2:0 subsampling, chroma planes resolution is halved vertically and horizontally
kIntelVvpCrsSubsampling422 (2) – 4:2:2 subsampling, chroma planes resolution is halved horizontally
kIntelVvpCrsSubsampling444 (3) – 4:4:4 subsampling, chroma planes are fully sampled
kIntelVvpCrsSubsamplingInvalid (1) – Invalid subsampling (used to indicate errors)
- Description
-
Enumeration for the supported chroma subsamplings
intel_vvp_crs_init
- Prototype
-
int intel_vvp_crs_init(intel_vvp_crs_instance *instance, intel_vvp_core_base base);
- Description
-
Initializes a Chroma Resampler 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 should not be used further by the application if returning a non-zero error code.
- Arguments
-
instance – pointer to the intel_vvp_crs_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 core is not the IntelFPGA vendor ID (0x6AF7).
kIntelVvpCorePidErr if the product_id does not match with the Chroma Resamplerproduct ID
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpCrsRegMapVersionErr if the register map is not supported
intel_vvp_crs_get_lite_mode
- Prototype
-
bool intel_vvp_crs_get_lite_mode(intel_vvp_crs_instance *instance);
- Description
-
Returns the value of the LITE_MODE register. The instance must be a valid intel_vvp_crs_instance fully initialized
- Arguments
-
instance – pointer to the intel_vvp_crs_instance software driver instance structure
- Returns
-
true if the IP is parameterized in lite mode
intel_vvp_crs_get_debug_enabled
- Prototype
-
bool intel_vvp_crs_get_debug_enabled(intel_vvp_crs_instance *instance);
- Description
-
Returns the value of the DEBUG_ENABLED register. The instance must be a valid intel_vvp_crs_instance fully initialized.
- Arguments
-
instance – pointer to the intel_vvp_crs_instance software driver instance structure
- Returns
-
true if the IP is parameterized with debug features enabled
intel_vvp_crs_is_conversion_supported
- Prototype
-
bool intel_vvp_crs_is_conversion_supported (intel_vvp_crs_instance *instance, eIntelCrsSubsampling input_subsampling, eIntelCrsSubsampling output_subsampling);
- Description
-
Returns the value of the MAX_WIDTH register. The instance must be a valid intel_vvp_crs_instance fully initialized.
- Arguments
-
instance – pointer to the intel_vvp_crs_instance software driver instance structure
input_subsampling – the input subsampling
output_subsampling – the output subsampling
- Returns
-
if chroma resampling, or pass-through, from the input subsampling to the output subsampling is supported
intel_vvp_crs_is_running
- Prototype
-
bool intel_vvp_crs_is_running(intel_vvp_crs_instance* instance);
- Description
-
Reads and returns the running bit of the STATUS register. The instance must be a valid intel_vvp_crs_instance fully initialized.
- Arguments
-
instance – pointer to the intel_vvp_crs_instance software driver instance structure
- Returns
-
True is the IP is currently receiving/storing an input field, false when between two input fields
intel_vvp_crs_get_commit_status
- Prototype
-
bool intel_vvp_crs_get_commit_status(intel_vvp_crs_instance* instance);
- Description
-
Reads and returns the commit pending bit of the STATUS register. The instance must be a valid intel_vvp_crs_instance fully initialized and configured in full mode.
- Arguments
-
instance – pointer to the intel_vvp_crs_instance software driver instance structure
- Returns
-
True is the IP is configured in full mode and if the agent interface contains uncommitted writes.
intel_vvp_crs_get_status
- Prototype
-
uint32_t intel_vvp_crs_get_status(intel_vvp_crs_instance* instance);
- Description
-
Reads the STATUS register. The instance must be a valid intel_vvp_crs_instance fully initialized.
- Arguments
-
instance – pointer to the intel_vvp_crs_instance software driver instance structure
- Returns
-
The content of the STATUS register
intel_vvp_crs_set_output_subsampling
- Prototype
-
int intel_vvp_crs_set_output_subsampling(intel_vvp_crs_instance* instance, eIntelCrsSubsampling output_subsampling);
- Description
-
Selects the required output subsampling. Use intel_vvp_core_set img_info_subsampling to set the input subsampling in lite mode. The instance must be a valid intel_vvp_crs_instance fully initialized. The call does not check if the IP supports the requested chroma resampling conversion and a default conversion is used if the input/output selections are unsupported.
- Arguments
-
instance – pointer to the intel_vvp_crs_instance software driver instance structure
output_subsampling – requested output subsampling
- Returns
-
kIntelVvpCoreOk or a negative error code in case of error
kIntelVvpCoreInstanceErr, if the instance is the NULL pointer
kIntelVvpCrsParamErr, if the output subsampling is invalid
intel_vvp_crs_get_output_subsampling
- Prototype
-
eIntelCrsSubsampling intel_vvp_crs_get_output_subsampling(intel_vvp_crs_instance* instance);
- Description
-
Reads the OUTPUT_SUBSAMPLING register. The instance must be a valid intel_vvp_crs_instance fully initialized and configured in debug mode.
- Arguments
-
instance – pointer to the intel_vvp_crs_instance software driver instance structure
- Returns
-
the last value written to the OUTPUT_SUBSAMPLING register or kIntelVvpCrsSubsamplingInvalid in case of errors
intel_vvp_crs_commit_writes
- Prototype
-
int intel_vvp_crs_commit_writes(intel_vvp_crs_instance* instance)
- Description
-
Commits all pending writes before processing the next field. The instance must be valid and parameterized in full mode.
- Arguments
-
instance – pointer to the intel_vvp_crs_instance software driver instance structure
- Returns
-
kIntelVvpCoreOk (0) for success, negative error code otherwise