Linked by Thom Holwerda on Sun 16th May 2010 12:52 UTC, submitted by mrsteveman1
Internet & Networking Mozilla, sticking to its ideals of the open web, decided long ago that support for the patent-encumbered H264 codec would not be included in any of its products. Not only is H264 wholly incompatible with the open web and Free software, it is also incredibly expensive. Mozilla could use one of the open source implementations, but those are not licensed, and the MPEG-LA has been quite clear in that it will sue those who encode or decode H264 content without a license. Software patents, however, are only valid in some parts of the world, so an enterprising developer has started a project that was sure to come eventually: Firefox builds with H264 support.
Thread beginning with comment 425226
To view parent comment, click here.
To read all comments associated with this story, please click here.
saynte
Member since:
2007-12-10

For a counter example of why Acceleration != Full-Implementation see 3D accelerators. They contain neither OpenGL or DirectX, but rather functions which can accelerate their common operations.

It is difficult to say from the outside whether a particular card supports full decompression of a codec, however for ATI I believe this is the case.

XvMC doesn't support full decoding of h264 as far as I know, only selected parts of the pipeline. I can't say whether this is a fundamental incompatibility, or just not implemented yet. Some proprietary implementations , like VDPAU from NVidia (which works quite well for me), support the full pipeline, I believe.

The layers you describe exist in theory but probably aren't actually being called/used in the way you describe. Firstly XvMC likely calls the xorg driver, secondly, I think the XvMC/xorg-driver layers do not support h264. I'm not sure what that means for licensing...

Reply Parent Score: 1

lemur2 Member since:
2007-02-17

For a counter example of why Acceleration != Full-Implementation see 3D accelerators. They contain neither OpenGL or DirectX, but rather functions which can accelerate their common operations.


I think you might find that there are a great number of patents involved in h.264, but all of them relate only to one or other of the low-level functions. (Here, I use the classic meaning of "function", which is a mathematical operation which takes one or more parameters as inputs, and produces one or mor values as output. Which, BTW, is why software patents are silly in the first place, because mathematics should not be patentable subject matter). Anyway, there is no patent which covers h.264 "overall".

I'm not sure what that means for licensing...


The card is advertised (by ATI) as including the following functionality within the hardware.

http://www.amd.com/us/products/desktop/graphics/ati-radeon-hd-4000/...

This is a long list.

When I buy the card, I get an implied license to use all of those functions.

http://en.wikipedia.org/wiki/Implied_license
Implied licenses often arise where the licensee has purchased a physical embodiment of some intellectual property belonging to the licensor


There is no doubt at all that when I purchased my ATI HD4350 video card, I have purchased a physical embodiment of all of the functions listed in the specifications as linked above.

Within the list it includes specifically hardware decoding of h.264. I have a full and reasonable expectation, when I bought my ATI HD4350 card, that included within that purchase was a license to use the h.264 decoder which is described as being included within it.

Any lawyer representing MPEG LA is going to have a very, very difficult task trying to claim that I must pay again for a licenase for the same functions in my Linux OS, because of this:

http://en.wikipedia.org/wiki/Exhaustion_doctrine
Under the exhaustion doctrine, doctrine of exhaustion, or first sale doctrine, the first unrestricted sale of a patented item exhausts the patentee's control over that particular item.


Having been effectively sold one license for H.264 decoding, I don't need to buy any other. To imply anything else would be misrepresentation at least, or outright fraud even.

Now, the really, really interesting thing is this: why exactly are people like you so keen to try to imply that this is not the case?

Hmmmmm?

Edited 2010-05-18 23:35 UTC

Reply Parent Score: 2

saynte Member since:
2007-12-10

Sure, but the primitive functions have to be composed in the correct manner to make the more complicated ones. For example, you can provide matrix multiplication primitives, which then are used to do all sorts of interesting things (rotations, some basic cryptography, statistics, etc). The primitive operations could be accelerated, while the upper-level ones (patented ones, possibly) are not. However, I don't believe this is the case for modern video cards, in most cases they would have a full decoder onboard.

I was merely responding to the idea that one may always construe 'acceleration' as 'full-implementation'.


Now, the really, really interesting thing is this: why exactly are people like you so keen to try to imply that this is not the case?

Hmmmmm?


Wow, you're paranoid. It was just a question, I'm no lawyer.

Reply Parent Score: 1