Hacker News .hnnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Why does nobody support h.265/HEVC anymore?
165 points by formerly_proven on May 9, 2022 | hide | past | favorite | 168 comments
It seems that right now there is no browser that supports h.265/HEVC even on hardware that can decode it - "Old Edge" used to, but "New Edge" does not. Neither Chrome nor Firefox support it (actually, both of those refuse to use any form of hardware decoding at all on my Windows box, only Edge uses it for VPx and h.264 - and of course every media player).

The only exception is Apple with Safari.

Why is this? h.265 can do a lot better than h.264 in some scenarios, but certainly isn't worse.

And why, oh why, is debugging hardware video acceleration still such a nightmare, even on Windows? Firefox doesn't even seem to have it in about:support any more!

And why is hardware video acceleration only a problem with browsers? I've never had any kind of problem with it with any media player, regardless of OS. It just works. But browsers - it seems to never work OOTB. Except for Edge, apparently. Which I thought was just a Chromium reskin with MS tracking.



Because the US endorses the concept of "essential patents," meaning you need to pay a licensing fee to be lawfully allowed to perform the math that transforms data into A/V content.

Never to mention the two blatant issues with this, being:

1) video codecs are the exemplary "we'll patent math and there's nothing you can do about it" scam, since that's literally all a video codec is

2) a process being "essential" to a particular outcome (i.e. no other way to do it) was the main motivation mathematics was explicitly excluded from patentability in the first place, so the idea of "essential patents" just underlines the absurdity of the entire system

Anyways, yearly reminder that software patents are a blight to innovation and a scourge on our industry, and no you won't change my mind.


I mean, is a video codec really just "math"? There's a binary payload description and algorithms involved for applying said math as well.

I'm no expert in the field, so I'm actually asking in good faith here...


The specification for the format (which is what is patented) describes the mathematical relationship between the binary payload and the uncompressed picture data. The actual implementation of the encoder / decoder is copyrighted and may also be patented, (which seems to be what you are alluding to), but with patent encumbered formats, the real issue is that the specification itself is patented.

Practically this means that every encoder / decoder for patent encumbered formats has to have some form of licensing just to interact with the format even if they somehow reverse engineered the specification and built a cleanroom implementation (at least as far as I understand it, IANAL)


Everything you can instruct a computer to do is just math, yes. "Instructions on how to use the math" is, unsurprisingly, also more math.

https://en.m.wikipedia.org/wiki/Lambda_calculus


I am well aware of the foundations of CS and the lambda calculus, but this is more than a bit reductionist, like saying "everything is made of subatomic particles."

Patents on processes and methods are pretty common. Dismissing it as "they just patented some math" and then falling back to saying "oh, lambda calculus" -- I think you can do better :-)

But, yes, I'm sure the patents suck.


B-frames (bi-directional predicted frames with a reference frame in both the past and the future) are patented. I'd say that's a process or method.


I don't feel like you were asking on good faith after this response.


Why should Free software advocates need to "do better" than to argue from literal first principles?

Fourier could call his transform a "process" all he wants, but that does not make it patentable.

So yes, "oh, math."


Almost all inventions can be reduced to "just math", because after all, that's what we use to describe the physical world, and oh also computer software things.

I'm not in favour of patents at all, but the entire "it's math" argument has always seemed exceedingly weak to me.


These files have carefully constructed format though. To read and write the patented format goes beyond patenting math. I think cmrdporcupine was getting at something.


Yep, it's not like I think the patent is just. I think software patents are mostly junk. But saying "because it's math" is highly uninformative.


First principles is fine, but where is the argument?


I don't quite understand how you do not recognize that that is a strong argument against your position.


Insofar as GP seems to be against software patents in general, it is not an argument against his position, is it?


It definitely is. Church Turing thesis basically states that all systematic procedures can be encoded as math. So, software can be encoded as math yes, but also music can be encoded as math. Life can be encoded as math (which is what our DNA is).

Rather than providing a basis of not allowing software to patented, I think it makes the statement "X can be encoded as math" trivially true - and therefore uninteresting.

In so far as there is value in patents on any systematic procedure at all, the position that "software should not be patentable because it can be encoded as math" is completely untenable.


The difference is that music is not, in fact, math. The representation is abstract to the utility. With software, the math is the utility.


Software is also, in fact, not math. Nor is the math the utility of software. Software's utility (usually) is the business problems it solves. The processes are encoded as math, and a lot of writing software is about improving those processes, but that is not in fact the utility.

Think of the guy who invented the equi-tempered scale. All throughout history you had to make instruments that are tuned to play in one scale. Now you can suddenly make instruments that can play all of them. Solves a real problem from music by making an improvement in the representation, so it can be viewed as all math. But is it really "just" math?


What does “the representation is abstract to the utility” mean? I mean, music isn’t patentable, but it is thoroughly copyrighted.


The link you're looking for is curry howard correspondance


Everything is math.



Here is a list of the essential patents from the main pool: https://www.mpegla.com/wp-content/uploads/hevc-att1.pdf

Find a single US patent that "claims" maths as GP argued. It doesn't exist.


I picked first US patent listed (US 7,292,636), and it's first claim says

> 1. For a bitstream comprising a first video picture, a second video picture, and a third video picture, a method of decoding comprising: computing a particular value that is based on (i) a first order difference value between an order value for the third video picture and an order value for the first video picture, and (ii) a second order difference value between an order value for the second video picture and the order value for the first video picture; computing a particular motion vector for the second video picture based on the particular value and a motion vector for the third video picture; and decoding at least one video picture by using the computed motion vector.

That certainly sounds like math to me.


If you’re against patents, yes.

If you’re gainfully employed doing math things that turn into codecs, no.

Patents suck, but they also serve a purpose.


I’m not sure why is this being downvoted…

A patent for a drug is just chemistry, which is also just math with a specific ruleset…

Patents are designed to protect work, especially work where most of the effort is in the research / discovery rather than the implementation.

Implementing a video decoder is relatively easy coming up with the algorithms to encode/decode the video efficiently and effectively however is a lot of work.


There are essential differences between chemistry and mathematics.

To discover anything in mathematics, including a new video compression algorithm, you do not need anything else, except a computer. In theory, not even the computer is needed, as you could do everything with pen and paper, but it might require years or centuries.

Chemistry is an experimental science for now, until someone would find a method to solve the equations of quantum mechanics for non-trivial systems.

A lot of mathematics is used in chemistry but at its base chemistry remains experimental, because all the mathematical models used in chemistry to predict some facts use a large number of model parameters that have been determined experimentally. There are no truly "ab initio" mathematical predictions in chemistry.

Using mathematics in chemistry allows a significant reduction in the number of chemical experiments that must be done to discover anything new, but they cannot be eliminated yet.

Any discovery in mathematics can be easily redone again, by someone else, completely independently, and this actually happens extremely frequently.

There do not seem to exist many reasons that can justify why the later discoverers must be punished to pay money to others in order to use the mathematical relations that they have discovered themselves, even if by some chance someone else happened to discover the same relations earlier.

For mathematical discoveries, there are little grounds to claim that the first discoverer should be able to recover any expenses, as most of the strictly necessary expenses are just in the salaries of people and it is very difficult to estimate what percentage of those expenses had actually contributed to the discovery.

On the other hand, for inventions referring to chemical substances, or to mechanical, thermal or electrical devices and so on, a lot of experiments with physical devices must be made and the experimentation costs can indeed be very high, so it can be argued that it might be good for a society to encourage such experiments by promising a temporary monopoly for the exploitation of the results, as long as the duration of the monopoly is not excessive.

For the kind of minor innovations that are the object of most recent patents, a reduced patent duration seems more appropriate, e.g. 10 years.

A patent duration of 20 years or more seems acceptable only for a few patents for which the acceptance criteria should be much more strict than they have become recently, i.e. such patents should really be "non-obvious for those skilled in the field", and not just trivial combinations of formerly known devices or methods.


You have missed the point, a video encoder isn’t just math anymore than chemistry is just math.

Finding the methods is the discovery and there are a lot of experimental work that goes into video and audio encoding as well including perceptual measurements and actually coming with a method that can be efficiently implemented in both software and hardware.

There are plenty of patents that don’t require nearly as much experimental or hard science work as developing a new encoding method.

This isn’t even about discovering anything new in mathematics although that can happen it’s about a novel implementation which does deserve patent protection whether you like it or not.

If one can literarily get a patent for a new pressure valve with just using a pen and paper or in even a better analogy a purely computerized simulation your argument simply falls apart.

The argument about it being non obvious is also has nothing to do with software as many things in computer science (since that is the field most relevant in this rather than software development) can be very much non obvious to experts in the field too.

And that is the gist of issue here the software implementation isn’t what is actually protected by the patent that might be protected by copy right. The patent itself covers a method which as you said can be implemented even on a piece of paper if you want to do things really slowly.


Designing a video compression algorithm is a purely mathematical task.

However you are right that for comparing different compression methods and for deciding which is the best method of several alternative methods having the same compression ratio, it is far better to do experiments with humans, instead of relying on some mathematical criterion, e.g. the distance between the original signal and the decompressed signal, according to some simple metric.

So I agree that a new video or audio compression algorithm may incorporate some new knowledge about a physical system, i.e. about the perceptual abilities of humans.

However that would justify patenting only some features of the algorithm that have the clear purpose of taking advantage of some characteristics of the human vision which have been newly discovered and described by the patent authors.

The valid claims cannot cover any mathematical tricks to improve the efficiency of the algorithm or any characteristics of the human vision that have already been exploited in the patents for older video compression algorithms.

I am pretty sure that no patent for video compression algorithms restricts itself to such reasonable patent claims.

Regarding software, the main problem is what makes you think that the fact that you happened to be the first to write a program that solves a certain problem, gives you any right to forbid to everybody else to solve the same problem.

It is guaranteed that there are thousands of other programmers who would solve the same programming problem as well as you or even better, without knowing anything about your solution, but they just happened to not face that problem before you.

Any kind of software is a combination of known elements, which have been used for the first time in the early times of the computer industry. Those early algorithms were much more innovative in comparison to the existing practice, than those that are patented now. Had they been patented, no software company, e.g. Microsoft, could have ever appeared and grown.

All those who have patented software in recent years stand on the shoulders of the early programmers who have not patented much more valuable ideas, which are now freely incorporated in the patented software.


I think you lack understanding on what exactly is being patented if you are continuing to repeat the “it’s just math”.

I honestly can’t fathom why software engineers think that they are unique every patent, every invention is built on prior knowledge this is why every patent has a whole section of prior art we all stand on the shoulders of giants.

But again video encoding patents have rarely anything to do with software they are far more generic than that and also predate software by decades.

Here is one of the earliest examples of a video encoding patent I could find https://www.freepatentsonline.com/3679821.html

What exactly do you find here not to be worthy granting a patent for?


The majority of the posters here are IT practitioners. Stupid patent rules get in the way, and there is a visceral reaction to them.

It’s a tough, nuanced issue. I don’t think anyone is happy with the system, but many stakeholders have a vested interest.


That doesn't explain why the browsers don't offer hardware decoding but only software decoding. Both implement the same specification. One is just faster (and in hardware which I assume has said license fees paid by the processor manufacturer).

In fact looking at it this way it would be easier to implement it in hardware as you don't just offload the decoding but the whole licensing rigmarole too.

Edit: oops this was already mentioned. Sorry the thread is so long I lost the overview.


> video codecs are the exemplary "we'll patent math and there's nothing you can do about it" scam, since that's literally all a video codec is

Most software is literally all math.


IMO the real issues caused by patent encumbered formats is that what is patented is not the software itself, but the format. So instead of patenting a specific implementation of an encoder or a decoder, what is patented here is the relationship between the bits on disk and the pixels on the screen. I think that's what the quoted text is trying to get at.


Formats aren’t patentable as such. The issue is that there is really only ever one procedure for decoding a complex format, and many of the steps / building blocks that go into that procedure might be patented by various entities.


The Church Turing thesis basically states that any systematic procedure can be encoded into math. Software can be encoded as math, yes, but music can be encoded as math. Life can encoded as math (which is what your DNA is).

I really don't understand how the parent commenter fails to see that this makes "X is math" basically a meaningless statement because it is always trivially true and makes their position "math shouldn't be patented" completely untenable.


Encoding the information about some thing in numbers does not make the original thing a mathematical object.

The numbers used to encode some information are mathematical objects and they can be transformed using mathematical functions. You can encode the image of a flower in a bit string and you can compress the image by applying a mathematical function. That does not mean that the flower is a mathematical object.

The sequence of bases of a DNA molecule from the flower records some information about the structure of that DNA molecule, but it is neither the DNA molecule nor enough information to completely clone a living cell (the various cloned animals from experiments are not identical copies, they combine features inherited from the source of the DNA with others inherited from the source of the anucleated cells used to make the clone, the nucleic DNA is the major source of information about a living cell, but not the only one; it is like the source text of a C compiler that still needs a lot of extra information in order to bootstrap it into an executable compiler).

When patent claims are analyzed, it is easy enough to determine if they refer to mathematical methods or to physical things, even when the language of the claims is intentionally confusing.

Originally the concept of patent was applicable only to physical devices, which could be built and demonstrated to work as claimed.

However the acceptance rules have been relaxed in time, allowing more and more abstract patent claims, until it became possible for the first time to patent software, first in USA, and then also in other countries, usually as a result of pressure either from USA or from industry lobbies.


That is why previously software could not be patented and it still cannot be patented in many countries.


It's not just math. It's a process that can be described in mathematical language.


"IP" isn't property.

Also, only decentralizing, open source, individual empowering, tech, isn't anti-human.


Software patents should not be a thing... but the US neoliberalism fucked it up for everyone.


Every country in the world "endorses" the concept of "essential" patents. It's called a patent.


No.

A patent covers a way of doing things.

An essential patent covers the way of doing things.

Essential patents in general fail the obviousness test; they cover the solution that most experts in the field would reach in solving the given problem.


> A patent covers a way of doing things. An essential patent covers the way of doing things.

You have absolutely no idea what you are talking about. An essential patent is declared essential to a standard (of which there are many). Take 3GPP, companies like Qualcomm, Apple, Ericsson, Huawei, etc. all spend hundreds of million of $ developing each release of the 3GPP cellular standard. During this development process often times patents are filed (based on the companies contributions). As part of joining 3GPP you have to agree to license this IP on fair, reasonable and non-discriminatory (FRAND) terms. The patents are almost never obvious, as you can see from the lengthy debate over each feature and all of the associated proposals at each 3GPP meeting.


Aren't essential patents essential because they are a standard (or part of one) that makes them essential? Not that they must be obvious?

For example, what good is the perfect communication codec if every operator must each pay top dollar?


I'm not saying that 'essential' means 'obvious' in any official sense, rather that they generally cover solutions that experts in the field would come to if attempting to solve the problem.

I struggle to see how the patent office could ever uphold the requirement of inobviousness, how could they possibly have expert level domain knowledge across all domains?

So the patents get granted, contextually obvious or not.

I should stop typing while I'm still vaguely on topic, before I start ranting about patent thickets and wilful infringement.


> that's literally all a video codec is

Go on then, make a better video codec, as it's just math.


Nobody said math is simple.

Also, isn't that just AV1? (it does seem optimized for the particular niche of streaming vendors though: minimizing bandwidth at all costs)


H.265 requires getting a license from at least 2 patent pools[0], and who knows how many other patents are out there waiting to get sued over.

If you want a new cross platform video codec, check out AV1.[1]

[0] https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#P...

[1] https://aomedia.org/av1/


Three patent pools, and some major companies that you need patents for aren't in any of them. Also unlike H.264, there was no limit to how much you could spend on licensing every year. And that was only the beginning of the disaster.

https://hackernews.hn/reply?id=31318663&goto=item%3Fi...


>there was no limit to how much you could spend on licensing every year.

Both MPEG-LA and HEVC Advance offer Max Cap per year.


MPEG LA had a cap, Access Advance (formerly known as HEVC Advance) now has a cap though I do not believe there was a cap originally. However, my statement is still correct because to use HEVC you need to also talk to Velos Media (pricing and terms not public), and you also need to contact several individual companies not in pools like Technicolor (who also do not have their pricing and terms public).

EDIT: HEVC / Access Advance does have a cap if you put their branding on any product you make containing HEVC technologies - including, oddly, 4K Blu Ray discs (see LOTR Extended Edition 4K, it has the HEVC logo on the box, as if literally anyone cares about HEVC as a brand). If you don't put their logo on your products, no caps.


>If you don't put their logo on your products, no caps.

New HEVC-Only Platform License - Royalty Rate Structure for Licensees In-Compliance without Trademark Discount has Caps. And the Standard Structure for HEVC Licensees with no caps are there for specific uses only under trademark dispute.


The licenses have already been paid for the hardware implementation, that doesn't explain, eg, Chrome's refusal to leverage hardware decoding (and stop burning so much power on laptops).


Chrome and Mozilla both want their competitor format AV1 to “win”.

Plus, partial support is a burden - one of the patent holders might come by and ask you to prove you didn’t accidentally violate one of their patents while fastidiously only using that approved hardware. I think there’s a lot of lawyer risk there below the waterline.


It would also be extremely confusing to support something with only hardware decoding. People running supported hardware would start saying things like "Firefox supports HEVC" which would sound plainly wrong to someone with unsupported hardware.


On the other hand, basically all platforms of the last few years support hardware decoding of HEVC. nVidia does, Intel does, AMD does... so pretty much for every PC made in the last ~six or so years:

- You paid the royalties for HEVC, possibly multiple times

- It can almost certainly encode and decode HEVC without breaking a sweat

- You (practically) can't use it ("if it's not on the web, it's dead")


Yes a decade ago this was the Firefox approach to h264 -- leverage OS/hardware support if available. Can confirm horrible experience for devs and viewers


Google already paid the Max Cap for HEVC patents on their Pixel Phone and other hardwares. Turning on Hardware acceleration option on Chrome isn't a partial support or cost issues. It was simply an ideology issue.



I don't buy the patent argument. AV1 is not unique, it would not be hard to find some similarities in the math and argue infringement of one of tens of thousands of patents these companies sit on. The companies simply don't want to upset the largest tech companies, though apple already buys from them.


The AOM foundation has spent millions on legal reviews. There is always a chance of something slipping through, but that could happpen with any technology. Someone unknown company could come forward with a claim that h.265 infringes on a patent.


Chrome leverages hardware decoding in general it just doesn't support h.265 at all, hardware or software.


Let's just say HEVC Patent Pools got greedy and demanded a per-software license, either paid by Windows (who decided not to pay) or by Chrome (who also decided not to pay).

https://hackernews.hn/reply?id=31318663&goto=item%3Fi...


The correct way to see this is probably that licenses have already been patented for the existing implementations, and dropping support for future ones means money saving.


I've yet to see any hardware decoder supporting AV1. And while you can decode with software, at the cost of using obscene amounts of CPU cycles for extended periods of time which not all devices are designed to sustain, forget about software encoding. Encoding is just not going to happen without a hardware accelerator.


The devices with hardware AV1 decoders have begun to appear this year.

For example the new Rockchip RK3588 (for cheap computers with ARM CPUs and for TV top boxes) has a 4k @ 60 fps hardware AV1 decoder and the new Intel ARC GPUs also have hardware AV1 decoders.

There are some new chips for smartphones that will have hardware AV1 decoders.

The NVIDIA GeForce RTX 30 Series GPUs have hardware AV1 decoders, but I have no experience with them, as the most recent NVIDIA GPU that I use is an older RTX 2060 Super.

It is not known yet for sure whether the next generation of AMD GPUs will have hardware AV1 deoders. If they would not have it, they would remain the only new GPUs without hardware AV1 decoders.


But if an application merely uses the graphic's drivers API to decode a stream, presumably the GPU vendor (and therefore the buyer) already paid for those licensing costs? Otherwise the hardware wouldn't support h265, right?


Right, but neither Google neither Mozilla wants to support it even if they don't need to pay a cent.


They'd both have supported it if the codec was offered freely to all users for any purpose.

But it wasn't, so they'd be letting the entire internet be held to ransom if they supported it.


That's actually not entirely clear to me. Which is another reason to avoid H265 altogether....

I mean, even if say Chrome started using the hardware decoders, do you think someone from the MPEG-LA would _refrain_ from suing Google since "they're just using the Windows API"? It's already not rare to have to pay both for the hardware _and_ the software in this world.


Perhaps there are software patents involved in the codecs and a license for those is different from the hardware ones


FFmpeg and VLC seem to use (lib)x265 for H.265 content.

Is a license also required if the x265 codec is used? Or does that depend on whether the software is for commercial use?


>FFmpeg and VLC seem to use (lib)x265 for H.265 content.

copypaste of previous comment:

The FFmpeg project does not distribute binaries with unlicensed or illegal code. E.g. if you want ffmpeg to use libdvdcss for decrypting DVDs or use libfdk-aac to encode aac/m4a without paying license royalties to Fraunhofer, the end user has to download those components and build a custom ffmpeg binary on their own. No legitimate website will host ffmpeg built with the "illegal/unlicensed" libraries. E.g. When the popular Zeranoe website hosted ffmpeg executables for download, it was only built with the free GNU components and was missing x265.

The VLC project says they can include libdvdcss because they are a French company instead of American. E.g. The USA-based Microsoft removes DVD playback from Windows 8 but France-based VLC does not: https://www.zdnet.com/article/if-vlc-can-ship-a-free-dvd-pla...


> When the popular Zeranoe website hosted ffmpeg executables for download, it was only built with the free GNU components and was missing x265

Not the case. See https://web.archive.org/web/20200916062932mp_/https://ffmpeg...


ffmpeg/x265 don't own the patents, so their license has no right to grant you them.

Beware that using ffmpeg/x265 may be illegal if you're in a country that recognizes software patents. You need to pay patent fees even if you wrote the software 100% yourself. You need to pay even if you independently invented the same algorithms later than the patent was filed.

To quote Carmack:

> "The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying."


This explains why browsers do not include their own software decoder, but they should not need a license to use the decoders provided by the host platform.


- Neither Linux nor Windows provide one, due to licensing costs

- Most browsers do not deem it worth the risk of relying on host software decoders, as the plug&play infrastructure behind them usually translates into "nobody feels responsible for patching anything" which translates into incalculable vulnerabilities

That leaves MacOS (why bother when Safari exists), iOS (dito), and Android (why bother when Android users don't spend money), and trying to use hardware codecs without stepping on patents enough to make lawyers smell blood (why bother).


Microsoft provides a separate h265 codec you can buy in the Microsoft store: https://www.microsoft.com/en-us/p/uitbreidingen-voor-hevc-vi...

Some hardware comes with the codec pre-purchased (my laptop does). I don't think I've ever heard of anyone buying a codec in the MS Store, though.

I think most Android phones come with HEVC support. Mine did, anyway; I suppose it's up to the vendor to choose if they want to support it. Apps like VLC will also play the codec just fine. My camera app even records in h.265. This is a phone from Xiaomi, which not exactly known for their great software packages and compatibility.

I'm pretty sure Safari already supports h.265 because Apple switched to HEIF pictures while the rest of the world still just uses JPEGs for everything, and HEIF is pretty close to a single h.265 frame packaged as a picture. Not even Apple would be so foolish to switch default formats on their mobile devices and not support it across their software products.

Browsers don't feel like paying license fees over downloads of their free products and I can't blame them. Mozilla's h.264 decoder is only published along with it because Cisco had reached the license fee cap (which doesn't exist for h.265) and they decided to use their license so that Firefox can play videos freely.

I think Apple and physical disks formats are the only players heavily invested in h.265 right now. AV1 hardware decoding support is slowly coming along, so soon enough everyone can just use AV1 and be free of the proprietary patent bullcrap.


Mobile support comes from the chips (SOC) that the phones are using. Hardware codec support is a major differentiating factor for mobile chips. It has a huge impact on power usage, e.g. decoding video or audio in hardware could be 10x more efficient.

It's common that the manufacturer doesn't actually get a patent license, they get "indemnity". If someone were to sue you, the chip manufacturer would handle it, because they have their own patents and have cross-licensed with the others in the pool. You may have to pay the chip manufacturer for the indemnity in addition to the chip costs, i.e. "paying protection money". "That's a nice restaurant you have there, it would be a shame if someone set it on fire. We can protect you from bad people like that."


> I think most Android phones come with HEVC support. Mine did, anyway; I suppose it's up to the vendor to choose if they want to support it.

The official requirements for Android phones can be found on the Android CDD (https://source.android.com/compatibility/cdd). From a quick look at the CDD for Android 12, section 2.2.2 says that the required codecs for encoding are "H.264 AVC" and "VP8", and for decoding are "H.264 AVC", "H.265 HEVC, "MPEG-4 SP", "VP8", and "VP9". So it seems that all Android 12 phones will come with HEVC decoding support, but not necessarily encoding support. Looking at past CDDs, it seems that "H.263" was required for encoding and decoding before Android 7.0, and "H.265 HEVC" was required for decoding starting with Android 5.0.


New Edge supports it, if you have the h265 extension from the microsoft store (cmd "start ms-windows-store://pdp/?ProductId=9n4wgh0z6vhq"). It's also the only (?) browser that supports AC-3 audio. Thanks for nothing, Dolby.

There's barely any content though (possibly premium VODs on Netflix etc).

Bilibili (kinda like Chinese youtube) offers HEVC (and AV1) playback, if your browser supports it. Example: https://www.bilibili.com/video/BV1Q44y1372Q

In general it's kind of a moot point by now, just go with AV1.


My problem with AV1 is that hardware support for it is far from ubiquitous. I can load up a file I encoded with x265 on any of my devices from the last 6 years and be sure that it will play back smoothly without eating battery. The only device in my house with hardware AV1 support is the RTX 3080 in my desktop. So for the time being, I encode all my blu-ray rips with x265.


My GTX980 did not support HEVC decoding in hardware, and as a result it played like crap on my system. The Nvidia cards have only supported it since the GTX 10 series. That isn't very old IMHO.


Pascal GPUs came out 6 years ago. Intel has also included hardware decoders on their CPUs with integrated graphics since 2015.

It is perfectly reasonable for hardware this old or older to still be in use. But by virtue of being standard in pretty much all new hardware for 6-7 years now, HEVC support is far more ubiquitous in 2022 than AV1.

More importantly, I cannot feasibly bring my RTX 3080 with me on a plane. When loading up movies before I travel, I need them in a codec supported by my phone or tablet. HEVC has fit that bill for years now, and will continue to do so until AV1 support has become ubiquitous in mobile hardware and my current devices have been retired.


The 900 series came out nearly 8 years ago. Back then the world was worried about Ebola and Russia was annexing Crimea.


Imagine worrying about pandemics and Ukraine now...


The GTX10 series is pretty old as far as computer hardware goes. Hardly anyone runs anything older, even in third world countries: https://store.steampowered.com/hwsurvey

Software decoding should also work on a $100 cpu.


The GTX980 was introduced in 2014. It's plenty old.


> In general it's kind of a moot point by now, just go with AV1.

You don't always get to decide. E.g. IP cameras will generally support both h.264 and h.265 these days, with HEVC doing vastly better than AVC, yet if that output has to go near a browser, instead of through dedicated software... SOL. Can't do anything with it. The hardware can, the software can't.

And AV1 is decode-only anyway, and only supported in the newest platforms. CPU decoding is just not a reasonable solution.


It's not just browsers. One popular Windows-based video surveillance platform has hardware decode support for H264, but it's software only for H265; that's on both Windows clients and Android mobile. That means your H264 cameras show up instantly but H265 takes a few seconds per stream, and too many of them on one screen means you're skipping frames. At least two companies I installed these for decided to double their storage instead of taking the perceived UI performance hit.


Are you sure it's "not just browsers"? With the current popularity of embedded browser engines, there's a good chance that these clients are actually browsers in disguise, or at least that they embed a browser for the frame which shows the camera streams.


It's odd that the browser supports AC-3 but the MS video player does not unless you pay for the codec, while all the other video players include it.

Going with AV1 is not an option for the vast majority of people as it requires hardware support. If you try using AV1 on a computer that didn't come with a hardware decoder for it, your machine will crawl.

I force h264 in YouTube for this reason instead of using VP9.


> If you try using AV1 on a computer that didn't come with a hardware decoder for it, your machine will crawl.

My computer doesn't have a hardware decoder for AV1 (as shown by "vainfo"), yet AV1 videos play perfectly fine on it, both within the browser (including on Youtube) and outside it. Playing the AV1 demo (https://demo.bitmovin.com/public/firefox/av1/) on the browser at its maximum resolution uses only around half of the CPU.


You can easily watch 4k AV1 videos on any recent 6+ cores CPU.

So, not an issue unless you're using hardware from 2015 or so? In which case you're unlikely watching a ton of 4k+ content anyway.


I'm still using a Broadwell CPU. 2 cores. It works perfectly fine. I don't use the computer for gaming and do try whenever possible to do so to use h.264 which is fully hardware accelerated.

The machine does not feel slow to me. I have a fast SSD in it and lots of RAM so it is actually quite responsive. It just can't handle certain things like AV1.


I'm not sure if this is the case. Current Edge Dev (102.0.1245.3) reports "No" for HEVC, even with the extension installed. Old Edge based on EdgeHTML/Spartan would indeed play HEVC content


Drop some local h265 mp4s into your edge browser, works fine for me with the extension.


I don't know what to tell you, it doesn't work with the Video tag which is what matters


> In general it's kind of a moot point by now, just go with AV1.

Safari doesn't support AV1 though. I'll stick with AVC until it does


Remember: those h264 artifacts aren't real, they can't hurt you!


FWIW the pirate scene supports it; a lot of video release are H.265 (marked "x265" usually). H.264 is still more popular in general, particularly for TV. There's still no AV1.


Actually it’s not just browsers, HEVC can’t be hardware decoded out of the box on Windows applications that rely on Media Foundation, you have to open the Microsoft store and pay $0.99 for the privilege of using those codecs.


Another thing to consider is that whenever a format works in "all" browsers (for some small values of "all" that devs care to test in), it becomes a de-facto part of the Web platform, and browsers end up having to support it forever.

This makes browser vendors very cautious about adding anything, because even if it's easy now, it's may haunt them later. Maybe they could use HW accell on current-gen GPUs, but what if the next-gen GPUs move to a newer codec and drop H.265? Browsers will still be expected to play existing web content encoded in the old codec, but now with a patent liability and no hardware to subsidize it.


Another question is why don't browsers support MKV container format?

From an arbitrary search "The Matroska project is supported by a non-profit organization and is a fork of the Multimedia Container Format. It was first announced to the public at the end of 2002 and is a completely royalty-free open standard that's free for both private and commercial use."


They do; WebM is MKV.

General MKV support is approximately impossible because the subtitle format is extremely complicated and not specified. libass only implements it by being bug-compatible to an old piece of Windows software.

Also, MKV isn't a great file format; the way it does timestamps is all wrong for instance. It stores them as decimals when they're naturally rational fractions, so it's a strange choice for an archival format since it literally cannot be accurate.


Interesting about the relation between WebM and MKV found in google search:

"Many Web browsers support WebM, which is a restricted version of MKV. The most important restriction is in the allowed video codecs. WebM video uses only the VP8 and VP9 codecs, which are open and royalty-free. All WebM files are MKV files, but not all MKV files are consistent with WebM"

So the question comes back to supported codec moreso than container format.


MKV can literally contains anything includes but not limited to text based effected subtitle, image based subtitle, multi alternative audio channel, chapter separated video and even font.

And the used codec also isn't even limited. H265 10bit + flac 96khz? Fine. You can pack it as long as you want. And it's your own problem to play it. And that is basically why you see youtube-dl merges best audio + best video into MKV. Because it is the one only format that allow you to merge something like vp9+opus into playable single file.

It is basically a 'one format rule them all' format. The browser is unlikely to actually properly implement all of them. (In fact, there are only a few players actually implement all of them outside of players on windows) And even browser does want to implement everything, there isn't proper API for browser to expose these capabilities to the DOM and JavaScript to properly control them. (I think we are unlikely to see browser support native multi audio track video)


I guess because adding full support would be a pain and the average consumer doesn't use it anyway


The frustrating thing IMHO is that IP security cameras support H.264 and H.265, while browsers support H.264 and VP9/AV1. It's good that they have one codec in common, but I'd prefer they share a modern one.

I think much of it is geopolitical. Browser vendors are mostly in the West, can't just ignore the patents, and don't want to pay for the patents. Camera and chipset makers are mostly in China and simply ignore patents and licensing. (They don't honor LGPL/GPL conditions either.)


Give it time. HEVC hardware support was available before AV1 hardware support. I think thats the only reason - realtime encoding of these modern codecs necessitates hardware support on a device like a security camera.


How much time? The codec licensing shitshow was already going strong before web browsers were a thing.


>Browser vendors are mostly in the West, can't just ignore the patents, and don't want to pay for the patents.

Google already pay for it via their hardware business.


HEVC has a long and complicated history.

With H.264, it was easy - one patent pool. Any questions? Contact MPEG LA. How much did it cost? About $2 or so per device, no problem. Did you spend more than (IIRC) $14 million on licensing each year? It's free past that point. As for open-source software like Firefox, Cisco actually struck a deal to pay all the royalties if you used their OpenH264 decoder (they needed H.264 to be widely supported for WebRTC), so Firefox and other software was able to use the binary of that and have Cisco covering the royalties for them.

With H.265, everything splintered. There are three patent pools: MPEG LA, Access Advance (formerly known as HEVC Advance), and Velos Media. Between them, you have to pay royalties on the hardware, the software, and a royalty per-item created past a certain point. Some had royalty caps, others did not and would rack up royalties indefinitely and unpredictably high. Some patent pools had you licensing patents available in other pools, so you were paying twice for the same patents. And some major patent holders (such as Technicolor) weren't in any pools, so you needed to approach them manually and hash out a deal on your own which could have as favorable or unfavorable terms as they pleased. Also, Cisco (not surprisingly) said they weren't paying the royalties for an OpenH265, as it was only a ~30% improvement for a exponential increase in royalties, easily several times or more as much as H264. Bloody hell.

So, it shouldn't be a surprise that Windows decided, screw it, you're paying $0.99 if you want HEVC, but we're not supporting it with every Windows license because that could easily cost hundreds of millions of dollars because of the lack of caps. Apple used their sheer market power to get HEVC on all their devices mainly for HEIC (HEVC for images), which reduces storage space needed for photos and iCloud costs, and once you have it on every iPhone, adding macOS is cheap. Presumably this is because Apple struck a deal with the patent holders individually and didn't need to accept the ludicrous patent pool terms. Did I mention that Access Advance alone operates their patent pool at an absurd 40% margin for its directors? (Yes, 40% of Access Advance's pool royalty, which is already the highest of any pool by far, is pure profit for the pool itself rather than going to patent holders. It's asinine!)

You might wonder why in the world H.265 licensing fell apart so badly. The answer is, well, streaming. H.264 got its first release in 2003, before YouTube or internet video was really a thing. HEVC was released in 2013 and patent holders were eager to extract rent from Netflix (distribution royalties), PC Makers (hardware royalties), Microsoft and Apple (software royalties), content producers (per-title royalties), basically everyone involved had a royalty somewhere because they thought HEVC was going to be the best thing ever for reducing streaming costs and people would pay for it. They didn't.

The only real place H.265 lives on is in 4K Blu-ray... and Next-Gen TV / ATSC 3.0 which is going to allegedly hopefully replace ATSC 1.0 for OTA Antenna-based TV Transmissions someday. Though, unlike the first digital transition, it's not mandated by the FCC and it also requires licensing HEVC, Dolby AC-4, and a billion other standards so... maybe it will die of patent exhaustion.


With H.264 they retained the right to renegotiate the terms every 5 years. It was only after Theora and VP8 got some traction that they pledged to not alter the terms for the rest of the patent term.

AAC audio hit the exact same problem. Apple refused to support it until they dropped some of the more ridiculous licencing fees.

Even physical DVD players got shafted by MPEG patent prices becoming a significant share of the entire device costs in later years.

It's always been a scam. It always will be a scam. Exactly like the social networks that are so open and friendly till they've got you locked in. That's the whole business model.

HEVC lived and died by licence fees.


h.265 also lives on in open source software other than browsers. VideoLAN has been ignoring the whole licensing disaster because "Neither French law nor European conventions recognize software as patentable" for ages :P


The European Union almost certainly does, that's why it's allowed in countries like Germany and the United Kingdom (pre-Brexit and post-Brexit).


> The only real place H.265 lives on …

Surely Apple devices count as a real place? I expect there are a lot more iDevices than 4K Blu-Ray players.


VR took to HEVC from the get go just because they needed every savings in filesize that could be found. We were running HEVC videos on Android well before iPhones could do it. So it's beyond Apple devices too


On Windows there is the free version for supported hardware https://hackernews.hn/item?id=31318629


Part of the reason why I gave up commenting on video codec. 90% of what you wrote here is inaccurate to say the least.

The terms for HEVC on MPEG-LA and Access Advance are freely available on their website. If any one wants to look at the cap aka the limit on per company / entity basis you are free to do so.

One could be against patent as an idea or its system all you want. But an objective truth does not change simply because you are against it.


> 90% of what you wrote here is inaccurate to say the least.

Then tell me where I am wrong.

> If any one wants to look at the cap aka the limit on per company / entity basis you are free to do so.

No, you are not, if you had more carefully read my argument. There are three patent pools, and a bunch of non-aligned companies whose patents you also need. HEVC can be properly called out as not having a cap even though some of the patent pools involved have caps. Velos Media, as far as leaks go, is widely believed to have no cap (and they have patents from Qualcomm and Sony, you can't really live without them) - and it is reasonable to believe the privately negotiated deals with the non-pool-affiliated companies (like Technicolor being a big one) also do not have caps. Velos Media's pool is pretty necessary and has no public documentation at all for what it costs.

Thus, HEVC can rightly be called a product without caps as far as can be reasonably told, unless you were to privately negotiate with all of the patentholders yourself. In a similar vein, HEVC / Access Advance said that anyone can build an open-source implementation of HEVC for free, but that is useless propaganda because MPEG LA and Velos don't agree.


> The only real place H.265 lives on is [...]

Funnily enough, the pirate seas have lots of h265 booty. Easy for that crowd, nobody cares about the patents there.


This is also behind heic? Right? Man what a pain, I love hdr and Live Photos but anywhere outside the Apple ecosystem it is pain. I really wouldn’t mind paying some dollars for some codecs to just be able to see my pics in Windows, Linux, Nextcloud etc.



Windows 11 appears to read HEIC in the photos app.


With the required codec from the store, yes.


Hmm, I didn't do that. Maybe support gets installed by the iCloud Drive client?


I think there are a few patches that can enable HEVC hardware decoding with chromium. Though I am a firefox user so I didn't test whether these patches works or not. https://github.com/StaZhu/enable-chromium-hevc-hardware-deco...


I'm under the impression that VP9 is in the same generation with H265 (in terms of video size and encoding/decoding performance) but VP9 is free and open, so as a consumer, I'll happily accept if everybody just uses VP9.


It claims to be from the same generation but realistically it’s half a generation behind.


You are completely right. I have never gotten HW accel to work in ANY browser. It's honestly baffling that hobby project level video player get this to work without a hitch but Google and Mozilla can't. Even of decades.


I wonder if there is a term similar to Rust Evangelism Strike Force for AOM. But generally speaking AOM supporter refuse to accept anything but AOM. This isn't just the case with patented video codec like HEVC or VVC. But even something like JPEG-XL.

I would not be surprised if whole team of Google engineers threaten to quit if the company were to support HEVC in their browser.

One could also argue, in the context of Internet video, [1] HEVC doesn't actually provide that much cost saving. The cost of bandwidth have reduced by 90%+ in the past 10 years. And we should see continue cost reduction in the next 10 years. While the cost of storage is extremely slow if not risen due to the usage of NAND. Hence there isn't really a need to switch. H.264 is still the most efficient video codec in terms of complexity / compression. ( May be MPEG-5 EVC is better in this scenario, but it is still very new )

[1] Video codec has lot of usage outside of internet, HN and internet/Tech comments tends to have a world view where everything is internet and ignore broadcast or other media usage.


probably a patent issue... I love x265 for the video file size and a decent video quality


Back in the DVD era there was a conscious attempt to converge between the PC industry and consumer electronics.

Since then (when they decided that Blu-Ray drives weren't going to be standard in PC) there has been a decoupling. HEVC is a consumer electronics standard, the PC industry is going towards VP9, AV1 and other royalty free codecs.

Up until HEVC most codecs had one patent pool you could pay a royalty to and be good. HEVC had the problems that two entities claim to control essential patents

https://en.wikipedia.org/wiki/Access_Advance

https://en.wikipedia.org/wiki/MPEG_LA


It also occurred with 4K Blu Ray, which was a real pain in the neck on PC requiring Intel SGX, Intel Secure Media Path, and a billion other DRM things. Then Intel removed SGX in 11th generation onward, and the Blu Ray developers have basically decided that being unable to play 4K Blu Ray on modern PCs is apparently just fine and haven't done anything to fix that.

To this day, the only official way to play 4K Blu Ray on a PC is to get a 10th gen Intel and play back using Integrated Graphics using one of the internal drives made by a drive manufacturer who was utterly shafted by this nonsense.

(It's got to hurt more though that 4K Blu Ray's new and improved DRM was, despite all this, broken less than a year after release. If you are a drive maker, knowing your drives are useless on modern PCs because of broken DRM that Blu Ray developers still insist is necessary must be the most infuriating thing ever.)


So grateful for the developer of MakeMKV.


we've had DRM'ed media for 20 years and people are still surprised that there's a reasonable chance of being shafted if they invest in the ecosystem?


To be fair USB sticks fill part of the removable media niche.


We have finish the development of chromium hevc hardware decoding support on macOS/Windows this month, not sure when will this feature be embedded into chrome, but you can atleast try this link to download the prebuilt version: https://github.com/StaZhu/enable-chromium-hevc-hardware-deco...


Can someone help me understand why my windows 10 laptop with the latest VLC can't run x265 video files, but my windows 10 desktop with the latest VLC can? My desktop definitely runs circles around my laptop, but I'm not very well versed on video tech, so I haven't been able to figure out what the issue is on my laptop.


FYI (not just you but generally): one tool that is very useful in this situation is called "DXVA Checker", it checks the DirectX video acceleration modules that are available for the current hardware/driver and then you can compare that against the file ("codec information" in VLC) and see what's going on.

I would hazard a guess that your laptop probably doesn't have a hardware H265, or that the H265 file you're using doesn't match up to the decoder module (eg 8 vs 10 bit, or color space, etc). It is then falling back to software-decode or hybrid mode, and then it doesn't have enough oomph to do the file.

https://bluesky-soft.com/en/DXVAChecker.html


Thanks very much. I wouldn't be surprised if it's a hardware shortcoming; my laptop is from 2015/2016, I just never really notice because I only use it for the most barebones needs (I hate using laptops). You're probably right, so I'll check out that tool and see what I learn. thanks!


Because the GPU in your laptop does not support x265 hardware acceleration. You need and intel 7th gen or newer for 10bit h.265. 6th gen only supports 8bit.

AMD APU's started getting h.265 support around the same time.


What CPU and GPU do you have in each machine?

Low powered laptops without HEVC hardware decoding will probably struggle.


That's strange. I think VLC is able to play HEVC even if you don't have a hardware decoder. You've tried reinstalling and deleting the VLC appdata folder?


The other problem is like competing codecs (vpx comes to mind), they all require much more resources for little gain, both for encoding and decoding - even in hardware vp9 requires more than h264 (and 5), patents are not the only reason.

Also with a million competing codecs which do you choose....


I have not seen evidence that hardware accelerates h265 decoding consume that much more energy. Generally the complexity increase is biased toward the encoder


Not 265. its almost as simple as 264, but vpx (and their new fangled one which is even worse) - sorry if it wasn't clear from my comment


One of the main advantages would be hardware accelerated encode/decode, but because every manufacturer supports it differently most software refuses to use it. And once you go to software encoding, why not use a more efficient and open codec.


H.265 works for me in Firefox using hardware acceleration via VA-API.


Because Fuck Patents.


Stupid question but… why?


1. The software patent examination process is pretty broken - a lot of companies try to patent everything without regard to is it obvious or innovative so if they get sued for patent violations they can counter sue; the patent examiners for whatever reason (law, lack of expertise, lack of staffing) keep approving patents for software that is obvious not-innovate normal state of the art things) then all of a sudden people can't use linked lists or whatever.

2. The idea of patenting algorithms themselves seems to fly in the face of free speech. An algorithm is a disembodied mathematical thing, and not a device for selling. The same logic that allowed PGP to be exported as a book despite export laws would seem to apply to patens on algorithms.

3. An industry that is harmful to the free development and operation of business has sprung up where firms (that don't do anything economically or socially productive) buy a lot of patents up and then file nuisance law suits to get revenue streams for their investors.

(Disclaimer I am the inventor on a couple patents; I had prepared my notes and list of innovations on the systems involved for the meeting with the lawyer filing the patent, and the discussion never got to any of the innovations involved, so there is no way that the patents were awarded for innovation.)


> the patent examiners for whatever reason (law, lack of expertise, lack of staffing) keep approving patents

Relative works for over 10 years as patent examiner, now a team manager, for EU: they are ordered to approve as many patents as possible. Having more patents is considered progress and innovation, more patents approved is a KPI. Unless they are ridiculous or illegal, they have to approve it and it is the job of people that are affected to fight to cancel the patents.


I am not the OP, but here is my take. In practical sense, because they do more harm than good. In logical sense, IMO, IP (patents, copy rights etc.) is not `property`, so it cannot be owned. Thus it can be copied indefinitely and used once it is exposed. World would be a better place without this nonsense.



They serve unintended purposes better than their intended purpose.

There’s something better and no one cares to try.


They hold back progress and prevent things like h265 being adopted


AV1.


Eh it's fine. All my local videos get transcoded to X265


first thing that comes to mind for me is AV1 nobody wants to pay the absurd price for teh licensing and royalties for things like codecs


not to mention they're talking about like h266 now https://en.wikipedia.org/wiki/Versatile_Video_Coding


Because people prefer to destroy ecology and user experience than pay one symbolic dollar for a lifetime license


That symbolic dollar causes so much overhead though.

Who tracks who has bought or not bought it? Should users/software devs/hardware makers pay? For potentially billions of users/software copies/devices across many national jurisdictions.

I click the x265 video link. And now the browser/OS/hardware have to do a dance to determine if I am allowed to watch the video or not.

Or because that is a big hassle, don't bother. Use x264 until AV1 is supported.


Are windows codec packs still a thing? That worked fine back in the day. They're welcome to talk to me about licensing their $1 patent for personal use after they track me down (though, chances are, I already accidentally own a license to it anyway.)



Ha! That doesn't apply to Mac, Linux, iOS, Android. Which the browsers support and consist of far more devices.

Relying on every user to honorably-do-the-right-thing AND every OS/browser/video software to coordinate to make it happen is foolish. Nice in an ideal world, doesn't work in practice.

Don't get me wrong. I am all for the maker of the codec getting some monetary reward for their clever work. But this is a dumb way to do it.


Nono it's much simpler than that. The code (e.g shipping x265 decoder) is open-source and cross platform. You don't have to pay multiple time per O.S, the browser should be the (optional) source of the payment hence it can author every user is legal. Why can Firefox use h264 currently for free? Because Cisco pay for everyone. It's a small amount that would cost nothing (anyone could crowdfund it). H265 was shipped for free on Microsoft edge pre chromium. I suppose Microsoft paid for everybody and the real cost is less than 1 dollar per user. The browser could sync the license validity either via an account (e.g Google) which is already synchronised to the browser anyway, or via the sync mechanisms that already enable to sync history/favorites between OSes But yeah doing like Cisco, Microsoft and Apple (every safari support h265) is the easy way, it doesn't cost them more than a few millions, which is usually allocated in vaporware anyways (fuschia I'm looking at you)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: