What CPU?

Note the following bug  (look at the origin date and resolution dates!)

https://bugs.chromium.org/p/chromium/issues/detail?id=460703

Basically Google knew about Chrome's failure to support the underlying 
already-license-paid-for HEVC decoder hardware in
The CPU for the last 7 years and continued blowing smoke about it even though 
it was repeatedly pointed out to them that the support people were asking for 
was NOT to embed the freely available HEVC SOFTWARE decoder libx265 (which 
would trigger patent demands from MPAA-LA) but to merely support the HARDWARE 
decoder in the CPU.

The most common excuse was the HEVC codec was patent-encumbered, contrary to 
the principles of OSS, it would cause the browser developers to have to pay 
gazillions of dollars to MPAA-LA,  blardy blardy blar.  Because most people 
screaming about the lack of support were end users, they did not distinguish 
between supporting something they had already paid for when they bought their 
PeeCee, or a software solution, and that created sufficient FUD in the industry 
to blow most of them off.

But then finally I guess Google decided that enough CPUs were out in the 
wilderness that supported HEVC decoding in the CPU that they finally gave up 
the BSing and got to work correcting the "bug"   So now, the Chrome code does 
support the hardware decoder in the CPU - assuming one is present.

All browser projects based on the Chromium engine (including Microsoft's Edge) 
would have then gotten support.  Microsoft then fixed their derivative code in 
Edge (which broke the older HEVC Extensions For Device Manufacturer) which is 
why Edge now does not require any HEVC Extensions on a Kaby Lake CPU to decode 
H.265.  Brave fixed their code in November see 
https://github.com/brave/brave-browser/issues/25683 and Safari (as Apple is 
wont to do) copied the same idea and added hardware support into their browser 
under specific CPUs.  I don’t know if Opera had to do anything to get HEVC 
hardware support working in their code, it may have just started working since 
they use Chromium also.  I don’t know WHERE Google inserted hardware codec 
support whether in the engine or the code around it.  So now MPAA-LA is just 
sticking it to the CPU makers and Intel is very likely not even paying them a 
cent but instead is cross-licensing some patent or other that MPAA-LA wants, 
which is usually how the elephants do it when they try sticking it to each 
other.

Firefox is the lone holdout here.  They don't use Chromium but adding hardware 
support for Kaby Lake and later CPUs should be easy enough, considering they 
can probably look at the Google code and see how they did it.  That's why I am 
knocking them about them making it a religious war.  As long as most CPUs in 
the field were not Kaby Lake or later, they had a point - enabling hardware 
support would just be catering to the "elites" who could fork out $2k for a 
PeeCee so screw them.  But now, Kaby Lake and later have been out an 
embarrassingly long time and you can pick up machines quite cheaply that have 
hardware codecs so it's no longer about Mozilla sticking it to MPAA-LA.  So 
what IS it about with Mozilla?  Google got their crap together on this (abet, 
quietly) so why don't they?

Libx265 is another holdout which MAY be where the problem is since it may be 
that Firefox is using OSS libraries to do the heavy lifting. (like libx264, 
etc.)  Right now libx265 only implements HEVC support in software so naturally 
if Mozilla includes it, Firefox instantly becomes subject to MPAA-LA's patent 
extortion.  It would be nice to have a libhx265 of some sort that would use the 
hardware codec if available it would be even nicer to have hardware support 
included in libx265 with a flag to enable hardware only.  That would ALSO allow 
ffmpeg to take advantage of the hardware codec to allow "blessed" distributions 
of the ffmpeg binary not subject to threats from MPAA-LA.  I can dream I guess.

As a sidebar, this nonsense is PRECISELY why I prefer the FreeBSD  Ports 
approach where the code is downloaded and built ON THE SYSTEM.  With the HEVC 
patent, MPAA-LA cannot demand royalties for the libx265 library source code, 
only for the compiled code.  So, Firefox on FreeBSD could EASILY include a flag 
for libx265 in their source, with it merely disabled.  In that case, only the 
end users building a complete Firefox from source would be able to enable the 
flag and once they started using the binary they would be liable for patent 
fees - let the MPAA-LA go demand their 50 cents a pop from millions of FreeBSD 
users and see how far they get.  Which perfectly illustrates the idiocy of 
software patents and is precisely WHY the Ports exists at all.

But, the Linux community eschews building from source in favor of the Microsoft 
way of distributing binaries.  Which is why this is an issue at all.

Theoretically, Chromium compiled on openSUSE should work - if you are running 
openSUSE on a Kaby Lake or later CPU  If it does not then the Chromium 
maintainer for openSUSE needs to be informed and a bug filed with their 
compilation.

The issue though is what the various derivative browser projects do when they 
are compiled and run on a NON-Kaby lake CPU.  As I have discovered with Ubuntu, 
Brave reports no support, Firefox reports no support (obviously) and Chromium 
only supports it if you build it with libx265 (the source for that is available 
that that URL I posted where the Chromium binaries are that have the software 
support)

I would say it's a bug if Brave, Opera and Chrome all open the video window and 
just stall out.  Instead they should be reporting "codec not available" or 
"H.265 hardware codec not present in system" some reasonable error message.  
That's what I get with Brave on Ubuntu, and that's what you SHOUD be getting on 
openSUSE.

On Ubuntu 20, the specific error message from Brave is  "The video could not be 
loaded, either because the server or network failed or because the format is 
not supported."  This is in fact a duplicate of the Firefox error message on 
ALL CPUs.

Ted
 

-----Original Message-----
From: American Citizen <[email protected]> 
Sent: Monday, February 27, 2023 6:04 PM
To: Portland Linux/Unix Group <[email protected]>; Ted Mittelstaedt 
<[email protected]>
Cc: Portland Linux/Unix Group <[email protected]>
Subject: Re: [PLUG] Can someone enlighten me on H.265/HEVC

Ted

I am running openSuse Leap 15.4 latest and attempted to run the
https://test-videos.co.uk/bigbuckbunny/mp4-h265 video

Mozilla Firefox gets codec error and aborts

Brave, Opera, and Chrome all open the video window, then stall out.

I wonder if someone should contact the Packman people on this?? They seem to 
stay updated on all linux media things.

- Randall


Reply via email to