From 29f1a8a165c2a16dc9a0b7180bd23c5ac2f07215 Mon Sep 17 00:00:00 2001 From: Bernard Aboba Date: Tue, 11 Apr 2023 12:53:50 -0700 Subject: [PATCH 1/3] Enable configuration of AV1 screen content coding tools Fixes https://github.com/w3c/webcodecs/issues/646 Rebase of https://github.com/w3c/webcodecs/pull/652 --- av1_codec_registration.src.html | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/av1_codec_registration.src.html b/av1_codec_registration.src.html index 603cc474..02ca93b1 100644 --- a/av1_codec_registration.src.html +++ b/av1_codec_registration.src.html @@ -98,6 +98,7 @@ dictionary VideoEncoderEncodeOptionsForAv1 { unsigned short? quantizer; + boolean forceScreenContentTools = false; }; @@ -110,6 +111,19 @@ +
+
forceScreenContenttools
+
+ Indicates whether the encoder should force use of screen content + coding tools. The default value (false) indicates that use of + screen content coding tools is not forced. A value of true + (corresponding to setting seq_force_screen_content_tools + to SELECT_SCREEN_CONTENT_TOOLS in Section 5.5.1 + of [[AV1]]) indicates that use of screen content coding tools + is forced. +
+
+ Privacy Considerations {#privacy-considerations} ========================================================================== From b35c6a36cb45ceaea87344702aa1c53430daaa56 Mon Sep 17 00:00:00 2001 From: Bernard Aboba Date: Sat, 15 Apr 2023 12:43:10 -0700 Subject: [PATCH 2/3] Add screen content coding tools as an encoder configuration option --- av1_codec_registration.src.html | 55 ++++++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/av1_codec_registration.src.html b/av1_codec_registration.src.html index 02ca93b1..2b4dd1d3 100644 --- a/av1_codec_registration.src.html +++ b/av1_codec_registration.src.html @@ -74,6 +74,47 @@ contain a frame with a `frame_type` of `KEY_FRAME` as defined in Section 6.8.2 of [[AV1]]. +VideoEncoderConfig extensions {#videoencoderconfig-extensions} +============================================================== + +
+
+partial dictionary VideoEncoderConfig {
+  AV1EncoderConfig av1;
+};
+
+
+ +
+
av1
+
+ Contains codec specific configuration options for the AV1 codec. +
+
+ +AV1EncoderConfig {#av1-encoder-config} +-------------------------------------- +
+
+dictionary AV1EncoderConfig {
+  boolean forceScreenContentTools = false;
+};
+
+
+ +
+
forceScreenContentTools
+
+ Indicates whether the encoder should force use of screen content + coding tools. The default value (false) indicates that use of + screen content coding tools is not forced. A value of true + (corresponding to setting seq_force_screen_content_tools + to SELECT_SCREEN_CONTENT_TOOLS in Section 5.5.1 + of [[AV1]]) indicates that use of screen content coding tools + is forced. +
+
+ VideoEncoderEncodeOptions extensions {#videoencoderencodeoptions-extensions} ============================================================== @@ -98,7 +139,6 @@ dictionary VideoEncoderEncodeOptionsForAv1 { unsigned short? quantizer; - boolean forceScreenContentTools = false; }; @@ -111,19 +151,6 @@ -
-
forceScreenContenttools
-
- Indicates whether the encoder should force use of screen content - coding tools. The default value (false) indicates that use of - screen content coding tools is not forced. A value of true - (corresponding to setting seq_force_screen_content_tools - to SELECT_SCREEN_CONTENT_TOOLS in Section 5.5.1 - of [[AV1]]) indicates that use of screen content coding tools - is forced. -
-
- Privacy Considerations {#privacy-considerations} ========================================================================== From 142b1cd206d95354db575f1f156640ee3e9daf62 Mon Sep 17 00:00:00 2001 From: Bernard Aboba Date: Mon, 17 Apr 2023 21:58:06 -0700 Subject: [PATCH 3/3] Update the abstract --- av1_codec_registration.src.html | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/av1_codec_registration.src.html b/av1_codec_registration.src.html index 2b4dd1d3..7b3be04f 100644 --- a/av1_codec_registration.src.html +++ b/av1_codec_registration.src.html @@ -14,10 +14,11 @@ Abstract: This registration is entered into the [[webcodecs-codec-registry]]. It describes, for AV1, the (1) fully qualified codec strings, (2) the codec-specific {{EncodedVideoChunk}} - {{EncodedVideoChunk/[[internal data]]}} bytes, (3) the + {{EncodedVideoChunk/[[internal data]]}} bytes, (3) the codec-specific + extensions to {{VideoEncoderConfig}}, (4) the {{VideoDecoderConfig/description|VideoDecoderConfig.description}} bytes, - (4) the values of {{EncodedVideoChunk}} {{EncodedVideoChunk/[[type]]}}, and - (5) the codec-specific extensions to {{VideoEncoderEncodeOptions}}. + (5) the values of {{EncodedVideoChunk}} {{EncodedVideoChunk/[[type]]}}, and + (6) the codec-specific extensions to {{VideoEncoderEncodeOptions}}. The registration is not intended to include any information on whether a codec format is encumbered by intellectual property claims. Implementers and