Who “absolutely can’t use” it, and for what purpose?
Most people use patent-encumbered media formats all the time.
HEVC is going to have dedicated hardware support on most devices in the near future, and will therefore be power-efficient and fast to encode and decode.
> Who “absolutely can’t use” it, and for what purpose?
Web browsers. H.264 was finalized in 2003 and while it was supported by Chrome at launch in 2010, it wasn't supported in Firefox until 2013, a full 10 years later, though admittedly support was in Flash in 2007.
> Most people use patent-encumbered media formats all the time.
A major difference between HEVC and other patent-encumbered formats is that HEVC has no single licensing pool with a clear pricing scheme. There's no single place you can go and say "I want HEVC" and know how much you're going to need to pay. Off the top of my head, there's MPEG-LA, HEVC Advance, Velos Media and Technicolor. All of them have different requirements and cost schemes. Also importantly, HEVC Advance was intending to charge for distribution separately from encoding.
As much as I hate MPEG-LA, it definitely helped with H.264's adoption.
> HEVC is going to have dedicated hardware support on most devices in the near future, and will therefore be power-efficient and fast to encode and decode.
Yes but that hardware support needs to be piped through to browsers, which will take time and consent. Is Mozilla going to allow patent-encumbered HEVC into its browser when it's part of AOM and AV1 is just around the corner?
To be clear, I'm mainly talking about web browsers, since they're how most people consume images these days. I'm sure HEVC will find its way into things like TVs, cameras and home theatre systems without issue but I have doubts about its viability on the web.
There has never been anything quite like the patent situation around HEVC. Using HEVC legally requires signing four different license agreements at the minumum[1]. The license agreements with Technicolor and Velos Media are actually secret. This includes their fees. The other two licenses (MPEG LA and HEVC Advance) are public. They are far more expensive then H.264 taken individually, even at current promotional rates.
As a result the Alliance for Open Media (AOM) was formed by major hardware and software companies. AOM is developing an alternative to HEVC. AOM has almost all hardware manufacturers of any significance as members.
[1]: Other essential patent holders who have not officially licensed their patents include AT&T, Microsoft, Motorola, Nokia, and Cisco. They may elect to license their patents unilaterally, which adds additional uncertainty to HEVC.
Maybe "The software currently requires an AVX2 and FMA capable CPU, e.g. Haswell." holds the secret? Some kind of experimental test bed for using CPU vector instructions to speed up compression/decompression?
Disclaimer: I have no idea what I am talking about. For all I know possible use of these instructions is already a feature of HEIF and that statement is irrelevant.
http://www.libjpeg-turbo.org/ uses some CPU vectorization features already. (If you're using Linux, most likely you're already using it since most Linux distros switched over a long time ago).
Yep. Use of AVX2 and so forth a pretty standard thing to do to get decent performance for video/image encoding and decoding.
Worth noting: Skylake with Integrate Graphics includes an x265 encoder and decoder. If that can't be adapted to HEIF, that's a huge win for the format.
If you're interested in this kind of thing, dc_predictor.cc might be fun to look at. It computes the predictors in parallel (rather than the usual 'do the same thing to 32 pixels') because here pixels depend on causal neighbor pixels.
HEVC/HEIF: Absolutely can't use because patents. Pik: Maybe can't use because patents.
Pik has potential to be useful, HEVC does not.