Skip to content

Add SVC modes and metadata #187

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
May 21, 2021
Merged

Add SVC modes and metadata #187

merged 5 commits into from
May 21, 2021

Conversation

chcunningham
Copy link
Collaborator

@chcunningham chcunningham commented Apr 21, 2021

Adds VideoEncoderConfig.scalabilityMode to configure SVC encoding.

Adds Encoded*ChunkMetadata interfaces to encoder output callbacks where chunk metadata is provided to describe SVC (currently just temporalLayerId) alognside the *DecodingConfig. Additional metadata fields would be added later.

Fixes #85 #40 #9


Preview | Diff

@chcunningham
Copy link
Collaborator Author

@aboba @padenot - not quite done with this yet, but uploading for discussion. I'll send new commits tomorrow that break out the metadata dictionaries into their own section and offer more description about their members.

@chcunningham
Copy link
Collaborator Author

Note that this is not intended to address #161 or #182. I expect we may provide a separate mechanism for mutable metadata to address those.

Here, "metadata" refers to an encoder output. It describes a chunk, but it is intentionally not part of the chunk interface, as I want to avoid folks thinking that they need to describe various SVC metadata when giving chunks to the decoder (the only requirement when feeding SVC to the decoder is that you do so in decode order).

Copy link
Collaborator

@aboba aboba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR only includes the TID for metadata, not the other things discussed in https://docs.google.com/document/d/1O6kxAQPLWhCRHkH-6zutcqEUOUWRS6NFM2CQAvi1VTg/ Is this to focus on the things required for H.264/AVC with temporal scalability? Wondering if it would make sense to put it all in now.

@chcunningham
Copy link
Collaborator Author

This PR only includes the TID for metadata, not the other things discussed in https://docs.google.com/document/d/1O6kxAQPLWhCRHkH-6zutcqEUOUWRS6NFM2CQAvi1VTg/ Is this to focus on the things required for H.264/AVC with temporal scalability? Wondering if it would make sense to put it all in now.

That's right (focus on H.264). I will send a follow up PR shortly that adds the other fields. My aim is to prioritize this one, as it includes the breaking changes for the encoder output callback interface, and split off the less urgent discussion of the other metadata pieces.

@chcunningham chcunningham mentioned this pull request Apr 29, 2021
@chcunningham
Copy link
Collaborator Author

Editors call: interface changes LGTM. Defer to @aboba on review of SVC particulars

@chcunningham
Copy link
Collaborator Author

Latest just fills in the algo steps needed to provide the metadata as previously discussed. Lets run through it quickly on tomorrows call.

@chcunningham
Copy link
Collaborator Author

Editors call: LGTM, merge it

@chcunningham chcunningham merged commit d39fda0 into main May 21, 2021
@chcunningham chcunningham deleted the svc_config branch May 21, 2021 15:13
github-actions bot added a commit that referenced this pull request May 21, 2021
SHA: d39fda0
Reason: push, by @chcunningham

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
github-actions bot added a commit that referenced this pull request May 21, 2021
SHA: d39fda0
Reason: push, by @chcunningham

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
github-actions bot added a commit that referenced this pull request May 21, 2021
SHA: d39fda0
Reason: push, by @chcunningham

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
github-actions bot added a commit to tguilbert-google/webcodecs that referenced this pull request May 21, 2021
SHA: d39fda0
Reason: push, by @tguilbert-google

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
github-actions bot added a commit to tguilbert-google/webcodecs that referenced this pull request May 21, 2021
SHA: d39fda0
Reason: push, by @tguilbert-google

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
github-actions bot added a commit to tguilbert-google/webcodecs that referenced this pull request May 21, 2021
SHA: d39fda0
Reason: push, by @tguilbert-google

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dynamic dropping/enabling of layers for SVC
2 participants