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 425014
To view parent comment, click here.
To read all comments associated with this story, please click here.
lemur2
Member since:
2007-02-17

"Easier then (in Linux land, at least) to use the decoder embedded into the video card.
As far as I know there *is* no 'video decoder' embedded in video cards. There is dedicated signal processing hardware that does things video codecs need to do quickly (like DFTs, colour conversion etc.). But there's nothing that takes H.264 as an input and gives you raw video as an output. "

Here are the specs for my video card:
http://www.amd.com/us/products/desktop/graphics/ati-radeon-hd-4000/...
ATI Avivo™ HD Video and Display Platform
2nd generation Unified Video Decoder (UVD 2)
Enabling hardware decode acceleration of H.264, VC-1 and MPEG-2


There is also quite a long list of other functions related to hardware video acceleration, although these are not specific to h.624 I would think.

In any event, the video card hardware covers the patented functions of H.264. There can be no patents applicable to getting the video data stream in to and out from these hardware functions, because those processes are in no way novel or inventive.

Since I paid for the video card, I have an implied license to use all of the functions of the card listed in the specifications (link above), even if the OS that I run happens to be Linux.

http://en.wikipedia.org/wiki/Implied_license
http://en.wikipedia.org/wiki/Exhaustion_doctrine

Therefore, I am licensed to use UVD 2 (which is described as a 2nd generation Unified Video Decoder enabling hardware decode acceleration of H.264, VC-1 and MPEG-2) on my ATI card (even if I run Linux as my OS). Therefore, also, it is legal for Mozilla to ship an open source browser that used UVD 2 (if it was present) to decode h.264 videos.

Edited 2010-05-16 23:24 UTC

Reply Parent Score: 5

steogede2 Member since:
2007-08-17


Here are the specs for my video card:
http://www.amd.com/us/products/desktop/graphics/ati-radeon-hd-4000/...
"ATI Avivo™ HD Video and Display Platform
2nd generation Unified Video Decoder (UVD 2)
Enabling hardware decode acceleration of H.264, VC-1 and MPEG-2


There is also quite a long list of other functions related to hardware video acceleration, although these are not specific to h.624 I would think.
"
Does Hardware Accelerated Decoding (or "hardware decode acceleration") === Hardware Decoding? I know that the terms are often used synonymously, but are they the same thing. Surely your graphics card still requires some software which understands h.264, to tell the GPU what to do.

Reply Parent Score: 1

lemur2 Member since:
2007-02-17

"
Here are the specs for my video card:
http://www.amd.com/us/products/desktop/graphics/ati-radeon-hd-4000/...
ATI Avivo™ HD Video and Display Platform
2nd generation Unified Video Decoder (UVD 2)
Enabling hardware decode acceleration of H.264, VC-1 and MPEG-2

There is also quite a long list of other functions related to hardware video acceleration, although these are not specific to h.624 I would think.

Does Hardware Accelerated Decoding (or "hardware decode acceleration") === Hardware Decoding? I know that the terms are often used synonymously, but are they the same thing. Surely your graphics card still requires some software which understands h.264, to tell the GPU what to do.
"

The graphics card functions are accessed via an Application Programming Interface ... aka an API.

Software which calls that API would be termed a "driver".

Video player software which could play H.264 videos would call the driver, which in turn would use the video card API to pass on the video data to the video card to be decoded by the card's decoder functions (collectively known as UVD).

The decoder functions are on the video card. They are not executed by any of the higher layers of software in this stack.

My Linux system could have a player, say Firefox, or VLC, or SMPlayer, which would call the driver, xf86-video-ati, which in turn would call the card's hardware video acceleration API, XvMC, which would then access the actual decoder embedded on the card. None of the software layers would actually have a H.264 encoder themselves.

http://en.wikipedia.org/wiki/XvMC
X-Video Motion Compensation (XvMC), is an extension of the X video extension (Xv) for the X Window System. The XvMC API allows video programs to offload portions of the video decoding process to the GPU video-hardware.


See? The video decoding is offloaded to the GPU video-hardware.

Therefore, the higher layers of software do not violate any H.264 patent.

Therefore, since I have purchased the video card, I have an implied license to use the patented decoder functions embedded within the video card, and I do not require any further license to use the rest of the stack (the higher layers), since these are not patented. Therefore, I can use all of this on my Linux system perfectly legally, since I have paid for the video card.

Edited 2010-05-18 14:45 UTC

Reply Parent Score: 2