MulticoreWare is a software development company that works on video compression, ML, heterogeneous computing, and championed the open-source x265 encoder in the past. They are now driving the x266 project to create an open-source VVC (Versatile Video Coding) encoder and use their experience from their UHDKit product to make it the premier open-source VVC encoder.
Who is MulticoreWare?
MulticoreWare is a multi-faceted company with expertise in different verticals such as high-performance Video Compression, AI & Video Analytics, ADAS (Automated Driver Assistance), etc. A common thread through these verticals is their ability to design and write high-performance code for various computing platforms. MulticoreWare’s background and experience are cool, in my opinion, and how they’ve nurtured and built a strong team in a very complex niche is admirable.
With teams in the US, India, China, and Germany, MulticoreWare is well-placed to don the role of a thought-leader in the open-source video codec world.
Let’s see why and what their plans are!
The Road To x266 – An Open Source VVC Encoder
MPEG announced three new video codecs – VVC (Versatile Video Coding), EVC (Essential Video Coding), and LCEVC (Low Complexity Enhancement Video Coding). Of these three, VVC or H.266 is touted as the successor to H.265 (HEVC) and promises 50% more compression efficiency over HEVC but comes at a much higher complexity. Here’s a brief explanation of all three on OTTVerse.
But, first, let’s take a look at HEVC and the x265 encoder.
x265 and HEVC
MulticoreWare announced the x265 project back in 2013, and it was a success. x265 allowed video compression teams worldwide to get their hands on an efficient, standards-compliant HEVC encoder. x265 was made available under the open-source GNU GPL v2 license and also offered by MulticoreWare under Commercial License Agreements.
But, having a good encoder clearly wasn’t enough. Because, fast-forward 7 years, and unfortunately, HEVC is still embroiled in patent-wars that seem destined to give it a “death by a thousand cuts.”
HEVC’s situation is rather unfortunate considering that HEVC had interesting features such as the use of quadtree-decomposition, large block sizes, the concept of TU, PU, and CUs, the Sample Adaptive Offset filter, new picture types, and several innovations which made it possible to compress 4K videos quite efficiently (in comparison to H.264/AVC).
The x266 Project
Riding on the back of their x265 success, MulticoreWare has decided to pioneer the x266 project along the x265 project lines they worked on earlier. x266 will be an open-source project with the MulticoreWare video compression team’s full attention and the backing of an industry-consortium.
As with any new codec, there are always early adopters (both programmers and companies) willing to give it a try, evaluate, file tickets, and contribute code. But, to get the ball rolling, you need a reliable encoder that is not only standards-compliant but also reasonably fast and with enough presets and knobs to make the early-adoption both valuable and exciting (in a geeky-sense!)
I spoke to Shivakumar Narayanan, Senior Director – Marketing and Product Management at MulticoreWare, about the consortium, and this is what he had to say –
Similar to when we did this for x265 consortium, to get key consortium members on board and invest in the development of this codec. These members will be founding partners with benefits when the codec (rather encoder is ready to release for the open-source world). Consortium members being strategic, will also play an important role in the shaping of this codec as well as prioritization of functionalities as it would pertain to their and their customers’ interests.
Industry involvement bodes well for the open-source community because video encoder implementation is both an art and a science.
It helps to have a proficient team that understands and implements concepts such as wavefront parallelism, multi-threading, intrinsics, etc. to make codec implementations practical and useful. And, of course, people with “golden eyes” to spot issues with video quality as they occur.
MulticoreWare has such a team, and I feel they’ll bring their experience from x265 to the x266 development.
Expertise from UHDKit
Another product in MulticoreWare’s portfolio is UHDKit. It is an extended encoding library built on top of the x264 (AVC) encoder and x265 (HEVC) encoder libraries. It has a better performance and feature-set than the vanilla x264, x265, and svt-av1 encoders. UHDKit comes in-built with powerful features such as a “control system for video compression” that dynamically adjusts settings to achieve better video quality based on the computing platform’s spec.
Additional features include fast ABR encoding (to get the bitrate ladder faster!) and high-performance live encoding, all this on software, without any requirement for additional hardware accelerators. It can be used as a standalone encoding library or can be invoked via the FFmpeg framework, which makes it seamlessly integrate into any software encoding/ transcoding pipeline.
I am sure some of this expertise from building UHDKit will rub off on the x266 encoder development.
How Do I Get my hands on x266?
Currently, MulticoreWare is working closely with x266 Consortium members and after a few months, it will be available to them.
Upon enquiring about the open-source implementation, here’s what MCW had to say –
For the larger open source community, it will be made available when we have reached critical mass required for its first release. As we near readiness, we will update here on how you can get hold of it.
If you have any questions for the MulticoreWare team, please get in touch with Shivakumar Narayanan at firstname.lastname@example.org.
Also, many thanks to Praveen Kumar Karadugattu, Video Architect at MulticoreWare for kicking off this discussion between MulticoreWare and OTTVerse.com.