Skip to content

Sync #1

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 242 commits into from
Jul 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
242 commits
Select commit Hold shift + click to select a range
bc17616
Make VideoFrame.timestamp non-nullable.
chcunningham Feb 9, 2022
dc87774
Add AudioDecoder 'dequeue' event
chcunningham Feb 9, 2022
08204c5
Merge branch 'main' of https://github.com/w3c/webcodecs into videofra…
chcunningham Feb 9, 2022
63ed9cb
Add notes clarifying VideoFrame timestamp
chcunningham Feb 9, 2022
150ba95
[WebCodecs] Fix markup for notes within lists
tidoust Mar 21, 2022
c0be9ff
[Webcodecs] Fix markdown typos for definition lists
tidoust Mar 21, 2022
f0d7a73
Describe that WG consensus is needed to add registry entries
chrisn Mar 21, 2022
95735fa
fix getAvccBox
Vinlic May 7, 2022
f49dfd5
Revise processing model, begin transitioning AudioDecoder
chcunningham May 16, 2022
9693d12
Use coded size in mp4-decode sample
sandersdan May 17, 2022
c147bfc
Fix typo in processing loop
chcunningham May 18, 2022
41a621a
Explicitly define codec saturation
chcunningham May 20, 2022
a0ead98
Merge pull request #496 from w3c/sandersdan-mp4-decode-coded-size
sandersdan May 24, 2022
99fe303
Remove ImageTrack.onchange event.
dalecurtis Jun 6, 2022
6a91142
Add HEVC registration
sandersdan Jun 16, 2022
5a2f29a
Fix H.264 biblio title
sandersdan Jun 16, 2022
8b6a91e
Apply suggestions from code review
sandersdan Jun 29, 2022
6cb4288
Finish transitioning AudioDecoder to new model
chcunningham Jul 1, 2022
b99b77f
update HTTP RFC
chcunningham Jul 1, 2022
e9f6574
Add missing AudoiDecoder slot init
chcunningham Jul 2, 2022
1eecb0f
Transition VideoDecoder to new model
chcunningham Jul 2, 2022
d947306
Transition AudioEncoder to new model
chcunningham Jul 2, 2022
93e1d2a
Transition VideoEncoder to new model
chcunningham Jul 2, 2022
def0c8a
Transition VideoFrame to new model
chcunningham Jul 2, 2022
18da5ad
Transition ImageDecoder to new model
chcunningham Jul 2, 2022
1012fcd
line wrap fix
chcunningham Jul 2, 2022
fbee483
Merge branch 'revise_processing_model_fix_queue_size' into dequeue-event
chcunningham Jul 2, 2022
da3f6cf
Schedule the dequeue event to coalesce events and avoid spam
chcunningham Jul 2, 2022
e24686d
Merge pull request #493 from w3c/revise_processing_model_fix_queue_size
chcunningham Jul 28, 2022
b28d9ce
Add dequeue event to VideoDecoder
chcunningham Jul 28, 2022
fefa1e6
Add dequeue event to VideoEncoder
chcunningham Jul 28, 2022
a035a78
Add dequeue event to AudioEncoder
chcunningham Jul 28, 2022
c585d51
Merge pull request #439 from w3c/dequeue-event
chcunningham Jul 28, 2022
8ce104f
Merge pull request #497 from w3c/remove-imagetrack-onchange
chcunningham Aug 1, 2022
acece15
Fix missing removal from ImageTrack change event.
dalecurtis Aug 2, 2022
bc711f2
Merge pull request #499 from sandersdan/main
chcunningham Aug 8, 2022
72baacb
Add missing biblio entry to HEVC registration
chcunningham Aug 8, 2022
73eb12e
Merge pull request #489 from Vinlic/fix_getAvccBox
chcunningham Aug 9, 2022
57a64a2
Revert "Fix the problem that getAvccBox cannot get the value when the…
chcunningham Aug 10, 2022
32eb1d6
Merge pull request #524 from w3c/revert-489-fix_getAvccBox
chcunningham Aug 10, 2022
520b416
Revert "Revert "Fix the problem that getAvccBox cannot get the value …
chcunningham Aug 10, 2022
5f1db1e
Merge pull request #525 from w3c/revert-524-revert-489-fix_getAvccBox
chcunningham Aug 10, 2022
2425598
Add audio-video-player sample
chcunningham Aug 15, 2022
3a47117
Cleanup for audio_video_player sample
chcunningham Aug 16, 2022
d51f822
Rearrange audio_video_player.html
chcunningham Aug 16, 2022
6a7e6c5
Add audio_video_player.html to samples index
chcunningham Aug 16, 2022
da35a6f
Move/rename mp4-decode sample
chcunningham Aug 16, 2022
10305ed
Rewview feedback
chcunningham Aug 16, 2022
ed8b2e5
Update index links for player sample to use netlify
chcunningham Aug 16, 2022
471a6bc
Merge pull request #530 from chcunningham/audio-video-player-sample
chcunningham Aug 16, 2022
5f930f1
Update hevc_codec_registration.src.html
sandersdan Aug 17, 2022
add5b19
Merge pull request #532 from w3c/sandersdan-hevc-remove-h264
chcunningham Aug 17, 2022
62928ac
Remove unused property from example code
chrisguttandin Aug 18, 2022
e9fc374
Merge pull request #534 from chrisguttandin/main
chcunningham Aug 18, 2022
b2fa3fe
Move Netlify _headers to top level
chcunningham Aug 18, 2022
702c23e
Move Netlify _headers back to samples folder
tidoust Aug 19, 2022
5373b13
Codec registry: escape "*" in codec strings
tidoust Aug 19, 2022
e5ccdcd
Refactor
Aug 19, 2022
2538e28
Address PR comments.
Aug 23, 2022
3f21b82
Merge pull request #535 from w3c/fix-registry-prefixes
chcunningham Aug 23, 2022
5ab12f1
Merge pull request #536 from w3c/webgpu-sample
chcunningham Aug 23, 2022
2ce3c17
Support decoding of hevc.
taste1981 Aug 29, 2022
3dfd474
Fix link to the registry in the README.
padenot Aug 29, 2022
a2d2b53
Move common samples files to library/
chcunningham Aug 30, 2022
814b6c5
Fix visible rect comparison to use strict equality to allow for visib…
padenot Aug 29, 2022
c78d9fe
Add HEVC registry entry generated output to .gitignore
padenot Aug 31, 2022
9d6dd9c
Split the privacy and security considerations sections in the registr…
padenot Aug 31, 2022
b5ec85c
Merge pull request #545 from w3c/544-split-privacy-security-section-i…
chcunningham Aug 31, 2022
9d7bb7f
Add new pull demuxer interface. Inject demuxers.
chcunningham Aug 31, 2022
707a837
Add Acknowledgements - long overdue!
chcunningham Sep 1, 2022
663a095
Merge pull request #539 from taste1981/hevc_support
chcunningham Sep 3, 2022
e1bc353
Add frameDuration attribute to OpusEncoderConfig
bdrtc Sep 5, 2022
bf808cd
[Publication job] Add HEVC WebCodecs registration
tidoust Sep 5, 2022
38ab436
fix a typo in 8.2.1
bdrtc Sep 5, 2022
6f04e74
Merge pull request #552 from w3c/hevc-publish
dalecurtis Sep 6, 2022
31b0ec4
change type of frameDuration in OpusEncoderConfig to unsigned long lo…
bdrtc Sep 7, 2022
8a91ad7
Merge branch 'main' into 371-add-frameduration-to-opus-encoder-config
bdrtc Sep 7, 2022
938df12
Merge pull request #547 from w3c/acknowledgements
chcunningham Sep 7, 2022
e51d241
Introduce VideoFrame metadata
youennf Sep 14, 2022
c05057b
Copy metadata from HTMLVideoElement if init metadata is absent.
youennf Sep 15, 2022
4a30345
Additional nit
youennf Sep 15, 2022
4f36291
Remove ImageDecoderInit.premultiplyAlpha
dalecurtis Sep 16, 2022
6dd11bc
Fix build error and rename getMetadata to metadata
youennf Sep 19, 2022
673a0fa
Throw when calling metadata() in case VideoFrame is closed
youennf Sep 19, 2022
c4d3a2d
Address review comments on ImageDecoder spec change.
dalecurtis Sep 19, 2022
b37a859
Fix indent for paragraphs.
dalecurtis Sep 19, 2022
43977d5
Fix reference to mime type RFC.
dalecurtis Sep 19, 2022
15183a6
Merge branch 'main' into videoframe_timestamp_fixes
dalecurtis Sep 19, 2022
23700a8
Merge pull request #437 from w3c/videoframe_timestamp_fixes
dalecurtis Sep 19, 2022
1db4c21
Merge pull request #562 from w3c/dalecurtis-patch-1
dalecurtis Sep 19, 2022
bcdda20
Merge branch 'main' into 371-add-frameduration-to-opus-encoder-config
helaozhao Sep 21, 2022
7376fda
change the type of frameDuration in OpusEncoderConfig to unsigned lon…
helaozhao Sep 21, 2022
e3bd671
Fixup nullability.
Sep 22, 2022
3ab5c98
Remove escape.
Sep 22, 2022
091ee65
Remove unrelated change.
Sep 22, 2022
c8fb718
Introduce metadata registry
youennf Sep 23, 2022
7d10b29
fix wrong reference of RFC7587 in opus_codec_registration
bdrtc Sep 23, 2022
67cc867
wrap ptime with backticks in opus_codec_registration.src.html
bdrtc Sep 26, 2022
b8dd618
Add WCG color spaces.
Sep 26, 2022
bfc2af3
Add spec text for serializable encoded chunks.
dalecurtis Sep 27, 2022
a079402
Merge remote-tracking branch 'origin/main' into library-folder
chcunningham Sep 28, 2022
74e562a
Change library to lib
chcunningham Sep 28, 2022
ae7ca0a
Merge pull request #542 from w3c/library-folder
chcunningham Sep 28, 2022
0913cb5
Fix typos
dalecurtis Sep 28, 2022
29f77a5
Remove EnforceRange to framrate definition since EnforceRange is only…
youennf Sep 29, 2022
97fee94
Address some of Chris's feedback
youennf Oct 1, 2022
16175bf
Update video_frame_metadata_registry.src.html
youennf Oct 3, 2022
2a69381
Merge pull request #568 from youennf/enforce-range-framerate
dalecurtis Oct 3, 2022
27c5fff
Add policy for changes to existing registry entries
tidoust Oct 5, 2022
981a72c
Merge pull request #567 from w3c/serial
dalecurtis Oct 6, 2022
5c88ee5
Merge pull request #572 from w3c/registry-changes
dalecurtis Oct 6, 2022
eab6c4d
Merge pull request #551 from bdrtc/371-add-frameduration-to-opus-enco…
tguilbert-google Oct 6, 2022
b33f6f1
Update .github/workflows/auto-publish.yml
youennf Oct 7, 2022
bc8f8dc
Merge branch 'main' of https://github.com/w3c/webcodecs into pull-dem…
chcunningham Oct 10, 2022
d980993
merge fix
chcunningham Oct 10, 2022
ea1125d
Merge pull request #548 from w3c/pull-demuxer-interface
chcunningham Oct 10, 2022
3752c3b
Add AllowShared to EncodedVideoChunkInit data
youennf Oct 10, 2022
b922d49
Address Chris comments
youennf Oct 10, 2022
55ca05e
Merge pull request #576 from youennf/add-AllowShared-to-EncodedVideoC…
dalecurtis Oct 10, 2022
2612b4f
Make VideoDecoderConfig.description AllowShared
youennf Oct 14, 2022
2a563a6
Merge pull request #582 from youennf/videodecoderconfig-description-a…
dalecurtis Oct 14, 2022
a02d2b6
Link to netlify-powered URL for samples (#585)
dontcallmedom Oct 17, 2022
9ad546a
Merge pull request #564 from w3c/videocolorspace-nullable
dalecurtis Oct 18, 2022
1aef32c
Move note on meaningful timestamp to VideoFrame constructor
dontcallmedom Oct 19, 2022
34b6ed2
Merge pull request #566 from w3c/wcg
dalecurtis Oct 19, 2022
bc750fd
When serializing some WebCodecs objects with forStorage=true, throw D…
padenot Oct 20, 2022
a6d5c71
Add null defaults to VideoColorSpaceInit members
tidoust Oct 20, 2022
8b59018
Add VideoFrame Metadata Registry to local biblio
tidoust Oct 20, 2022
3b714ac
Merge pull request #559 from youennf/videoframe-metadata
dalecurtis Oct 20, 2022
03025de
Merge pull request #591 from tidoust/videocolorspaceinit-defaults
dalecurtis Oct 20, 2022
92fd509
Add OpusEncoderConfig parameters
tguilbert-google Oct 20, 2022
f133d94
Add defaults to booleans
tguilbert-google Oct 20, 2022
d7edc37
Merge pull request #587 from dontcallmedom/timestamp-note
dalecurtis Oct 20, 2022
faef414
Move VideoFrameMetadata dfn to WebCodecs
tidoust Oct 21, 2022
1ceb71c
Merge pull request #596 from tidoust/videoframemetadata
dalecurtis Oct 21, 2022
f04a514
Add more defaults, notes
tguilbert-google Oct 21, 2022
e0f0ce1
Remove text description of defaults
tguilbert-google Oct 24, 2022
faa91a7
Merge pull request #590 from w3c/data-clone-error
aboba Oct 27, 2022
32dfcdd
Change frameDuration to microseconds
tguilbert-google Oct 27, 2022
2341ea5
Linkify to Opus RFC 6716
tguilbert-google Oct 27, 2022
76dc5c5
Expand acronyms
tguilbert-google Oct 27, 2022
419a72f
Address minor comment
tguilbert-google Oct 27, 2022
dfa7fb8
Change type to long long
tguilbert-google Oct 27, 2022
7cd5b40
Merge pull request #594 from tguilbert-google/opus_params
tguilbert-google Nov 1, 2022
b4249be
Introduce VideoFrame metadata
youennf Sep 14, 2022
9ea2703
Copy metadata from HTMLVideoElement if init metadata is absent.
youennf Sep 15, 2022
f4fc7c7
Additional nit
youennf Sep 15, 2022
b013d2d
Fix build error and rename getMetadata to metadata
youennf Sep 19, 2022
74729a4
Throw when calling metadata() in case VideoFrame is closed
youennf Sep 19, 2022
cf0f849
Introduce metadata registry
youennf Sep 23, 2022
b5207ac
Address some of Chris's feedback
youennf Oct 1, 2022
71210b9
Update video_frame_metadata_registry.src.html
youennf Oct 3, 2022
d7bea22
Update .github/workflows/auto-publish.yml
youennf Oct 7, 2022
8deadb0
Address Chris comments
youennf Oct 10, 2022
8a5149a
Add VideoFrame Metadata Registry to local biblio
tidoust Oct 20, 2022
2964cbc
Add null defaults to VideoColorSpaceInit members
tidoust Oct 20, 2022
20d9e16
Move note on meaningful timestamp to VideoFrame constructor
dontcallmedom Oct 19, 2022
ee8abc0
Move VideoFrameMetadata dfn to WebCodecs
tidoust Oct 21, 2022
4a54fed
When serializing some WebCodecs objects with forStorage=true, throw D…
padenot Oct 20, 2022
f53f75b
Add OpusEncoderConfig parameters
tguilbert-google Oct 20, 2022
68222f0
Add defaults to booleans
tguilbert-google Oct 20, 2022
3fe2b0e
Add more defaults, notes
tguilbert-google Oct 21, 2022
755ac99
Remove text description of defaults
tguilbert-google Oct 24, 2022
8f41712
Linkify to Opus RFC 6716
tguilbert-google Oct 27, 2022
a7d690e
Expand acronyms
tguilbert-google Oct 27, 2022
648c3be
Address minor comment
tguilbert-google Oct 27, 2022
d29fc21
Merge branch 'main' into opus_frame_duration
tguilbert-google Nov 1, 2022
4644373
Merge pull request #602 from tguilbert-google/opus_frame_duration
tguilbert-google Nov 1, 2022
779fe18
Add requirements to metadata registry definition
chrisn Oct 21, 2022
29513fa
Clarify metadata entry requirements
chrisn Oct 24, 2022
71b75a6
Clarify metadata entry requirements
chrisn Oct 24, 2022
6b3c09e
Mark Chris as a former editor of WebCodecs specs.
markafoltz Nov 16, 2022
cd72b11
Update WGSL of renderer_webgpu.js
ben-clayton Dec 12, 2022
47b8051
Add a way of specifying blockSize and compressLevel to FLAC encoder
bdrtc Jan 4, 2023
e9b8cd3
Fix memory layout of NV12 image example
tidoust Jan 24, 2023
9cc2535
Drop local custom definitions where possible
tidoust Dec 21, 2022
aa2a83d
Drop local definition of now fixed HTML anchors
tidoust Jan 17, 2023
dfc5031
Add VideoFrame Metadata Registry to the Readme
chrisn Nov 16, 2022
d1df0f8
Editorial: fix typos, add missing links
tidoust Jan 31, 2023
c5cdcb4
fix several typoes
bdrtc Feb 1, 2023
f3ac20f
restore 3 wrong fixes according to the comments of @padenot
bdrtc Feb 2, 2023
9a92fb5
Add WebCodecs in Worker sample
aboba Oct 15, 2022
8526db4
Cleanup debug messages
aboba Oct 17, 2022
964af81
Add more granular error messages
aboba Oct 17, 2022
65d7ddf
Add CSS, update codec configuration
aboba Oct 17, 2022
2c74a38
Fix HEVC codec string
aboba Oct 18, 2022
913402d
Fix HEVC codec string
aboba Oct 18, 2022
6536037
Remove remaining "var" usage
aboba Oct 18, 2022
4c1070b
Renove hard coded HEVC error
aboba Oct 19, 2022
ec63e32
Update encode/decode and queue depth statistics
aboba Oct 19, 2022
4ccbf3b
Remove encoder and decoder metrics
aboba Oct 20, 2022
9f26adc
Restore queue size metrics, change default bitrate and GoP size
aboba Oct 23, 2022
aa55239
Fix cfg.svc bug
aboba Oct 30, 2022
1db4e3b
Add bitrate mode selection
aboba Oct 30, 2022
ec35f0a
Adjust default bitrate
aboba Nov 20, 2022
e8fc435
Add WebCodecs in Worker link on samples page
aboba Oct 18, 2022
adf65f4
Add nixxquality's fixes
josephrocca Dec 7, 2022
c846f98
Fix close algorithm for non-null VideoFrame timestamps.
dalecurtis Sep 20, 2022
601c146
Fix a link URL
etcet Feb 8, 2023
704c167
Annotate encoder/decoders with EventTarget on ondequeue events.
dalecurtis Feb 3, 2023
2b856eb
Fix usage of {Audio/Video}Decoder.isConfigSupported() in example
chrisguttandin Mar 10, 2023
5c30e12
Introducing a new 'quantizer' mode for VideoEncoder
Djuffin Feb 1, 2023
e1018c5
Use is not origin-clean concept in VideoFrame constructor
youennf Mar 17, 2023
55094ea
support specify audio encode bitrateMode interface
bdrtc Mar 27, 2023
4d2c5df
Move the attribute of bitrateMode from to OpusEncoderConfigAudioEncod…
bdrtc Mar 30, 2023
2da7339
Per frame quantizer option for Av1.
Djuffin Apr 1, 2023
29f1a8a
Enable configuration of AV1 screen content coding tools
aboba Apr 11, 2023
b35c6a3
Add screen content coding tools as an encoder configuration option
aboba Apr 15, 2023
142b1cd
Update the abstract
aboba Apr 18, 2023
e54743a
fix 2 grammatical errors
bdrtc Apr 18, 2023
4dceb7a
Merge pull request #657 from bdrtc/649-support-specify-audio-encode-b…
Djuffin Apr 19, 2023
baf8e2f
Add per-frame QP support to AVC
aboba Apr 19, 2023
89c802f
Av1 -> Avc
aboba Apr 25, 2023
e27c2be
Merge pull request #667 from w3c/aboba-patch-5
Djuffin Apr 27, 2023
3ec4530
Merge pull request #662 from w3c/aboba-patch-4
Djuffin Apr 27, 2023
76d9e77
Clone configuration should perform a deep copy
padenot May 10, 2023
052d98c
Address review comment.
padenot May 10, 2023
3a96dbd
Merge pull request #671 from w3c/485-config-copy
Djuffin May 11, 2023
119eb19
Define videoSource before videoSelect.onchange to avoid ReferenceError.
HuaChunbo Jun 7, 2023
a7ea132
Add VideoFrameBufferInit.transfer
Djuffin May 18, 2023
18d4456
Editorial: account for SharedArrayBuffer change in Web IDL
annevk Jun 15, 2023
d74a047
Fix usage of RFC2119 words in privacy and security section
padenot Jun 15, 2023
f535233
Add AudioDataInit.transfer
Djuffin Jun 21, 2023
203730e
Merge pull request #685 from w3c/684-remove-may-privacy
aboba Jun 22, 2023
fb21d67
Merge pull request #683 from annevk/annevk/allowshared
aboba Jun 22, 2023
a3db9af
Remaining normative language issues
aboba Jun 22, 2023
0f12a6c
Merge pull request #1 from aboba/aboba-patch-1
aboba Jun 22, 2023
f648a57
Replace RFC2119 wording in Security Connsiderations
chrisn Jun 22, 2023
f0dc749
Add to codec registry requirements
chrisn Jun 23, 2023
089757d
Fix HEVC registration text
StaZhu Jun 24, 2023
4b6dac0
Add ImageDecoderInit.transfer
Djuffin Jun 26, 2023
cad5683
Fix typo
Djuffin Jun 28, 2023
446d831
Add H.265/VP8/VP9/AV1 samples to video decoding page.
StaZhu Jun 25, 2023
d1ca473
Merge pull request #694 from StaZhu/fix-hevc-registration
Djuffin Jul 6, 2023
46e8e16
Remove stable from codec registry requirements
chrisn Jul 6, 2023
6185cec
Merge pull request #691 from w3c/chrisn-fix-should
Djuffin Jul 6, 2023
43f1996
Merge pull request #690 from aboba/main
Djuffin Jul 6, 2023
c414b9c
Merge pull request #693 from w3c/chrisn-registry-requirements
aboba Jul 6, 2023
a86fb92
Merge pull request #688 from Djuffin/transfer
aboba Jul 6, 2023
249e328
Merge pull request #696 from Djuffin/id
aboba Jul 6, 2023
bc2ce23
Revert unwanted change
chrisn Jul 7, 2023
9303762
Add Eugene Zemtsov to the list of editors
Djuffin Jul 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/workflows/auto-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,16 @@ jobs:
echidna_token: ECHIDNA_TOKEN_ULAW_REGISTRATION
build_override: |
status: NOTE-WD
- source: hevc_codec_registration.src.html
destination: hevc_codec_registration.html
echidna_token: ECHIDNA_TOKEN_HEVC_REGISTRATION
build_override: |
status: NOTE-WD
- source: video_frame_metadata_registry.src.html
destination: video_frame_metadata_registry.html
echidna_token: ECHIDNA_TOKEN_VIDEOFRAMEMETADATA_REGISTRY
build_override: |
status: DRY
steps:
# See doc at https://github.com/actions/checkout#checkout-v2
- name: Checkout repository
Expand Down
10 changes: 6 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
/index.html
aac_codec_registration.html
alaw_codec_registration.html
alaw_codec_registration.html
av1_codec_registration.html
avc_codec_registration.html
codec_registry.html
flac_codec_registration.html
hevc_codec_registration.html
mp3_codec_registration.html
aac_codec_registration.html
opus_codec_registration.html
out/
pcm_codec_registration.html
ulaw_codec_registration.html
ulaw_codec_registration.html
video_frame_metadata_registry.html
vorbis_codec_registration.html
vp8_codec_registration.html
vp9_codec_registration.html
pcm_codec_registration.html
alaw_codec_registration.html
ulaw_codec_registration.html
24 changes: 19 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ Many Web APIs use media codecs internally to support APIs for particular uses:
- MediaRecorder
- WebRTC

But there’s no general way to flexibly configure and use these media codecs.
Because of this, many web applications have resorted to implementing
But there’s no general way to flexibly configure and use these media codecs.
Because of this, many web applications have resorted to implementing
media codecs in JavaScript or WebAssembly, despite the disadvantages:
- Increased bandwidth to download codecs already in the browser.
- Reduced performance
- Reduced power efficiency
- Reduced power efficiency

It's great for:
- Live streaming
Expand All @@ -27,6 +27,20 @@ See the [explainer](https://github.com/w3c/webcodecs/blob/main/explainer.md) for

Please see https://w3c.github.io/webcodecs/samples/

## WebCodecs Codec Registry
## WebCodecs registries

This repository also contains the [WebCodecs Codec Registry](https://w3c.github.com/webcodecs/codec_registry.html), which provides the means to identify and avoid collisions among codec strings used in WebCodecs and provides a mechanism to define codec-specific members of WebCodecs codec configuration dictionaries. Codec-specific registrations entered in the registry are also maintained in the repository, please refer to the registry for a comprehensive list.
This repository also contains two registries:

* The [WebCodecs Codec Registry](https://w3c.github.io/webcodecs/codec_registry.html)
provides the means to identify and avoid collisions among codec strings
used in WebCodecs and provides a mechanism to define codec-specific members of
WebCodecs codec configuration dictionaries. Codec-specific registrations entered
in the registry are also maintained in the repository, please refer to the
registry for a comprehensive list.

* The [WebCodecs VideoFrame Metadata Registry](https://w3c.github.io/webcodecs/video_frame_metadata_registry.html)
enumerates the metadata fields that can be attached to
[VideoFrame](https://w3c.github.io/webcodecs/#videoframe-interface) objects via the
[VideoFrameMetadata](https://w3c.github.io/webcodecs/#dictdef-videoframemetadata) dictionary.
Metadata registrations entered in the registry may be maintained in this repository
or elsewhere. Please refer to the registry for a comprehensive list.
58 changes: 23 additions & 35 deletions aac_codec_registration.src.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@
Group: mediawg
ED: https://w3c.github.io/webcodecs/aac_codec_registration.html
TR: https://www.w3.org/TR/webcodecs-aac-codec-registration/
Editor: Chris Cunningham, w3cid 114832, Google Inc. https://www.google.com/
Editor: Paul Adenot, w3cid 62410, Mozilla https://www.mozilla.org/
Editor: Bernard Aboba, w3cid 65611, Microsoft Corporation https://www.microsoft.com/
Former Editor: Chris Cunningham, w3cid 114832, Google Inc. https://www.google.com/

Abstract: This registration is entered into the [[webcodecs-codec-registry]].
It describes, for AAC, the (1) fully qualified codec strings, (2) the
codec-specific {{EncodedAudioChunk}} [=EncodedAudioChunk/[[internal data]]=]
bytes, (3) the {{AudioDecoderConfig.description}} bytes, (4) the values of
{{EncodedAudioChunk}} [=EncodedAudioChunk/[[type]]=], and (5) the
codec-specific extensions to {{AudioEncoderConfig}}
codec-specific {{EncodedAudioChunk}} {{EncodedAudioChunk/[[internal data]]}}
bytes, (3) the {{AudioDecoderConfig/description|AudioDecoderConfig.description}}
bytes, (4) the values of {{EncodedAudioChunk}} {{EncodedAudioChunk/[[type]]}},
and (5) the codec-specific extensions to {{AudioEncoderConfig}}

The registration is not intended to include any information on whether a
codec format is encumbered by intellectual property claims. Implementers and
Expand All @@ -32,23 +32,6 @@
!Version History: <a href="https://github.com/w3c/webcodecs/commits">https://github.com/w3c/webcodecs/commits</a>
</pre>

<pre class='anchors'>
spec: WEBCODECS; urlPrefix: https://w3c.github.io/webcodecs/#
type: attribute
text: AudioDecoderConfig.description; url: dom-audiodecoderconfig-description
text: AudioDecoderConfig.sampleRate; url: dom-audiodecoderconfig-samplerate
text: AudioDecoderConfig.numberOfChannels; url: dom-audiodecoderconfig-numberofchannels
type: dfn
for: EncodedAudioChunkType; text: key; url: dom-encodedaudiochunktype-key
for: EncodedAudioChunk; text: [[internal data]]; url: dom-encodedaudiochunk-internal-data-slot
for: EncodedAudioChunk; text: [[type]]; url: dom-encodedaudiochunk-type-slot
type: interface
text: EncodedAudioChunk; url: encodedaudiochunk
type: dictionary
text: AudioDecoderConfig; url: dictdef-audiodecoderconfig
text: AudioEncoderConfig; url: dictdef-audioencoderconfig
</pre>

<pre class='biblio'>
{
"iso14496-3": {
Expand Down Expand Up @@ -76,32 +59,32 @@
================================================

If the bitstream is in {{AacBitstreamFormat/adts}} format, the
[=EncodedAudioChunk/[[internal data]]=] of {{EncodedAudioChunk}}s are expected
{{EncodedAudioChunk/[[internal data]]}} of {{EncodedAudioChunk}}s are expected
to be an ADTS frame, as described in section 1.A.3.2 of [[iso14496-3]].

If the bitstream is in {{AacBitstreamFormat/aac}} format, the
[=EncodedAudioChunk/[[internal data]]=] of {{EncodedAudioChunk}}s are expected
{{EncodedAudioChunk/[[internal data]]}} of {{EncodedAudioChunk}}s are expected
to be a raw AAC frame (syntax element `raw_data_block()`), as described in
section 4.4.2.1 of [[iso14496-3]].

AudioDecoderConfig description {#audiodecoderconfig-description}
================================================================

If {{AudioDecoderConfig.description}} is present, it is assumed to a
If {{AudioDecoderConfig/description}} is present, it is assumed to a
`AudioSpecificConfig` as defined in [[iso14496-3]] section 1.6.2.1, Table 1.15,
and the bitstream is assumed to be in {{AacBitstreamFormat/aac}}.

If the {{AudioDecoderConfig.description}} is not present, the bitstream is
If the {{AudioDecoderConfig/description}} is not present, the bitstream is
assumed to be in {{AacBitstreamFormat/adts}} format.

The {{AudioDecoderConfig.sampleRate}} and {{AudioDecoderConfig.numberOfChannels}}
The {{AudioDecoderConfig/sampleRate}} and {{AudioDecoderConfig/numberOfChannels}}
members are ignored.

EncodedAudioChunk type {#encodedaudiochunk-type}
================================================

The [=EncodedAudioChunk/[[type]]=] for an {{EncodedAudioChunk}} containing
AAC is always "[=EncodedAudioChunkType/key=]".
The {{EncodedAudioChunk/[[type]]}} for an {{EncodedAudioChunk}} containing
AAC is always "{{EncodedAudioChunkType/key}}".

NOTE: Once the initialization has succeeded, any AAC packet can be decoded at
any time without error, but this might not result in the expected audio
Expand Down Expand Up @@ -161,17 +144,22 @@
<dt><dfn enum-value for=AacBitstreamFormat>aac</dfn></dt>
<dd>
The metadata of the encoded audio stream are provided at configuration via
{{AudioDecoderConfig.description}}.
{{AudioDecoderConfig/description|AudioDecoderConfig.description}}.
</dd>
<dt><dfn enum-value for=AacBitstreamFormat>adts</dfn></dt>
<dd>
The metadata of the encoded audio stream are provided in each ADTS frame,
and therefore no {{AudioDecoderConfig.description}} is necessary.
and therefore no {{AudioDecoderConfig/description|AudioDecoderConfig.description}} is necessary.
</dl>

Privacy and Security Considerations {#privacy-and-security-considerations}
Privacy Considerations {#privacy-considerations}
==========================================================================

Please refer to the section [[WEBCODECS#privacy-considerations|Privacy
Considerations]] in [[WEBCODECS]].

Security Considerations {#security-considerations}
==========================================================================

Please refer to the [[WEBCODECS#privacy-considerations|Privacy Considerations]]
and [[WEBCODECS#security-considerations|Security Considerations]] sections in
[[WEBCODECS]].
Please refer to the section [[WEBCODECS#security-considerations|Security
Considerations]] in [[WEBCODECS]].
44 changes: 17 additions & 27 deletions alaw_codec_registration.src.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@
Group: mediawg
ED: https://w3c.github.io/webcodecs/alaw_codec_registration.html
TR: https://www.w3.org/TR/webcodecs-alaw-codec-registration/
Editor: Chris Cunningham, w3cid 114832, Google Inc. https://www.google.com/
Editor: Paul Adenot, w3cid 62410, Mozilla https://www.mozilla.org/
Editor: Bernard Aboba, w3cid 65611, Microsoft Corporation https://www.microsoft.com/
Former Editor: Chris Cunningham, w3cid 114832, Google Inc. https://www.google.com/

Abstract: This registration is entered into the [[webcodecs-codec-registry]].
It describes, for A-law encoded PCM, the (1) fully qualified codec strings,
(2) the codec-specific {{EncodedAudioChunk}}
[=EncodedAudioChunk/[[internal data]]=] bytes, (3) the
{{AudioDecoderConfig.description}}, and (4) the values of
{{EncodedAudioChunk}} [=EncodedAudioChunk/[[type]]=].
{{EncodedAudioChunk/[[internal data]]}} bytes, (3) the
{{AudioDecoderConfig/description|AudioDecoderConfig.description}},
and (4) the values of {{EncodedAudioChunk}} {{EncodedAudioChunk/[[type]]}}.

The registration is not intended to include any information on whether a
codec format is encumbered by intellectual property claims. Implementers and
Expand All @@ -32,21 +32,6 @@
!Version History: <a href="https://github.com/w3c/webcodecs/commits">https://github.com/w3c/webcodecs/commits</a>
</pre>

<pre class='anchors'>
spec: WEBCODECS; urlPrefix: https://w3c.github.io/webcodecs/#
type: attribute
text: AudioDecoderConfig.description; url: dom-audiodecoderconfig-description
type: dfn
for: EncodedAudioChunkType; text: key; url: dom-encodedaudiochunktype-key
for: EncodedAudioChunk; text: [[internal data]]; url: dom-encodedaudiochunk-internal-data-slot
for: EncodedAudioChunk; text: [[type]]; url: dom-encodedaudiochunk-type-slot
type: interface
text: EncodedAudioChunk; url: encodedaudiochunk
type: dictionary
text: AudioDecoderConfig; url: dictdef-audiodecoderconfig
text: AudioEncoderConfig; url: dictdef-audioencoderconfig
</pre>

<pre class='biblio'>
{
"ITU-G.711": {
Expand All @@ -66,25 +51,30 @@
EncodedAudioChunk data {#encodedaudiochunk-data}
================================================

{{EncodedAudioChunk}} [=EncodedAudioChunk/[[internal data]]=] is expected to be
{{EncodedAudioChunk}} {{EncodedAudioChunk/[[internal data]]}} is expected to be
a sequence of bytes of arbitrary length, where each byte is an A-law
encoded PCM sample as defined by Tables 1a and 1b in [[ITU-G.711]].

AudioDecoderConfig description {#audiodecoderconfig-description}
================================================================

An {{AudioDecoderConfig.description}} is expected to be omitted from the
The {{AudioDecoderConfig/description}} is expected to be omitted from the
{{AudioDecoderConfig}}.

EncodedAudioChunk type {#encodedaudiochunk-type}
================================================

The [=EncodedAudioChunk/[[type]]=] for an {{EncodedAudioChunk}} containing
A-law PCM is always "[=EncodedAudioChunkType/key=]".
The {{EncodedAudioChunk/[[type]]}} for an {{EncodedAudioChunk}} containing
A-law PCM is always "{{EncodedAudioChunkType/key}}".

Privacy Considerations {#privacy-considerations}
==========================================================================

Please refer to the section [[WEBCODECS#privacy-considerations|Privacy
Considerations]] in [[WEBCODECS]].

Privacy and Security Considerations {#privacy-and-security-considerations}
Security Considerations {#security-considerations}
==========================================================================

Please refer to the [[WEBCODECS#privacy-considerations|Privacy Considerations]]
and [[WEBCODECS#security-considerations|Security Considerations]] sections in
[[WEBCODECS]].
Please refer to the section [[WEBCODECS#security-considerations|Security
Considerations]] in [[WEBCODECS]].
Loading