General questions

What is xvc?

The xvc codec is a new block-based video coding format built using world-class compression technologies.

In which scenarios can I use xvc?

xvc is a modern codec with a strong focus on low bitrate streaming applications, for example Over-The-Top (OTT) Video-on-Demand (VoD) applications. The receiver that runs the xvc decoder software can be anything from a smartphone or a tablet, to a PC or smart TV.

In which scenarios should I not use xvc?

The xvc codec is designed with connectivity and flexibility at its base. It is not well suited for long-term archiving or static storage on physical media, such as optical disks.

How does it compare to other codecs?

The xvc codec provides very high compression efficiency compared to other available video codecs, combined with a reasonable encoding and decoding complexity.

What are the key benefits of using xvc?

When using the xvc codec, a streaming service provider can compress its assets to less than half of the bit-rate used by existing H.264 solutions. This allows providers to save on CDN costs by sending less data to consumers without affecting the video quality. For use-cases with very constrained bandwidth, such as 3G networks, xvc enables a significantly improved viewer experience due to improved utilization of the available bandwidth. The online demo at the Divideon webpage demonstrates this quality improvement.

What open-source license is used for the xvc source code?

The xvc source code is available under LGPL-2.1.

What platforms are supported?

The xvc codec library is a platform neutral software and has been verified to run on most major software platforms including Windows, Linux, Android and iOS.

Developer questions

Where can I find the source code?

The xvc source code is publicly available on github.com/divideon/xvc

What are the platform requirements?

The xvc reference software is developed using C++11 for ensuring support on all major platforms.

How to do I build xvc?

The software is built using CMake. See the README text file in the source code repository for instructions.

Is there an xvc API?

Yes, the xvc encoder and decoder libraries have public C language interfaces defined in the two header files; xvcenc.h for the encoder api and xvcdec.h for the decoder api. The interfaces are the preferred way to integrate the codec with third-party software. See the software page for more information.

How do I integrate the codec into my encoder or playback software?

Writing an integration towards the codec typically involves writing a platform specific codec module using the included C language API. 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.

How can I contribute to the codec?

Any ideas for improving the xvc codec or reference software are welcome from both personal contributors and companies. Please visit the developers page for more information on how to become an xvc contributor.