This section provides a list of modified, newly added VCU control software APIs in 2020.1 release in comparison to 2019.2 release. For more details, see:
- Readme in the Doxygen folder in VCU control software repository: https://github.com/Xilinx/vcu-ctrl-sw/tree/master/Doxygen.
- See VCU Control Software API.
Global API Changes
- Moving functions into clearer and more specifics files, which includes profiles and nuts.
- Macros are becoming static inline function when it is possible and/or useful.
- Inline become INLINE when it is possible and/or useful.
Problems in Stabilizing the API
Continued modification of AL_TEncSettings and the AL_TEncChanParam is required because these structures are used internally and many of their members can be obsolete when some internal algorithm changes. Moreover, new members cannot be added without deleting the now irrelevant ones for backward compatibility as these structures are sent to the MCU and thus, the space taken by each of these structures is relevant. This means that for the API to become stable and for semantic versioning to become 1.x (see https://semver.org/ for more information), the processes of getting the encoder settings from user to hide the affected structures from the user has to be changed. This can be done with an opaque settings object that hides the actual structures and is accessed using methods.
The luma and chroma planes interface needs to be further refined before freezing it as it does not provide the possibility to specify different buffers for the luma and chroma as is.