Visible to Intel only — GUID: abo1660569088267
Ixiasoft
Visible to Intel only — GUID: abo1660569088267
Ixiasoft
14.6. Chroma Key IP Software API
Register definition header file: intel_vvp_chroma_key_regs.h
Include file: intel_vvp_chroma_key.h
Name | Description |
---|---|
intel_vvp_chroma_key_init | Initialize the Chroma Key instance |
intel_vvp_core_* | Accessors defined in Video and Vision Processing IPs Software Programming Model . Writable when Lite mode is on. Readable when Lite mode is off and Debug features is on. |
intel_vvp_chroma_key_get_lite_mode | Returns if Lite mode is on |
intel_vvp_chroma_key_get_debug_enabled | Returns if Debug features is on |
intel_vvp_chroma_key_get_constant_alpha_mode | Returns if Constant alpha mode is on |
intel_vvp_chroma_key_get_constant_alpha_value | Returns the constant alpha value if Constant alpha mode is on |
intel_vvp_chroma_key_get_bits_per_sample | Returns the bits per color sample value |
intel_vvp_chroma_key_get_num_planes | Returns the number of color planes |
intel_vvp_chroma_key_is_running | Returns if the IP is currently processing video data |
intel_vvp_chroma_key_get_commit_status | Returns if IP has uncommitted writes |
intel_vvp_chroma_key_get_status | Reads the status register |
intel_vvp_chroma_key_set_matched_alpha | Sets the alpha value for matched pixels |
intel_vvp_chroma_key_set_unmatched_alpha | Sets the alpha value for unmatched pixels |
intel_vvp_chroma_key_enable_c1_matching | Enables the first color plane when checking for matches |
intel_vvp_chroma_key_disable_c1_matching | Disables the first color plane when checking for matches |
intel_vvp_chroma_key_enable_c2_matching | Enables the second color plane when checking for matches |
intel_vvp_chroma_key_disable_c2_matching | Disables the second color plane when checking for matches |
intel_vvp_chroma_key_enable_c3_matching | Enables the third color plane when checking for matches |
intel_vvp_chroma_key_disable_c3_matching | Disables the third color plane when checking for matches |
intel_vvp_chroma_key_enable_c1_replacement | Enables the swapping of the first color plane sample in case of a match |
intel_vvp_chroma_key_disable_c1_replacement | Disables the swapping of the first color plane sample in case of a match |
intel_vvp_chroma_key_enable_c2_replacement | Enables the swapping of the second color plane sample in case of a match |
intel_vvp_chroma_key_disable_c2_replacement | Disables the swapping of the second color plane sample in case of a match |
intel_vvp_chroma_key_enable_c3_replacement | Enables the swapping of the third color plane sample in case of a match |
intel_vvp_chroma_key_disable_c3_replacement | Disables the swapping of the third color plane sample in case of a match |
intel_vvp_chroma_key_commit_writes | Commit all outstanding writes |
intel_vvp_chroma_key_init
- Prototype
-
int intel_vvp_chroma_key_init(intel_vvp_chroma_key_instance *instance, intel_vvp_core_base base);
- Description
-
Initializes an Chroma Key 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_chroma_key_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 Key product ID
kIntelVvpCoreInstanceErr if the instance is a null pointer
kIntelVvpChroma KeyRegMapVersionErr if the register map is not supported
intel_vvp_chroma_key_get_lite_mode
- Prototype
-
bool intel_vvp_chroma_key_get_lite_mode(intel_vvp_chroma_key_instance *instance);
- Description
-
Returns the value of the LITE_MODE register. The instance must be a valid intel_vvp_chroma_key_instance fully initialized
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
- Returns
-
true if the IP is parameterized in lite mode
intel_vvp_chroma_key_get_debug_enabled
- Prototype
-
bool intel_vvp_chroma_key_get_debug_enabled(intel_vvp_chroma_key_instance *instance);
- Description
-
Returns the value of the DEBUG_ENABLED register. The instance must be a valid intel_vvp_chroma_key_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
- Returns
-
true if the IP is parameterized with debug features enabled
intel_vvp_chroma_key_get_constant_alpha_mode
- Prototype
-
bool intel_vvp_chroma_key_get_constant_alpha_mode(intel_vvp_chroma_key_instance *instance);
- Description
-
Returns the value of the CONSTANT_ALPHA_MODE register. The instance must be a valid intel_vvp_chroma_key_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
- Returns
-
true if the IP is parameterized to add a constant alpha value to the video stream
intel_vvp_chroma_key_get_constant_alpha_value
- Prototype
-
uint16_t intel_vvp_chroma_key_get_constant_alpha_value(intel_vvp_chroma_key_instance *instance);
- Description
-
Returns the value of the CONSTANT_ALPHA_VALUE register. The instance must be a valid intel_vvp_chroma_key_instance fully initialized and parameterized for constant alpha mode
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
- Returns
-
The constant alpha value if the IP is parameterized with constant alpha mode
intel_vvp_chroma_key_get_bits_per_sample
- Prototype
-
uint8_t intel_vvp_chroma_key_get_bits_per_sample(intel_vvp_chroma_key_instance *instance);
- Description
-
Returns the value of the BITS_PER_SAMPLES parameter used to configure the IP. The instance must be a valid intel_vvp_chroma_key_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
- Returns
-
the number of bits per color sample
intel_vvp_chroma_key_get_num_planes
- Prototype
-
uint8_t intel_vvp_chroma_key_get_num_planes(intel_vvp_chroma_key_instance *instance);
- Description
-
Returns the value of the NUMBER_OF_COLOR_PLANES parameter used to configure the IP. The instance must be a valid intel_vvp_chroma_key_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
- Returns
-
the number of color planes per pixel
intel_vvp_chroma_key_is_running
- Prototype
-
bool intel_vvp_chroma_key_is_running(intel_vvp_chroma_key_instance* instance);
- Description
-
Reads and returns the running bit of the STATUS register. The instance must be a valid intel_vvp_chroma_key_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_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_chroma_key_get_commit_status
- Prototype
-
bool intel_vvp_chroma_key_get_commit_status(intel_vvp_chroma_key_instance* instance);
- Description
-
Reads and returns the commit pending bit of the STATUS register. The instance must be a valid intel_vvp_chroma_key_instance fully initialized and configured in full mode.
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_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_chroma_key_get_status
- Prototype
-
uint32_t intel_vvp_chroma_key_get_status(intel_vvp_chroma_key_instance* instance);
- Description
-
Reads the STATUS register. The instance must be a valid intel_vvp_chroma_key_instance fully initialized.
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
- Returns
-
The content of the STATUS register
intel_vvp_chroma_key_set_matched_alpha
- Prototype
-
int intel_vvp_chroma_key_set_matched_alpha(intel_vvp_chroma_key_instance *instance, uint16_t matched_alpha);
- Description
-
Sets the alpha value for matched pixels. The instance must be a valid intel_vvp_chroma_key_instance fully initialized and not parameterized for constant alpha mode.
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
-
matched_alpha - the alpha value for matched pixels in the range [0..bits_per_sample-1]
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid or parameterized for constant alpha only
kIntelVvpChromaKeyValueErr if the matched alpha is invalid
intel_vvp_chroma_key_set_unmatched_alpha
- Prototype
-
int intel_vvp_chroma_key_set_unmatched_alpha(intel_vvp_chroma_key_instance *instance, uint16_t unmatched_alpha);
- Description
-
Sets the alpha value for unmatched pixels. The instance must be a valid intel_vvp_chroma_key_instance fully initialized and not parameterized for constant alpha mode.
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
-
unmatched_alpha - the alpha value for unmatched pixels in the range [0..bits_per_sample-1]
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid
kIntelVvpChromaKeyValueErr if the unmatched alpha is invalid
intel_vvp_chroma_key_enable_c1_matching
- Prototype
-
int intel_vvp_chroma_key_enable_c1_matching(intel_vvp_chroma_key_instance *instance, uint16_t c1_lower_bound, uint16_t c1_upper_bound);
- Description
-
Enables pixel matching with the first color sample value
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
-
c1_lower_bound - the lowest sample value, in the range [0..bits_per_sample-1], to match a color sample
-
c1_upper_bound - the highest sample value, in the range [0..bits_per_sample-1], to match a color sample
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid or parameterized for constant alpha output
kIntelVvpChromaKeyValueErr if the lower bound or upper bound are invalid
intel_vvp_chroma_key_disable_c1_matching
- Prototype
-
int intel_vvp_chroma_key_disable_c1_matching(intel_vvp_chroma_key_instance* instance);
- Description
-
Disables pixel matching with the first color sample value
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid or parameterized for constant alpha output
intel_vvp_chroma_key_enable_c2_matching
- Prototype
-
int intel_vvp_chroma_key_enable_c1_matching(intel_vvp_chroma_key_instance *instance, uint16_t c2_lower_bound, uint16_t c2_upper_bound);
- Description
-
Enables pixel matching with the second color sample value
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
-
c2_lower_bound - the lowest sample value, in the range [0..bits_per_sample-1], to match a color sample
-
c2_upper_bound - the highest sample value, in the range [0..bits_per_sample-1], to match a color sample
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid or parameterized for constant alpha output or with less than two color planes
kIntelVvpChromaKeyValueErr if the lower bound or upper bound are invalid
intel_vvp_chroma_key_disable_c2_matching
- Prototype
-
int intel_vvp_chroma_key_disable_c2_matching(intel_vvp_chroma_key_instance* instance);
- Description
-
Disables pixel matching with the second color sample value
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid or parameterized for constant alpha output or with less than two color planes
intel_vvp_chroma_key_enable_c3_matching
- Prototype
-
int intel_vvp_chroma_key_enable_c3_matching(intel_vvp_chroma_key_instance *instance, uint16_t c3_lower_bound, uint16_t c3_upper_bound);
- Description
-
Enables pixel matching with the third color sample value
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
-
c3_lower_bound - the lowest sample value, in the range [0..bits_per_sample-1], to match a color sample
-
c3_upper_bound - the highest sample value, in the range [0..bits_per_sample-1], to match a color sample
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid or parameterized for constant alpha output or with less than three color planes
kIntelVvpChromaKeyValueErr if the lower bound or upper bound are invalid
intel_vvp_chroma_key_disable_c3_matching
- Prototype
-
int intel_vvp_chroma_key_disable_c3_matching(intel_vvp_chroma_key_instance* instance);
- Description
-
Disables pixel matching with the third color sample value
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid or parameterized for constant alpha output or with less than three color planes
intel_vvp_chroma_key_enable_c1_replacement
- Prototype
-
int intel_vvp_chroma_key_enable_c1_replacement(intel_vvp_chroma_key_instance *instance, uint16_t c1_replacement)
- Description
-
Swaps the first color plane sample value when a pixel is matched
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
c1_replacement - the replacement sample value, in the range [0..bits_per_sample-1], when a pixel was matched
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid or parameterized for constant alpha output
kIntelVvpChromaKeyValueErr if the replacement value is invalid
intel_vvp_chroma_key_disable_c1_replacement
- Prototype
-
int intel_vvp_chroma_key_disable_c1_replacement(intel_vvp_chroma_key_instance *instance)
- Description
-
Cancels the swap of the first color plane sample value when a pixel is matched
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid or parameterized for constant alpha output
intel_vvp_chroma_key_enable_c2_replacement
- Prototype
-
int intel_vvp_chroma_key_enable_c2_replacement(intel_vvp_chroma_key_instance *instance, uint16_t c2_replacement)
- Description
-
Swaps the second color plane sample value when a pixel is matched
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
c2_replacement - the replacement sample value, in the range [0..bits_per_sample-1], when a pixel was matched
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid or parameterized for constant alpha output or with less than two color planes
kIntelVvpChromaKeyValueErr if the replacement value is invalid
intel_vvp_chroma_key_disable_c2_replacement
- Prototype
-
int intel_vvp_chroma_key_disable_c2_replacement(intel_vvp_chroma_key_instance *instance)
- Description
-
Cancels the swap of the second color plane sample value when a pixel is matched
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid or parameterized for constant alpha output or with less than two color planes
intel_vvp_chroma_key_enable_c3_replacement
- Prototype
-
int intel_vvp_chroma_key_enable_c3_replacement(intel_vvp_chroma_key_instance *instance, uint16_t c3_replacement)
- Description
-
Swaps the third color plane sample value when a pixel is matched
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
c3_replacement - the replacement sample value, in the range [0..bits_per_sample-1], when a pixel was matched
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid or parameterized for constant alpha output or with less than three color planes
kIntelVvpChromaKeyValueErr if the replacement value is invalid
intel_vvp_chroma_key_disable_c3_replacement
- Prototype
-
int intel_vvp_chroma_key_disable_c3_replacement(intel_vvp_chroma_key_instance *instance)
- Description
-
Cancels the swap of the third color plane sample value when a pixel is matched
- Arguments
-
instance - pointer to the intel_vvp_chroma_key_instance software driver instance structure
- Returns
-
kIntelVvpCoreOk for success, negative error code in case of failures
kIntelVvpCoreInstanceErr if the instance is invalid or parameterized for constant alpha output or with less than three color planes
intel_vvp_chroma_key_commit_writes
- Prototype
-
int intel_vvp_chroma_key_commit_writes(intel_vvp_chroma_key_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_chroma_key_instance software driver instance structure
- Returns
-
kIntelVvpCoreOk (0) for success, negative error code otherwise