Skip to content

Commit

Permalink
Extend EncodedVideoChunkMetadata for Spatial Scalability
Browse files Browse the repository at this point in the history
Fixes w3c#619

Rebase and update of PR w3c#654
  • Loading branch information
aboba authored Jan 4, 2024
1 parent 1203950 commit 8ada051
Showing 1 changed file with 27 additions and 2 deletions.
29 changes: 27 additions & 2 deletions index.src.html
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,10 @@
:: A grouping of {{EncodedVideoChunk}}s whose timestamp cadence produces a
particular framerate. See {{VideoEncoderConfig/scalabilityMode}}.

: <dfn>Spatial Layer</dfn>
:: A grouping of {{EncodedVideoChunk}}s which produces a particular
resolution. See {{VideoEncoderConfig/scalabilityMode}}.

: <dfn>Progressive Image</dfn>
:: An image that supports decoding to multiple levels of detail, with lower
levels becoming available while the encoded data is not yet fully buffered.
Expand Down Expand Up @@ -1652,11 +1656,20 @@
|svc|.{{SvcOutputMetadata/temporalLayerId}}.
4. Assign |svc| to
|chunkMetadata|.{{EncodedVideoChunkMetadata/svc}}.
8. If |encoderConfig|.{{VideoEncoderConfig/alpha}} is set to `"keep"`:
8. If |encoderConfig|.{{VideoEncoderConfig/scalabilityMode}}
describes multiple [=spatial layers=]:
1. Let |svc| be a new {{SvcOutputMetadata}} instance.
2. Let |spatial_layer_id| be the zero-based index describing the
spatial layer for |output|.
3. Assign |spatial_layer_id| to
|svc|.{{SvcOutputMetadata/spatialLayerId}}.
4. Assign |svc| to
|chunkMetadata|.{{EncodedVideoChunkMetadata/svc}}.
9. If |encoderConfig|.{{VideoEncoderConfig/alpha}} is set to `"keep"`:
1. Let |alphaSideData| be the encoded alpha data in |output|.
2. Assign |alphaSideData| to
|chunkMetadata|.{{EncodedVideoChunkMetadata/alphaSideData}}.
9. Invoke {{VideoEncoder/[[output callback]]}} with |chunk| and
10. Invoke {{VideoEncoder/[[output callback]]}} with |chunk| and
|chunkMetadata|.
</dd>
<dt><dfn>Reset VideoEncoder</dfn> (with |exception|)</dt>
Expand Down Expand Up @@ -1704,6 +1717,9 @@

dictionary SvcOutputMetadata {
unsigned long temporalLayerId;
unsigned long spatialLayerId;
unsigned long long frameId;
sequence <unsigned long long> dependencies;
};
</xmp>

Expand All @@ -1723,7 +1739,16 @@
:: A number that identifies the [=temporal layer=] for the associated
{{EncodedVideoChunk}}.

: <dfn dict-member for=SvcOutputMetadata>spatialLayerId</dfn>
:: A number that identifies the [=spatial layer=] for the associated
{{EncodedVideoChunk}}.

: <dfn dict-member for=SvcOutputMetadata>frameId</dfn>
:: A number that identifies the associated {{EncodedVideoChunk}}.

: <dfn dict-member for=SvcOutputMetadata>dependencies</dfn>
:: A sequence containing the {{frameId}} values that the associated {{EncodedVideoChunk}} depends on.

Configurations{#configurations}
===============================

Expand Down

0 comments on commit 8ada051

Please sign in to comment.