2019.1 VCU Ctrl-SW API Migration - 2020.2 English

H.264/H.265 Video Codec Unit v1.2 Solutions LogiCORE IP Product Guide (PG252)

Document ID
PG252
Release Date
2020-11-24
Version
2020.2 English

This section provides migration guide from 2018.3 to 2019.1 release. It covers list of modified and newly added VCU control software API for 2019.1 release. For more details, see:

Global API Changes

  • Added AL_VERSION_MAJOR, AL_VERSION_MINOR, and AL_VERSION_STEP defines.
  • Since the semantic versioning continues to be in 0.x, the API is not stable.
  • Macros are becoming static inline function when it is possible / useful.
  • All the prototypes of the functions are now complete prototype; functions with no parameters are declared using (void) to ensure signature safety.

Problems to Stabilize the API

You cannot stop modifying the AL_TEncSettings and the AL_TEncChanParam because these structures are used internally and many of their members can be obsolete when some internal algorithm changes. New members cannot be added without deleting obsolete/ irrelevant members 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/) we need to change the way we get the encoder settings from the user to hide the affected structures from the user. This can be done with an opaque settings object that will hide the actual structures and that will be accessed using methods. The luma and chroma planes interface needs to be further refined before freezing it as they do not let you specify different buffers for the luma and chroma.