Bug 23549 - Clarify definition of decode timestamp
Clarify definition of decode timestamp
Status: RESOLVED FIXED
Product: HTML WG
Classification: Unclassified
Component: Media Source Extensions
unspecified
PC All
: P2 normal
: LC
Assigned To: Aaron Colwell
HTML WG Bugzilla archive list
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-10-17 16:22 UTC by Mark Watson
Modified: 2013-10-28 21:17 UTC (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Watson 2013-10-17 16:22:02 UTC
Decode timestamp is an odd concept, since the time at which a frame is decoded is implementation dependent and not visible externally. It is really only decode order that needs to be externally specified. However, decode timestamp is used throughout the specification as a proxy for decode order.

Also, the decode timestamp is not actually the time at which the frame needs to be decoded, since in practice this would be too late (rendering of this frame and decoding of dependent frames takes time).

Replace:

"Coded Frame
A unit of media data that has a presentation timestamp and decode timestamp. The presentation timestamp indicates when the frame must be rendered. The decode timestamp indicates when the frame needs to be decoded. If frames can be decoded out of order, then the decode timestamp are present in the byte stream. The user agent must run the end of stream algorithm with the error parameter set to "decode" if this is not the case. If frames cannot be decoded out of order and a decode timestamp is not present in the byte stream, then the decode timestamp is equal to the presentation timestamp."

with

"Coded Frame
A unit of media data that has a presentation timestamp and decode timestamp. The presentation timestamp indicates when the frame must be rendered.

_Decode Timestamp_

The decode timestamp indicates _the latest time at which_ the frame needs to be decoded _assuming instantaneous decoding and rendering of this and any dependent frames (this is equal to the presentation timestamp of the earliest frame in presentation order that is dependent on this frame). If frames can be decoded out of _presentation_ order, then the decode timestamps must be present in _or derivable from_ the byte stream. The user agent must run the end of stream algorithm with the error parameter set to "decode" if this is not the case. If frames cannot be decoded out of _presentation_ order and a decode timestamp is not present in the byte stream, then the decode timestamp is equal to the presentation timestamp."

(emphasis added to changes)
Comment 1 Aaron Colwell 2013-10-28 21:17:49 UTC
Changes committed.
https://dvcs.w3.org/hg/html-media/rev/bed8606bd0a7

Introduced presentation timestamp and presentation order terms as well. Updated various instances of "presentation timestamp" and "decode timestamp" with links to the definitions.