[whatwg] <video> and acceleration
Ian Hickson
ian at hixie.ch
Tue Apr 28 17:59:14 PDT 2009
On Sat, 28 Mar 2009, Benjamin M. Schwartz wrote:
>
> The <video> tag has great potential to be useful on low-powered
> computers and computing devices, where current internet video streaming
> solutions (such as Adobe's Flash) are too computationally expensive.
> My personal experience is with OLPC XO-1, on which Flash (and Gnash) are
> terribly slow for any purpose, but Theora+Vorbis playback is quite
> smooth at reasonable resolutions and bitrates.
>
> The <video> standard allows arbitrary manipulations of the video stream
> within the HTML renderer. To permit this, the initial implementations
> (such as the one in Firefox 3.5) will perform all video decoding
> operations on the CPU, including the tremendously expensive YUV->RGB
> conversion and scaling. This is viable only for moderate resolutions
> and extremely fast processors.
>
> Recognizing this, the Firefox developers expect that the decoding
> process will eventually be accelerated. However, an accelerated
> implementation of the <video> spec inevitably requires a 3D GPU, in
> order to permit transparent video, blended overlays, and arbitrary
> rotations.
>
> Pure software playback of video looks like a slideshow on the XO, or any
> device with similar CPU power, achieving 1 or 2 fps. However, these
> devices typically have a 2D graphics chip that provides "video overlay"
> acceleration: 1-bit alpha, YUV->RGB, and simple scaling, all in
> special-purpose hardware. Using the overlay (via XVideo on Linux) allows
> smooth, full-speed playback.
>
> THE QUESTION:
> What is the recommended way to handle the <video> tag on such hardware?
Upgrade the hardware.
> There are two obvious solutions:
> 0. Implement the spec, and just let it be really slow.
> 1. Attempt to approximate the correct behavior, given the limitations of
> the hardware. Make the video appear where it's supposed to appear, and
> use the 1-bit alpha (dithered?) to blend static items over it. Ignore
> transparency of the video. Ignore rotations, etc.
> 2. Ignore the HTML context. Show the video "in manners more suitable to
> the user (e.g. full-screen or in an independent resizable window)".
>
> Which is preferable? Is it worth specifying a preferred behavior?
>From HTML's point of view, all are acceptable. From the user's point of
view, 1 and 2 are preferable, probably at the user's option.
I don't know what else to tell you. :-)
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
More information about the whatwg
mailing list