[whatwg] HTML5 video: frame accuracy / SMPTE
eric.carlson at apple.com
Tue Jan 11 18:16:35 PST 2011
On Jan 11, 2011, at 5:43 PM, Chris Pearce wrote:
> On 12/01/2011 2:22 p.m., Dirk-Willem van Gulik wrote:
>> On 12 Jan 2011, at 01:17, Chris Pearce wrote:
>>>> I cannot think of a format where this would in fact be the case - but for a few arcane ones like an animated push gif without a loop.
>>> WebM can be variable frame rate. At best the WebM container specification [http://www.webmproject.org/code/specs/container/#track] lists the FrameRate block as "Informational only", which presumably means the value stored in the container can't be trusted.
>> Right - but is there a WebM decoder which is able to hand it off that way ? AFAIK they all use that value or select a default/measured rounded heuristic to solve flicker ?
> Firefox 4 doesn't use the frame rate stored in the container for WebM. Each frame is stored with its presentation time, and we request repaints as each frame fall due for painting. The prevention of flicker is handled by our graphics layer, video doesn't really participate in that, it just hands off frames downstream when they're due for painting. We have plans to schedule video frame painting more preemptively in future, but I imagine we'd still use the presentation time encoded with each frame when we do that.
Video in WebKit is handled a similar same way. Media engines that decode into a bitmap signal the graphics layer when a new frame is available, and the new frame is composited overlapping page content during the next paint. Media engines that render into a hardware layer do so completely asynchronously. In both cases, the media engine is free to decode a whatever rate is appropriate for video file.
More information about the whatwg