Reconciliation
An application can initiate the process of reconciliation on one or more attribute lists by
invoking NvSciBufAttrListReconcile
API. The process of NvSciBuf attribute
list reconciliation:
-
Merging: Values from multiple attribute lists are merged. The process of merging
is explained in the flow-chart below.
-
Datatype(List)
: Datatype of the attribute listlist
. -
List[i]
: Attribute key namedi
of the attribute listlist
. -
Value(List[i])
: Value corresponding to attribute keyi
in the attribute listlist
. -
UNSPECIFIED
: Value of an attribute key is ignored and hence unspecified. -
KEYCOUNT(datatype)
: Number of attribute keys for the given datatype. -
MERGEVALUES(value1, value2)
: This function merges value1 and value2.- For most attributes, merging is successful only if value1 equals value2.
- For attributes like alignment, if value1 is not equal to value 2, then the maximum of both is used as the merged value, provided both of them are a power of 2.
-
-
Validation: After merging attributes from multiple lists successfully, validation
of merged attributes occurs on the reconciled attribute list, which validates whether
all the required attributes are set and the values of all the attributes are valid. For
example, after the merging of attributes, if
plane-count
is set to 2 but the reconciled list contains more values for plane color-format, then validation is unsuccessful. - Output Attributes Computation: Post validation, output attributes like size, alignment, etc. are computed in the reconciled attribute list.