SOFTWARE

The source code of xvc is available on Github at github.com/divideon/xvc. The software is open source software available under a dual-licensing scheme with an LGPL option and a commercial option.

The software contains an encoder library and a decoder library. These libraries constitutes the core of the xvc codec and it is in these libraries the actual compression and decompression is performed.

The repository also includes command line executable demo applications for encoding and decoding. These applications make use of the xvc libraries through the API defined in xvcenc.h and xvcdec.h, respectively.

There is also a unit test project included in the xvc repository. The unit tests ensure that the different components of the xvc software operate as intended.

Third-party integrations

Writing an integration towards the xvc codec will typically involve writing a platform specific codec module using the xvc C API. This api is defined in xvcenc.h and xvcdec.h and by linking either statically or dynamically with the xvc library. Note that at this point the C interface has no ABI stability guarantees across releases, but major changes will be announced on the xvc release page.

Both encoder and decoder APIs have a single starting point through the ‘xvc_encoder_api_get’ and ‘xvc_decoder_api_get’ functions that returns a struct containing all api methods.

Divideon has developed several proof of concept integrations for xvc playback using ExoPlayer, VLC and ffmpeg. Feel free to contact support@xvc.io if you have any questions or need help integrating with your platforms.