Video and Vision Processing Suite Intel® FPGA IP User Guide
A newer version of this document is available. Customers should click here to go to the newest version.
9.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 will not be 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_clipper_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 will be 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 one, or both, subsampling is/are 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