From 816b0b6da1a85a9d7c34a93cad387d55846896e4 Mon Sep 17 00:00:00 2001 From: Andrew Osmond Date: Fri, 15 Dec 2023 22:18:41 +0000 Subject: [PATCH] Bug 1868470 - Add new OffscreenCanvas and WebCodecs talos tests. r=perftest-reviewers,sparky This patch adds new variants of the glvideo/canvas2dvideo talos tests, but this time focused on OffscreenCanvas and WebCodecs. There are test variants for each: - Execution thread (main thread or DOM worker) - Canvas type (WebGL or 2D canvas) - Codec type (H264, VP9 or AV1) They are included as part of the existing webgl talos job. Differential Revision: https://phabricator.services.mozilla.com/D196465 --- .prettierignore | 2 + taskcluster/ci/test/talos.yml | 1 + testing/perfdocs/generated/talos.rst | 3552 +++++++++++++++++ testing/talos/moz.build | 3 + testing/talos/perfdocs/config.yml | 216 + testing/talos/talos.json | 19 +- testing/talos/talos/test.py | 324 ++ .../benchmarks/video/2d_av1_main.html | 22 + .../benchmarks/video/2d_av1_worker.html | 20 + .../benchmarks/video/2d_h264_main.html | 22 + .../benchmarks/video/2d_h264_worker.html | 20 + .../benchmarks/video/2d_vp9_main.html | 22 + .../benchmarks/video/2d_vp9_worker.html | 20 + .../benchmarks/video/demuxer_mp4.js | 113 + .../benchmarks/video/helper_main.js | 57 + .../benchmarks/video/helper_worker.js | 53 + .../benchmarks/video/mp4box.all.min.js | 4 + .../benchmarks/video/mp4box.js-LICENSE | 24 + .../benchmarks/video/shared.js | 128 + .../benchmarks/video/webgl_av1_main.html | 22 + .../benchmarks/video/webgl_av1_worker.html | 20 + .../benchmarks/video/webgl_h264_main.html | 22 + .../benchmarks/video/webgl_h264_worker.html | 20 + .../benchmarks/video/webgl_vp9_main.html | 22 + .../benchmarks/video/webgl_vp9_worker.html | 20 + .../benchmarks/video/worker.js | 30 + ...creencanvas_webcodecs_main_2d_av1.manifest | 1 + ...reencanvas_webcodecs_main_2d_h264.manifest | 1 + ...creencanvas_webcodecs_main_2d_vp9.manifest | 1 + ...encanvas_webcodecs_main_webgl_av1.manifest | 1 + ...ncanvas_webcodecs_main_webgl_h264.manifest | 1 + ...encanvas_webcodecs_main_webgl_vp9.manifest | 1 + ...eencanvas_webcodecs_worker_2d_av1.manifest | 1 + ...encanvas_webcodecs_worker_2d_h264.manifest | 1 + ...eencanvas_webcodecs_worker_2d_vp9.manifest | 1 + ...canvas_webcodecs_worker_webgl_av1.manifest | 1 + ...anvas_webcodecs_worker_webgl_h264.manifest | 1 + ...canvas_webcodecs_worker_webgl_vp9.manifest | 1 + .../clips/testsrc.1080p.60fps.av1.short.mp4 | Bin 0 -> 90451 bytes .../clips/testsrc.1080p.60fps.h264.short.mp4 | Bin 0 -> 228642 bytes .../clips/testsrc.1080p.60fps.vp9.short.mp4 | Bin 0 -> 165119 bytes testing/talos/talos/unittests/test_config.py | 288 ++ tools/rewriting/ThirdPartyPaths.txt | 2 + 43 files changed, 5079 insertions(+), 1 deletion(-) create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_av1_main.html create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_av1_worker.html create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_h264_main.html create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_h264_worker.html create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_vp9_main.html create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_vp9_worker.html create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/demuxer_mp4.js create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/helper_main.js create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/helper_worker.js create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/mp4box.all.min.js create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/mp4box.js-LICENSE create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/shared.js create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_av1_main.html create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_av1_worker.html create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_h264_main.html create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_h264_worker.html create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_vp9_main.html create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_vp9_worker.html create mode 100644 testing/talos/talos/tests/offscreencanvas/benchmarks/video/worker.js create mode 100644 testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_av1.manifest create mode 100644 testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_h264.manifest create mode 100644 testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_vp9.manifest create mode 100644 testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_av1.manifest create mode 100644 testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_h264.manifest create mode 100644 testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_vp9.manifest create mode 100644 testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_av1.manifest create mode 100644 testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_h264.manifest create mode 100644 testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_vp9.manifest create mode 100644 testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_av1.manifest create mode 100644 testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_h264.manifest create mode 100644 testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_vp9.manifest create mode 100644 testing/talos/talos/tests/video/clips/testsrc.1080p.60fps.av1.short.mp4 create mode 100644 testing/talos/talos/tests/video/clips/testsrc.1080p.60fps.h264.short.mp4 create mode 100644 testing/talos/talos/tests/video/clips/testsrc.1080p.60fps.vp9.short.mp4 diff --git a/.prettierignore b/.prettierignore index 4b0e6cdceedb..7ffb37880e48 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1187,6 +1187,8 @@ testing/mozbase/mozprofile/tests/files/prefs_with_comments.js testing/mozharness/configs/test/test_malformed.json testing/talos/talos/startup_test/sessionrestore/profile/sessionstore.js testing/talos/talos/startup_test/sessionrestore/profile-manywindows/sessionstore.js +testing/talos/talos/tests/offscreencanvas/benchmarks/video/demuxer_mp4.js +testing/talos/talos/tests/offscreencanvas/benchmarks/video/mp4box.all.min.js # Python json. testing/talos/talos/unittests/test_talosconfig_browser_config.json testing/talos/talos/unittests/test_talosconfig_test_config.json diff --git a/taskcluster/ci/test/talos.yml b/taskcluster/ci/test/talos.yml index 9269e8bc427f..262329b1b216 100644 --- a/taskcluster/ci/test/talos.yml +++ b/taskcluster/ci/test/talos.yml @@ -724,6 +724,7 @@ talos-webgl-profiling: extra-options: - --suite=webgl - --gecko-profile + - --setpref=dom.media.webcodecs.enabled=true talos-xperf: description: Talos xperf diff --git a/testing/perfdocs/generated/talos.rst b/testing/perfdocs/generated/talos.rst index a42bdfcafae1..b785d2611db3 100644 --- a/testing/perfdocs/generated/talos.rst +++ b/testing/perfdocs/generated/talos.rst @@ -4034,6 +4034,3558 @@ For the sample commands found below, note that the capitalization used is import +.. dropdown:: offscreencanvas_webcodecs_main_2d_av1 + :class-container: anchor-id-offscreencanvas_webcodecs_main_2d_av1 + + * contact: :aosmond and gfx + * source: `offscreencanvas_webcodecs_main_2d_av1 `__ + * type: `Page load`_ + * data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + * summarization: OffscreenCanvas 2D video texture update with WebCodecs and 1080p AV1 video on the main thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + * **Lower is better** + * **Example Data** + + .. code-block:: + + 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + + * description: + | This test extracts frames from a AV1 video file using WebCodecs and ask Canvas2D to draw video + frames as Canvas2D textures for 100 frames on the main thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + Canvas2D texture (ctx.drawImage). We run it for 5 times and ignore the first found. Lower + results are better. + * gecko_profile_extra_threads: CanvasRenderer,CanvasWorker,MediaSupervisor + * gecko_profile_interval: 2 + * linux_counters: None + * mac_counters: None + * preferences: {'dom.media.webcodecs.enabled': True, 'dom.media.webcodecs.force-osx-h264-enabled': True} + * timeout: 600 + * tpchrome: False + * tpcycles: 1 + * tploadnocache: True + * tpmanifest: ${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_av1.manifest + * tpmozafterpaint: False + * tppagecycles: 5 + * unit: ms + * w7_counters: None + * win_counters: None + * Command + + .. code-block:: + + ./mach talos-test -a offscreencanvas_webcodecs_main_2d_av1 + + * **Test Task**: + + .. list-table:: **test-linux1804-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-linux1804-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-macosx1015-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-windows10-32-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-32-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-ref-hw-2017-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + +.. dropdown:: offscreencanvas_webcodecs_main_2d_h264 + :class-container: anchor-id-offscreencanvas_webcodecs_main_2d_h264 + + * contact: :aosmond and gfx + * source: `offscreencanvas_webcodecs_main_2d_h264 `__ + * type: `Page load`_ + * data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + * summarization: OffscreenCanvas 2D video texture update with WebCodecs and 1080p H264 video on the main thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + * **Lower is better** + * **Example Data** + + .. code-block:: + + 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + + * description: + | This test extracts frames from a H264 video file using WebCodecs and ask Canvas2D to draw video + frames as Canvas2D textures for 100 frames on the main thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + Canvas2D texture (ctx.drawImage). We run it for 5 times and ignore the first found. Lower + results are better. + * gecko_profile_extra_threads: CanvasRenderer,CanvasWorker,MediaSupervisor + * gecko_profile_interval: 2 + * linux_counters: None + * mac_counters: None + * preferences: {'dom.media.webcodecs.enabled': True, 'dom.media.webcodecs.force-osx-h264-enabled': True} + * timeout: 600 + * tpchrome: False + * tpcycles: 1 + * tploadnocache: True + * tpmanifest: ${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_h264.manifest + * tpmozafterpaint: False + * tppagecycles: 5 + * unit: ms + * w7_counters: None + * win_counters: None + * Command + + .. code-block:: + + ./mach talos-test -a offscreencanvas_webcodecs_main_2d_h264 + + * **Test Task**: + + .. list-table:: **test-linux1804-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-linux1804-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-macosx1015-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-windows10-32-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-32-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-ref-hw-2017-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + +.. dropdown:: offscreencanvas_webcodecs_main_2d_vp9 + :class-container: anchor-id-offscreencanvas_webcodecs_main_2d_vp9 + + * contact: :aosmond and gfx + * source: `offscreencanvas_webcodecs_main_2d_vp9 `__ + * type: `Page load`_ + * data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + * summarization: OffscreenCanvas 2D video texture update with WebCodecs and 1080p VP9 video on the main thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + * **Lower is better** + * **Example Data** + + .. code-block:: + + 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + + * description: + | This test extracts frames from a VP9 video file using WebCodecs and ask Canvas2D to draw video + frames as Canvas2D textures for 100 frames on the main thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + Canvas2D texture (ctx.drawImage). We run it for 5 times and ignore the first found. Lower + results are better. + * gecko_profile_extra_threads: CanvasRenderer,CanvasWorker,MediaSupervisor + * gecko_profile_interval: 2 + * linux_counters: None + * mac_counters: None + * preferences: {'dom.media.webcodecs.enabled': True, 'dom.media.webcodecs.force-osx-h264-enabled': True} + * timeout: 600 + * tpchrome: False + * tpcycles: 1 + * tploadnocache: True + * tpmanifest: ${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_vp9.manifest + * tpmozafterpaint: False + * tppagecycles: 5 + * unit: ms + * w7_counters: None + * win_counters: None + * Command + + .. code-block:: + + ./mach talos-test -a offscreencanvas_webcodecs_main_2d_vp9 + + * **Test Task**: + + .. list-table:: **test-linux1804-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-linux1804-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-macosx1015-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-windows10-32-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-32-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-ref-hw-2017-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + +.. dropdown:: offscreencanvas_webcodecs_main_webgl_av1 + :class-container: anchor-id-offscreencanvas_webcodecs_main_webgl_av1 + + * contact: :aosmond and gfx + * source: `offscreencanvas_webcodecs_main_webgl_av1 `__ + * type: `Page load`_ + * data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + * summarization: OffscreenCanvas WebGL video texture update with WebCodecs and 1080p AV1 video on the main thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + * **Lower is better** + * **Example Data** + + .. code-block:: + + 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + + * description: + | This test extracts frames from a AV1 video file using WebCodecs and ask WebGL to draw video + frames as WebGL textures for 100 frames on the main thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + WebGL texture (gl.texImage2D). We run it for 5 times and ignore the first found. Lower + results are better. + * gecko_profile_extra_threads: CanvasRenderer,MediaSupervisor + * gecko_profile_interval: 2 + * linux_counters: None + * mac_counters: None + * preferences: {'dom.media.webcodecs.enabled': True, 'dom.media.webcodecs.force-osx-h264-enabled': True} + * timeout: 600 + * tpchrome: False + * tpcycles: 1 + * tploadnocache: True + * tpmanifest: ${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_av1.manifest + * tpmozafterpaint: False + * tppagecycles: 5 + * unit: ms + * w7_counters: None + * win_counters: None + * Command + + .. code-block:: + + ./mach talos-test -a offscreencanvas_webcodecs_main_webgl_av1 + + * **Test Task**: + + .. list-table:: **test-linux1804-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-linux1804-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-macosx1015-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-windows10-32-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-32-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-ref-hw-2017-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + +.. dropdown:: offscreencanvas_webcodecs_main_webgl_h264 + :class-container: anchor-id-offscreencanvas_webcodecs_main_webgl_h264 + + * contact: :aosmond and gfx + * source: `offscreencanvas_webcodecs_main_webgl_h264 `__ + * type: `Page load`_ + * data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + * summarization: OffscreenCanvas WebGL video texture update with WebCodecs and 1080p H264 video on the main thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + * **Lower is better** + * **Example Data** + + .. code-block:: + + 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + + * description: + | This test extracts frames from a H264 video file using WebCodecs and ask WebGL to draw video + frames as WebGL textures for 100 frames on the main thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + WebGL texture (gl.texImage2D). We run it for 5 times and ignore the first found. Lower + results are better. + * gecko_profile_extra_threads: CanvasRenderer,MediaSupervisor + * gecko_profile_interval: 2 + * linux_counters: None + * mac_counters: None + * preferences: {'dom.media.webcodecs.enabled': True, 'dom.media.webcodecs.force-osx-h264-enabled': True} + * timeout: 600 + * tpchrome: False + * tpcycles: 1 + * tploadnocache: True + * tpmanifest: ${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_h264.manifest + * tpmozafterpaint: False + * tppagecycles: 5 + * unit: ms + * w7_counters: None + * win_counters: None + * Command + + .. code-block:: + + ./mach talos-test -a offscreencanvas_webcodecs_main_webgl_h264 + + * **Test Task**: + + .. list-table:: **test-linux1804-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-linux1804-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-macosx1015-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-windows10-32-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-32-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-ref-hw-2017-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + +.. dropdown:: offscreencanvas_webcodecs_main_webgl_vp9 + :class-container: anchor-id-offscreencanvas_webcodecs_main_webgl_vp9 + + * contact: :aosmond and gfx + * source: `offscreencanvas_webcodecs_main_webgl_vp9 `__ + * type: `Page load`_ + * data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + * summarization: OffscreenCanvas WebGL video texture update with WebCodecs and 1080p VP9 video on the main thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + * **Lower is better** + * **Example Data** + + .. code-block:: + + 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + + * description: + | This test extracts frames from a VP9 video file using WebCodecs and ask WebGL to draw video + frames as WebGL textures for 100 frames on the main thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + WebGL texture (gl.texImage2D). We run it for 5 times and ignore the first found. Lower + results are better. + * gecko_profile_extra_threads: CanvasRenderer,MediaSupervisor + * gecko_profile_interval: 2 + * linux_counters: None + * mac_counters: None + * preferences: {'dom.media.webcodecs.enabled': True, 'dom.media.webcodecs.force-osx-h264-enabled': True} + * timeout: 600 + * tpchrome: False + * tpcycles: 1 + * tploadnocache: True + * tpmanifest: ${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_vp9.manifest + * tpmozafterpaint: False + * tppagecycles: 5 + * unit: ms + * w7_counters: None + * win_counters: None + * Command + + .. code-block:: + + ./mach talos-test -a offscreencanvas_webcodecs_main_webgl_vp9 + + * **Test Task**: + + .. list-table:: **test-linux1804-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-linux1804-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-macosx1015-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-windows10-32-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-32-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-ref-hw-2017-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + +.. dropdown:: offscreencanvas_webcodecs_worker_2d_av1 + :class-container: anchor-id-offscreencanvas_webcodecs_worker_2d_av1 + + * contact: :aosmond and gfx + * source: `offscreencanvas_webcodecs_worker_2d_av1 `__ + * type: `Page load`_ + * data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + * summarization: OffscreenCanvas 2D video texture update with WebCodecs and 1080p AV1 video on a DOM worker thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + * **Lower is better** + * **Example Data** + + .. code-block:: + + 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + + * description: + | This test extracts frames from a AV1 video file using WebCodecs and ask Canvas2D to draw video + frames as Canvas2D textures for 100 frames on a DOM worker thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + Canvas2D texture (ctx.drawImage). We run it for 5 times and ignore the first found. Lower + results are better. + * gecko_profile_extra_threads: DOM Worker,CanvasRenderer,CanvasWorker,MediaSupervisor + * gecko_profile_interval: 2 + * linux_counters: None + * mac_counters: None + * preferences: {'dom.media.webcodecs.enabled': True, 'dom.media.webcodecs.force-osx-h264-enabled': True} + * timeout: 600 + * tpchrome: False + * tpcycles: 1 + * tploadnocache: True + * tpmanifest: ${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_av1.manifest + * tpmozafterpaint: False + * tppagecycles: 5 + * unit: ms + * w7_counters: None + * win_counters: None + * Command + + .. code-block:: + + ./mach talos-test -a offscreencanvas_webcodecs_worker_2d_av1 + + * **Test Task**: + + .. list-table:: **test-linux1804-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-linux1804-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-macosx1015-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-windows10-32-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-32-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-ref-hw-2017-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + +.. dropdown:: offscreencanvas_webcodecs_worker_2d_h264 + :class-container: anchor-id-offscreencanvas_webcodecs_worker_2d_h264 + + * contact: :aosmond and gfx + * source: `offscreencanvas_webcodecs_worker_2d_h264 `__ + * type: `Page load`_ + * data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + * summarization: OffscreenCanvas 2D video texture update with WebCodecs and 1080p H264 video on a DOM worker thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + * **Lower is better** + * **Example Data** + + .. code-block:: + + 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + + * description: + | This test extracts frames from a H264 video file using WebCodecs and ask Canvas2D to draw video + frames as Canvas2D textures for 100 frames on a DOM worker thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + Canvas2D texture (ctx.drawImage). We run it for 5 times and ignore the first found. Lower + results are better. + * gecko_profile_extra_threads: DOM Worker,CanvasRenderer,CanvasWorker,MediaSupervisor + * gecko_profile_interval: 2 + * linux_counters: None + * mac_counters: None + * preferences: {'dom.media.webcodecs.enabled': True, 'dom.media.webcodecs.force-osx-h264-enabled': True} + * timeout: 600 + * tpchrome: False + * tpcycles: 1 + * tploadnocache: True + * tpmanifest: ${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_h264.manifest + * tpmozafterpaint: False + * tppagecycles: 5 + * unit: ms + * w7_counters: None + * win_counters: None + * Command + + .. code-block:: + + ./mach talos-test -a offscreencanvas_webcodecs_worker_2d_h264 + + * **Test Task**: + + .. list-table:: **test-linux1804-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-linux1804-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-macosx1015-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-windows10-32-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-32-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-ref-hw-2017-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + +.. dropdown:: offscreencanvas_webcodecs_worker_2d_vp9 + :class-container: anchor-id-offscreencanvas_webcodecs_worker_2d_vp9 + + * contact: :aosmond and gfx + * source: `offscreencanvas_webcodecs_worker_2d_vp9 `__ + * type: `Page load`_ + * data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + * summarization: OffscreenCanvas 2D video texture update with WebCodecs and 1080p VP9 video on a DOM worker thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + * **Lower is better** + * **Example Data** + + .. code-block:: + + 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + + * description: + | This test extracts frames from a VP9 video file using WebCodecs and ask Canvas2D to draw video + frames as Canvas2D textures for 100 frames on a DOM worker thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + Canvas2D texture (ctx.drawImage). We run it for 5 times and ignore the first found. Lower + results are better. + * gecko_profile_extra_threads: DOM Worker,CanvasRenderer,CanvasWorker,MediaSupervisor + * gecko_profile_interval: 2 + * linux_counters: None + * mac_counters: None + * preferences: {'dom.media.webcodecs.enabled': True, 'dom.media.webcodecs.force-osx-h264-enabled': True} + * timeout: 600 + * tpchrome: False + * tpcycles: 1 + * tploadnocache: True + * tpmanifest: ${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_vp9.manifest + * tpmozafterpaint: False + * tppagecycles: 5 + * unit: ms + * w7_counters: None + * win_counters: None + * Command + + .. code-block:: + + ./mach talos-test -a offscreencanvas_webcodecs_worker_2d_vp9 + + * **Test Task**: + + .. list-table:: **test-linux1804-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-linux1804-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-macosx1015-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-windows10-32-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-32-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-ref-hw-2017-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + +.. dropdown:: offscreencanvas_webcodecs_worker_webgl_av1 + :class-container: anchor-id-offscreencanvas_webcodecs_worker_webgl_av1 + + * contact: :aosmond and gfx + * source: `offscreencanvas_webcodecs_worker_webgl_av1 `__ + * type: `Page load`_ + * data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + * summarization: OffscreenCanvas WebGL video texture update with WebCodecs and 1080p AV1 video on a DOM worker thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + * **Lower is better** + * **Example Data** + + .. code-block:: + + 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + + * description: + | This test extracts frames from a AV1 video file using WebCodecs and ask WebGL to draw video + frames as WebGL textures for 100 frames on a DOM worker. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + WebGL texture (gl.texImage2D). We run it for 5 times and ignore the first found. Lower + results are better. + * gecko_profile_extra_threads: DOM Worker,CanvasRenderer,MediaSupervisor + * gecko_profile_interval: 2 + * linux_counters: None + * mac_counters: None + * preferences: {'dom.media.webcodecs.enabled': True, 'dom.media.webcodecs.force-osx-h264-enabled': True} + * timeout: 600 + * tpchrome: False + * tpcycles: 1 + * tploadnocache: True + * tpmanifest: ${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_av1.manifest + * tpmozafterpaint: False + * tppagecycles: 5 + * unit: ms + * w7_counters: None + * win_counters: None + * Command + + .. code-block:: + + ./mach talos-test -a offscreencanvas_webcodecs_worker_webgl_av1 + + * **Test Task**: + + .. list-table:: **test-linux1804-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-linux1804-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-macosx1015-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-windows10-32-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-32-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-ref-hw-2017-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + +.. dropdown:: offscreencanvas_webcodecs_worker_webgl_h264 + :class-container: anchor-id-offscreencanvas_webcodecs_worker_webgl_h264 + + * contact: :aosmond and gfx + * source: `offscreencanvas_webcodecs_worker_webgl_h264 `__ + * type: `Page load`_ + * data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + * summarization: OffscreenCanvas WebGL video texture update with WebCodecs and 1080p H264 video on a DOM worker thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + * **Lower is better** + * **Example Data** + + .. code-block:: + + 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + + * description: + | This test extracts frames from a H264 video file using WebCodecs and ask WebGL to draw video + frames as WebGL textures for 100 frames on a DOM worker. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + WebGL texture (gl.texImage2D). We run it for 5 times and ignore the first found. Lower + results are better. + * gecko_profile_extra_threads: DOM Worker,CanvasRenderer,MediaSupervisor + * gecko_profile_interval: 2 + * linux_counters: None + * mac_counters: None + * preferences: {'dom.media.webcodecs.enabled': True, 'dom.media.webcodecs.force-osx-h264-enabled': True} + * timeout: 600 + * tpchrome: False + * tpcycles: 1 + * tploadnocache: True + * tpmanifest: ${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_h264.manifest + * tpmozafterpaint: False + * tppagecycles: 5 + * unit: ms + * w7_counters: None + * win_counters: None + * Command + + .. code-block:: + + ./mach talos-test -a offscreencanvas_webcodecs_worker_webgl_h264 + + * **Test Task**: + + .. list-table:: **test-linux1804-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-linux1804-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-macosx1015-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-windows10-32-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-32-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-ref-hw-2017-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + +.. dropdown:: offscreencanvas_webcodecs_worker_webgl_vp9 + :class-container: anchor-id-offscreencanvas_webcodecs_worker_webgl_vp9 + + * contact: :aosmond and gfx + * source: `offscreencanvas_webcodecs_worker_webgl_vp9 `__ + * type: `Page load`_ + * data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + * summarization: OffscreenCanvas WebGL video texture update with WebCodecs and 1080p VP9 video on a DOM worker thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + * **Lower is better** + * **Example Data** + + .. code-block:: + + 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + + * description: + | This test extracts frames from a VP9 video file using WebCodecs and ask WebGL to draw video + frames as WebGL textures for 100 frames on a DOM worker. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + WebGL texture (gl.texImage2D). We run it for 5 times and ignore the first found. Lower + results are better. + * gecko_profile_extra_threads: DOM Worker,CanvasRenderer,MediaSupervisor + * gecko_profile_interval: 2 + * linux_counters: None + * mac_counters: None + * preferences: {'dom.media.webcodecs.enabled': True, 'dom.media.webcodecs.force-osx-h264-enabled': True} + * timeout: 600 + * tpchrome: False + * tpcycles: 1 + * tploadnocache: True + * tpmanifest: ${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_vp9.manifest + * tpmozafterpaint: False + * tppagecycles: 5 + * unit: ms + * w7_counters: None + * win_counters: None + * Command + + .. code-block:: + + ./mach talos-test -a offscreencanvas_webcodecs_worker_webgl_vp9 + + * **Test Task**: + + .. list-table:: **test-linux1804-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-linux1804-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-macosx1015-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. list-table:: **test-windows10-32-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-32-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-ref-hw-2017-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ❌ + - ❌ + - ❌ + - ❌ + + + .. list-table:: **test-windows10-64-shippable-qr/opt** + :widths: 30 15 15 15 15 + :header-rows: 1 + + * - **Test Name** + - mozilla-central + - autoland + - mozilla-release + - mozilla-beta + * - **talos-webgl** + - ✅ + - ✅ + - ❌ + - ✅ + * - **talos-webgl-gli** + - ✅ + - ✅ + - ❌ + - ❌ + * - **talos-webgl-profiling** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-profiling-gli** + - ❌ + - ❌ + - ❌ + - ❌ + * - **talos-webgl-swr** + - ✅ + - ✅ + - ❌ + - ✅ + + + .. dropdown:: pdfpaint :class-container: anchor-id-pdfpaint diff --git a/testing/talos/moz.build b/testing/talos/moz.build index d21afc8631f0..02ec61441c76 100644 --- a/testing/talos/moz.build +++ b/testing/talos/moz.build @@ -29,6 +29,9 @@ with Files("talos/tests/dromaeo/**"): with Files("talos/tests/kraken/**"): BUG_COMPONENT = ("Core", "JavaScript Engine") +with Files("talos/tests/offscreencanvas/**"): + BUG_COMPONENT = ("Core", "Graphics: Canvas2D") + with Files("talos/tests/scroll/**"): BUG_COMPONENT = ("Core", "Graphics") diff --git a/testing/talos/perfdocs/config.yml b/testing/talos/perfdocs/config.yml index 51205da38b4f..bbc71a74aa84 100644 --- a/testing/talos/perfdocs/config.yml +++ b/testing/talos/perfdocs/config.yml @@ -135,6 +135,222 @@ suites: ticks to measure how much time it will spend for a video texture upload to be a Canvas2D texture (ctx.drawImage). We run it for 5 times and ignore the first found. Lower results are better. + offscreencanvas_webcodecs_main_webgl_h264: > + - contact: :aosmond and gfx + - source: `offscreencanvas_webcodecs_main_webgl_h264 `__ + - type: `Page load`_ + - data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + - summarization: OffscreenCanvas WebGL video texture update with WebCodecs and 1080p H264 video on the main thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + - **Lower is better** + - **Example Data** + * 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + - description: + | This test extracts frames from a H264 video file using WebCodecs and ask WebGL to draw video + frames as WebGL textures for 100 frames on the main thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + WebGL texture (gl.texImage2D). We run it for 5 times and ignore the first found. Lower + results are better. + offscreencanvas_webcodecs_main_webgl_vp9: > + - contact: :aosmond and gfx + - source: `offscreencanvas_webcodecs_main_webgl_vp9 `__ + - type: `Page load`_ + - data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + - summarization: OffscreenCanvas WebGL video texture update with WebCodecs and 1080p VP9 video on the main thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + - **Lower is better** + - **Example Data** + * 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + - description: + | This test extracts frames from a VP9 video file using WebCodecs and ask WebGL to draw video + frames as WebGL textures for 100 frames on the main thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + WebGL texture (gl.texImage2D). We run it for 5 times and ignore the first found. Lower + results are better. + offscreencanvas_webcodecs_main_webgl_av1: > + - contact: :aosmond and gfx + - source: `offscreencanvas_webcodecs_main_webgl_av1 `__ + - type: `Page load`_ + - data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + - summarization: OffscreenCanvas WebGL video texture update with WebCodecs and 1080p AV1 video on the main thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + - **Lower is better** + - **Example Data** + * 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + - description: + | This test extracts frames from a AV1 video file using WebCodecs and ask WebGL to draw video + frames as WebGL textures for 100 frames on the main thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + WebGL texture (gl.texImage2D). We run it for 5 times and ignore the first found. Lower + results are better. + offscreencanvas_webcodecs_worker_webgl_h264: > + - contact: :aosmond and gfx + - source: `offscreencanvas_webcodecs_worker_webgl_h264 `__ + - type: `Page load`_ + - data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + - summarization: OffscreenCanvas WebGL video texture update with WebCodecs and 1080p H264 video on a DOM worker thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + - **Lower is better** + - **Example Data** + * 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + - description: + | This test extracts frames from a H264 video file using WebCodecs and ask WebGL to draw video + frames as WebGL textures for 100 frames on a DOM worker. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + WebGL texture (gl.texImage2D). We run it for 5 times and ignore the first found. Lower + results are better. + offscreencanvas_webcodecs_worker_webgl_vp9: > + - contact: :aosmond and gfx + - source: `offscreencanvas_webcodecs_worker_webgl_vp9 `__ + - type: `Page load`_ + - data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + - summarization: OffscreenCanvas WebGL video texture update with WebCodecs and 1080p VP9 video on a DOM worker thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + - **Lower is better** + - **Example Data** + * 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + - description: + | This test extracts frames from a VP9 video file using WebCodecs and ask WebGL to draw video + frames as WebGL textures for 100 frames on a DOM worker. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + WebGL texture (gl.texImage2D). We run it for 5 times and ignore the first found. Lower + results are better. + offscreencanvas_webcodecs_worker_webgl_av1: > + - contact: :aosmond and gfx + - source: `offscreencanvas_webcodecs_worker_webgl_av1 `__ + - type: `Page load`_ + - data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + - summarization: OffscreenCanvas WebGL video texture update with WebCodecs and 1080p AV1 video on a DOM worker thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + - **Lower is better** + - **Example Data** + * 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + - description: + | This test extracts frames from a AV1 video file using WebCodecs and ask WebGL to draw video + frames as WebGL textures for 100 frames on a DOM worker. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + WebGL texture (gl.texImage2D). We run it for 5 times and ignore the first found. Lower + results are better. + offscreencanvas_webcodecs_main_2d_h264: > + - contact: :aosmond and gfx + - source: `offscreencanvas_webcodecs_main_2d_h264 `__ + - type: `Page load`_ + - data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + - summarization: OffscreenCanvas 2D video texture update with WebCodecs and 1080p H264 video on the main thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + - **Lower is better** + - **Example Data** + * 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + - description: + | This test extracts frames from a H264 video file using WebCodecs and ask Canvas2D to draw video + frames as Canvas2D textures for 100 frames on the main thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + Canvas2D texture (ctx.drawImage). We run it for 5 times and ignore the first found. Lower + results are better. + offscreencanvas_webcodecs_main_2d_vp9: > + - contact: :aosmond and gfx + - source: `offscreencanvas_webcodecs_main_2d_vp9 `__ + - type: `Page load`_ + - data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + - summarization: OffscreenCanvas 2D video texture update with WebCodecs and 1080p VP9 video on the main thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + - **Lower is better** + - **Example Data** + * 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + - description: + | This test extracts frames from a VP9 video file using WebCodecs and ask Canvas2D to draw video + frames as Canvas2D textures for 100 frames on the main thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + Canvas2D texture (ctx.drawImage). We run it for 5 times and ignore the first found. Lower + results are better. + offscreencanvas_webcodecs_main_2d_av1: > + - contact: :aosmond and gfx + - source: `offscreencanvas_webcodecs_main_2d_av1 `__ + - type: `Page load`_ + - data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + - summarization: OffscreenCanvas 2D video texture update with WebCodecs and 1080p AV1 video on the main thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + - **Lower is better** + - **Example Data** + * 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + - description: + | This test extracts frames from a AV1 video file using WebCodecs and ask Canvas2D to draw video + frames as Canvas2D textures for 100 frames on the main thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + Canvas2D texture (ctx.drawImage). We run it for 5 times and ignore the first found. Lower + results are better. + offscreencanvas_webcodecs_worker_2d_h264: > + - contact: :aosmond and gfx + - source: `offscreencanvas_webcodecs_worker_2d_h264 `__ + - type: `Page load`_ + - data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + - summarization: OffscreenCanvas 2D video texture update with WebCodecs and 1080p H264 video on a DOM worker thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + - **Lower is better** + - **Example Data** + * 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + - description: + | This test extracts frames from a H264 video file using WebCodecs and ask Canvas2D to draw video + frames as Canvas2D textures for 100 frames on a DOM worker thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + Canvas2D texture (ctx.drawImage). We run it for 5 times and ignore the first found. Lower + results are better. + offscreencanvas_webcodecs_worker_2d_vp9: > + - contact: :aosmond and gfx + - source: `offscreencanvas_webcodecs_worker_2d_vp9 `__ + - type: `Page load`_ + - data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + - summarization: OffscreenCanvas 2D video texture update with WebCodecs and 1080p VP9 video on a DOM worker thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + - **Lower is better** + - **Example Data** + * 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + - description: + | This test extracts frames from a VP9 video file using WebCodecs and ask Canvas2D to draw video + frames as Canvas2D textures for 100 frames on a DOM worker thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + Canvas2D texture (ctx.drawImage). We run it for 5 times and ignore the first found. Lower + results are better. + offscreencanvas_webcodecs_worker_2d_av1: > + - contact: :aosmond and gfx + - source: `offscreencanvas_webcodecs_worker_2d_av1 `__ + - type: `Page load`_ + - data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below) + - summarization: OffscreenCanvas 2D video texture update with WebCodecs and 1080p AV1 video on a DOM worker thread. Measures mean frame time across 100 frames. + * subtest: `ignore first`_ data point, then take the `median`_ of the remaining 4; `source: + test.py `__ + * suite: `geometric mean`_ of the 4 subtest results. + - **Lower is better** + - **Example Data** + * 0;Mean frame time across 100 frames: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295 + - description: + | This test extracts frames from a AV1 video file using WebCodecs and ask Canvas2D to draw video + frames as Canvas2D textures for 100 frames on a DOM worker thread. It collects the mean frame time + across 100 frames to measure how much time it will spend for a video texture upload to be a + Canvas2D texture (ctx.drawImage). We run it for 5 times and ignore the first found. Lower + results are better. cpstartup: > - contact: :mconley, Firefox Desktop Front-end team, Gijs, fqueze, and dthayer - measuring: Time from opening a new tab (which creates a new content process) to having that new content process be ready to load URLs. diff --git a/testing/talos/talos.json b/testing/talos/talos.json index 6faa579eaea8..32904f87a334 100644 --- a/testing/talos/talos.json +++ b/testing/talos/talos.json @@ -88,7 +88,24 @@ "pagesets_name": "tp5n.zip" }, "webgl": { - "tests": ["canvas2dvideo", "glterrain", "glvideo", "motionmark_webgl"] + "tests": [ + "canvas2dvideo", + "glterrain", + "glvideo", + "motionmark_webgl", + "offscreencanvas_webcodecs_main_webgl_h264", + "offscreencanvas_webcodecs_main_webgl_vp9", + "offscreencanvas_webcodecs_main_webgl_av1", + "offscreencanvas_webcodecs_worker_webgl_h264", + "offscreencanvas_webcodecs_worker_webgl_vp9", + "offscreencanvas_webcodecs_worker_webgl_av1", + "offscreencanvas_webcodecs_main_2d_h264", + "offscreencanvas_webcodecs_main_2d_vp9", + "offscreencanvas_webcodecs_main_2d_av1", + "offscreencanvas_webcodecs_worker_2d_h264", + "offscreencanvas_webcodecs_worker_2d_vp9", + "offscreencanvas_webcodecs_worker_2d_av1" + ] }, "xperf": { "tests": ["tp5n"], diff --git a/testing/talos/talos/test.py b/testing/talos/talos/test.py index dc9d9a58a8b4..9f6bd78e58c3 100644 --- a/testing/talos/talos/test.py +++ b/testing/talos/talos/test.py @@ -659,6 +659,330 @@ class canvas2dvideo(PageloaderTest): unit = "ms" +@register_test() +class offscreencanvas_webcodecs_main_webgl_h264(PageloaderTest): + """ + OffscreenCanvas WebGL video texture update on the main thread with WebCodecs and 1080p H264 video. + Measures mean frame time across 100 frames. + (decodes each frame and performs texImage2D()) + """ + + tpmanifest = "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_h264.manifest" + tpcycles = 1 + tppagecycles = 5 + tploadnocache = True + tpmozafterpaint = False + tpchrome = False + timeout = 600 + gecko_profile_interval = 2 + gecko_profile_extra_threads = "CanvasRenderer,MediaSupervisor" + win_counters = w7_counters = linux_counters = mac_counters = None + preferences = { + "dom.media.webcodecs.enabled": True, + "dom.media.webcodecs.force-osx-h264-enabled": True, + } + filters = filter.ignore_first.prepare(1) + filter.median.prepare() + unit = "ms" + + +@register_test() +class offscreencanvas_webcodecs_main_webgl_vp9(PageloaderTest): + """ + OffscreenCanvas WebGL video texture update on the main thread with WebCodecs and 1080p VP9 video. + Measures mean frame time across 100 frames. + (decodes each frame and performs texImage2D()) + """ + + tpmanifest = "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_vp9.manifest" + tpcycles = 1 + tppagecycles = 5 + tploadnocache = True + tpmozafterpaint = False + tpchrome = False + timeout = 600 + gecko_profile_interval = 2 + gecko_profile_extra_threads = "CanvasRenderer,MediaSupervisor" + win_counters = w7_counters = linux_counters = mac_counters = None + preferences = { + "dom.media.webcodecs.enabled": True, + "dom.media.webcodecs.force-osx-h264-enabled": True, + } + filters = filter.ignore_first.prepare(1) + filter.median.prepare() + unit = "ms" + + +@register_test() +class offscreencanvas_webcodecs_main_webgl_av1(PageloaderTest): + """ + OffscreenCanvas WebGL video texture update on the main thread with WebCodecs and 1080p AV1 video. + Measures mean frame time across 100 frames. + (decodes each frame and performs texImage2D()) + """ + + tpmanifest = "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_av1.manifest" + tpcycles = 1 + tppagecycles = 5 + tploadnocache = True + tpmozafterpaint = False + tpchrome = False + timeout = 600 + gecko_profile_interval = 2 + gecko_profile_extra_threads = "CanvasRenderer,MediaSupervisor" + win_counters = w7_counters = linux_counters = mac_counters = None + preferences = { + "dom.media.webcodecs.enabled": True, + "dom.media.webcodecs.force-osx-h264-enabled": True, + } + filters = filter.ignore_first.prepare(1) + filter.median.prepare() + unit = "ms" + + +@register_test() +class offscreencanvas_webcodecs_worker_webgl_h264(PageloaderTest): + """ + OffscreenCanvas WebGL video texture update on a DOM worker thread with WebCodecs and 1080p H264 video. + Measures mean frame time across 100 frames. + (decodes each frame and performs texImage2D()) + """ + + tpmanifest = "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_h264.manifest" + tpcycles = 1 + tppagecycles = 5 + tploadnocache = True + tpmozafterpaint = False + tpchrome = False + timeout = 600 + gecko_profile_interval = 2 + gecko_profile_extra_threads = "DOM Worker,CanvasRenderer,MediaSupervisor" + win_counters = w7_counters = linux_counters = mac_counters = None + preferences = { + "dom.media.webcodecs.enabled": True, + "dom.media.webcodecs.force-osx-h264-enabled": True, + } + filters = filter.ignore_first.prepare(1) + filter.median.prepare() + unit = "ms" + + +@register_test() +class offscreencanvas_webcodecs_worker_webgl_vp9(PageloaderTest): + """ + OffscreenCanvas WebGL video texture update on a DOM worker thread with WebCodecs and 1080p VP9 video. + Measures mean frame time across 100 frames. + (decodes each frame and performs texImage2D()) + """ + + tpmanifest = "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_vp9.manifest" + tpcycles = 1 + tppagecycles = 5 + tploadnocache = True + tpmozafterpaint = False + tpchrome = False + timeout = 600 + gecko_profile_interval = 2 + gecko_profile_extra_threads = "DOM Worker,CanvasRenderer,MediaSupervisor" + win_counters = w7_counters = linux_counters = mac_counters = None + preferences = { + "dom.media.webcodecs.enabled": True, + "dom.media.webcodecs.force-osx-h264-enabled": True, + } + filters = filter.ignore_first.prepare(1) + filter.median.prepare() + unit = "ms" + + +@register_test() +class offscreencanvas_webcodecs_worker_webgl_av1(PageloaderTest): + """ + OffscreenCanvas WebGL video texture update on a DOM worker thread with WebCodecs and 1080p AV1 video. + Measures mean frame time across 100 frames. + (decodes each frame and performs texImage2D()) + """ + + tpmanifest = "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_av1.manifest" + tpcycles = 1 + tppagecycles = 5 + tploadnocache = True + tpmozafterpaint = False + tpchrome = False + timeout = 600 + gecko_profile_interval = 2 + gecko_profile_extra_threads = "DOM Worker,CanvasRenderer,MediaSupervisor" + win_counters = w7_counters = linux_counters = mac_counters = None + preferences = { + "dom.media.webcodecs.enabled": True, + "dom.media.webcodecs.force-osx-h264-enabled": True, + } + filters = filter.ignore_first.prepare(1) + filter.median.prepare() + unit = "ms" + + +@register_test() +class offscreencanvas_webcodecs_main_2d_h264(PageloaderTest): + """ + OffscreenCanvas 2D video texture update on the main thread with WebCodecs and 1080p H264 video. + Measures mean frame time across 100 frames. + (decodes each frame and performs drawImage()) + """ + + tpmanifest = ( + "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_h264.manifest" + ) + tpcycles = 1 + tppagecycles = 5 + tploadnocache = True + tpmozafterpaint = False + tpchrome = False + timeout = 600 + gecko_profile_interval = 2 + gecko_profile_extra_threads = "CanvasRenderer,CanvasWorker,MediaSupervisor" + win_counters = w7_counters = linux_counters = mac_counters = None + preferences = { + "dom.media.webcodecs.enabled": True, + "dom.media.webcodecs.force-osx-h264-enabled": True, + } + filters = filter.ignore_first.prepare(1) + filter.median.prepare() + unit = "ms" + + +@register_test() +class offscreencanvas_webcodecs_main_2d_vp9(PageloaderTest): + """ + OffscreenCanvas 2D video texture update on the main thread with WebCodecs and 1080p VP9 video. + Measures mean frame time across 100 frames. + (decodes each frame and performs drawImage()) + """ + + tpmanifest = ( + "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_vp9.manifest" + ) + tpcycles = 1 + tppagecycles = 5 + tploadnocache = True + tpmozafterpaint = False + tpchrome = False + timeout = 600 + gecko_profile_interval = 2 + gecko_profile_extra_threads = "CanvasRenderer,CanvasWorker,MediaSupervisor" + win_counters = w7_counters = linux_counters = mac_counters = None + preferences = { + "dom.media.webcodecs.enabled": True, + "dom.media.webcodecs.force-osx-h264-enabled": True, + } + filters = filter.ignore_first.prepare(1) + filter.median.prepare() + unit = "ms" + + +@register_test() +class offscreencanvas_webcodecs_main_2d_av1(PageloaderTest): + """ + OffscreenCanvas 2D video texture update on the main thread with WebCodecs and 1080p AV1 video. + Measures mean frame time across 100 frames. + (decodes each frame and performs drawImage()) + """ + + tpmanifest = ( + "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_av1.manifest" + ) + tpcycles = 1 + tppagecycles = 5 + tploadnocache = True + tpmozafterpaint = False + tpchrome = False + timeout = 600 + gecko_profile_interval = 2 + gecko_profile_extra_threads = "CanvasRenderer,CanvasWorker,MediaSupervisor" + win_counters = w7_counters = linux_counters = mac_counters = None + preferences = { + "dom.media.webcodecs.enabled": True, + "dom.media.webcodecs.force-osx-h264-enabled": True, + } + filters = filter.ignore_first.prepare(1) + filter.median.prepare() + unit = "ms" + + +@register_test() +class offscreencanvas_webcodecs_worker_2d_h264(PageloaderTest): + """ + OffscreenCanvas 2D video texture update on a DOM worker thread with WebCodecs and 1080p H264 video. + Measures mean frame time across 100 frames. + (decodes each frame and performs drawImage()) + """ + + tpmanifest = "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_h264.manifest" + tpcycles = 1 + tppagecycles = 5 + tploadnocache = True + tpmozafterpaint = False + tpchrome = False + timeout = 600 + gecko_profile_interval = 2 + gecko_profile_extra_threads = ( + "DOM Worker,CanvasRenderer,CanvasWorker,MediaSupervisor" + ) + win_counters = w7_counters = linux_counters = mac_counters = None + preferences = { + "dom.media.webcodecs.enabled": True, + "dom.media.webcodecs.force-osx-h264-enabled": True, + } + filters = filter.ignore_first.prepare(1) + filter.median.prepare() + unit = "ms" + + +@register_test() +class offscreencanvas_webcodecs_worker_2d_vp9(PageloaderTest): + """ + OffscreenCanvas 2D video texture update on a DOM worker thread with WebCodecs and 1080p VP9 video. + Measures mean frame time across 100 frames. + (decodes each frame and performs drawImage()) + """ + + tpmanifest = "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_vp9.manifest" + tpcycles = 1 + tppagecycles = 5 + tploadnocache = True + tpmozafterpaint = False + tpchrome = False + timeout = 600 + gecko_profile_interval = 2 + gecko_profile_extra_threads = ( + "DOM Worker,CanvasRenderer,CanvasWorker,MediaSupervisor" + ) + win_counters = w7_counters = linux_counters = mac_counters = None + preferences = { + "dom.media.webcodecs.enabled": True, + "dom.media.webcodecs.force-osx-h264-enabled": True, + } + filters = filter.ignore_first.prepare(1) + filter.median.prepare() + unit = "ms" + + +@register_test() +class offscreencanvas_webcodecs_worker_2d_av1(PageloaderTest): + """ + OffscreenCanvas 2D video texture update on a DOM worker thread with WebCodecs and 1080p AV1 video. + Measures mean frame time across 100 frames. + (decodes each frame and performs drawImage()) + """ + + tpmanifest = "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_av1.manifest" + tpcycles = 1 + tppagecycles = 5 + tploadnocache = True + tpmozafterpaint = False + tpchrome = False + timeout = 600 + gecko_profile_interval = 2 + gecko_profile_extra_threads = ( + "DOM Worker,CanvasRenderer,CanvasWorker,MediaSupervisor" + ) + win_counters = w7_counters = linux_counters = mac_counters = None + preferences = { + "dom.media.webcodecs.enabled": True, + "dom.media.webcodecs.force-osx-h264-enabled": True, + } + filters = filter.ignore_first.prepare(1) + filter.median.prepare() + unit = "ms" + + @register_test() class tp5n(PageloaderTest): """ diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_av1_main.html b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_av1_main.html new file mode 100644 index 000000000000..172638f56da7 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_av1_main.html @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_av1_worker.html b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_av1_worker.html new file mode 100644 index 000000000000..82ba532d9257 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_av1_worker.html @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_h264_main.html b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_h264_main.html new file mode 100644 index 000000000000..1289165bc799 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_h264_main.html @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_h264_worker.html b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_h264_worker.html new file mode 100644 index 000000000000..cad548878f8b --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_h264_worker.html @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_vp9_main.html b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_vp9_main.html new file mode 100644 index 000000000000..7a63deab6715 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_vp9_main.html @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_vp9_worker.html b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_vp9_worker.html new file mode 100644 index 000000000000..abefcf49f13b --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/2d_vp9_worker.html @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/demuxer_mp4.js b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/demuxer_mp4.js new file mode 100644 index 000000000000..98d429c5120b --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/demuxer_mp4.js @@ -0,0 +1,113 @@ +/** + * This software or document includes material copied from or derived from: + * https://github.com/w3c/webcodecs/blob/main/samples/video-decode-display/demuxer_mp4.js + * + * Copyright (c) 2022-2023 World Wide Web Consortium. + * https://www.w3.org/copyright/software-license-2023/ + */ + +// Wraps an MP4Box File as a WritableStream underlying sink. +class MP4FileSink { + #setStatus = null; + #file = null; + #offset = 0; + + constructor(file, setStatus) { + this.#file = file; + this.#setStatus = setStatus; + } + + write(chunk) { + // MP4Box.js requires buffers to be ArrayBuffers, but we have a Uint8Array. + const buffer = new ArrayBuffer(chunk.byteLength); + new Uint8Array(buffer).set(chunk); + + // Inform MP4Box where in the file this chunk is from. + buffer.fileStart = this.#offset; + this.#offset += buffer.byteLength; + + // Append chunk. + this.#setStatus("fetch", (this.#offset / (1024 ** 2)).toFixed(1) + " MiB"); + this.#file.appendBuffer(buffer); + } + + close() { + this.#setStatus("fetch", "Done"); + this.#file.flush(); + } +} + +// Demuxes the first video track of an MP4 file using MP4Box, calling +// `onConfig()` and `onChunk()` with appropriate WebCodecs objects. +class MP4Demuxer { + #onConfig = null; + #onChunk = null; + #setStatus = null; + #file = null; + + constructor(uri, {onConfig, onChunk, setStatus}) { + this.#onConfig = onConfig; + this.#onChunk = onChunk; + this.#setStatus = setStatus; + + // Configure an MP4Box File for demuxing. + this.#file = MP4Box.createFile(); + this.#file.onError = error => setStatus("demux", error); + this.#file.onReady = this.#onReady.bind(this); + this.#file.onSamples = this.#onSamples.bind(this); + + // Fetch the file and pipe the data through. + const fileSink = new MP4FileSink(this.#file, setStatus); + fetch(uri).then(response => { + // highWaterMark should be large enough for smooth streaming, but lower is + // better for memory usage. + response.body.pipeTo(new WritableStream(fileSink, {highWaterMark: 2})); + }); + } + + // Get the appropriate `description` for a specific track. Assumes that the + // track is H.264, H.265, VP8, VP9, or AV1. + #description(track) { + const trak = this.#file.getTrackById(track.id); + for (const entry of trak.mdia.minf.stbl.stsd.entries) { + const box = entry.avcC || entry.hvcC || entry.vpcC || entry.av1C; + if (box) { + const stream = new DataStream(undefined, 0, DataStream.BIG_ENDIAN); + box.write(stream); + return new Uint8Array(stream.buffer, 8); // Remove the box header. + } + } + throw new Error("avcC, hvcC, vpcC, or av1C box not found"); + } + + #onReady(info) { + this.#setStatus("demux", "Ready"); + const track = info.videoTracks[0]; + + // Generate and emit an appropriate VideoDecoderConfig. + this.#onConfig({ + // Browser doesn't support parsing full vp8 codec (eg: `vp08.00.41.08`), + // they only support `vp8`. + codec: track.codec.startsWith('vp08') ? 'vp8' : track.codec, + codedHeight: track.video.height, + codedWidth: track.video.width, + description: this.#description(track), + }); + + // Start demuxing. + this.#file.setExtractionOptions(track.id); + this.#file.start(); + } + + #onSamples(track_id, ref, samples) { + // Generate and emit an EncodedVideoChunk for each demuxed sample. + for (const sample of samples) { + this.#onChunk(new EncodedVideoChunk({ + type: sample.is_sync ? "key" : "delta", + timestamp: 1e6 * sample.cts / sample.timescale, + duration: 1e6 * sample.duration / sample.timescale, + data: sample.data + })); + } + } +} diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/helper_main.js b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/helper_main.js new file mode 100644 index 000000000000..548736dfd39d --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/helper_main.js @@ -0,0 +1,57 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/*global runTestInternal b:true*/ + +function runTest(testName, canvasType, videoUri) { + const canvas = document.createElement("canvas"); + canvas.width = 1920; + canvas.height = 1080; + document.body.appendChild(canvas); + + const offscreenCanvas = canvas.transferControlToOffscreen(); + + return new Promise((resolve, reject) => { + try { + runTestInternal( + testName, + canvasType, + offscreenCanvas, + /* isWorker */ false, + videoUri, + resolve, + reject + ); + } catch (e) { + reject(e); + } + }) + .then(result => { + let name = + result.testName + + " Mean time across " + + result.totalFrames + + " frames: "; + let value = result.elapsed / result.totalFrames; + let msg = name + value + "\n"; + dump("[talos offscreen-canvas-webcodecs result] " + msg); + + if (window.tpRecordTime) { + // Within talos - report the results + tpRecordTime(value, 0, name); + } else { + alert(msg); + } + }) + .catch(e => { + let msg = "caught error " + e; + dump("[talos offscreen-canvas-webcodecs result] " + msg); + if (window.tpRecordTime) { + // Within talos - report the results + tpRecordTime("", 0, ""); + } else { + alert(msg); + } + }); +} diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/helper_worker.js b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/helper_worker.js new file mode 100644 index 000000000000..3b6d5aefe6d3 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/helper_worker.js @@ -0,0 +1,53 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +function runTest(testName, canvasType, worker, videoUri) { + const canvas = document.createElement("canvas"); + canvas.width = 1920; + canvas.height = 1080; + document.body.appendChild(canvas); + + const offscreenCanvas = canvas.transferControlToOffscreen(); + + return new Promise((resolve, reject) => { + worker.onmessage = e => { + if (e.data.errorMessage) { + reject(e.data.errorMessage); + } else { + resolve(e.data); + } + }; + + worker.postMessage({ offscreenCanvas, testName, canvasType, videoUri }, [ + offscreenCanvas, + ]); + }) + .then(result => { + let name = + result.testName + + " Mean time across " + + result.totalFrames + + " frames: "; + let value = result.elapsed / result.totalFrames; + let msg = name + value + "\n"; + dump("[talos offscreen-canvas-webcodecs result] " + msg); + + if (window.tpRecordTime) { + // Within talos - report the results + tpRecordTime(value, 0, name); + } else { + alert(msg); + } + }) + .catch(e => { + let msg = "caught error " + e; + dump("[talos offscreen-canvas-webcodecs result] " + msg); + if (window.tpRecordTime) { + // Within talos - report the results + tpRecordTime("", 0, ""); + } else { + alert(msg); + } + }); +} diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/mp4box.all.min.js b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/mp4box.all.min.js new file mode 100644 index 000000000000..1a638d8eb013 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/mp4box.all.min.js @@ -0,0 +1,4 @@ +/*! mp4box 12-12-2023 */ + +var Log=function(){var i=new Date,r=4;return{setLogLevel:function(t){r=t==this.debug?1:t==this.info?2:t==this.warn?3:(this.error,4)},debug:function(t,e){void 0===console.debug&&(console.debug=console.log),r<=1&&console.debug("["+Log.getDurationString(new Date-i,1e3)+"]","["+t+"]",e)},log:function(t,e){this.debug(t.msg)},info:function(t,e){r<=2&&console.info("["+Log.getDurationString(new Date-i,1e3)+"]","["+t+"]",e)},warn:function(t,e){r<=3&&console.warn("["+Log.getDurationString(new Date-i,1e3)+"]","["+t+"]",e)},error:function(t,e){r<=4&&console.error("["+Log.getDurationString(new Date-i,1e3)+"]","["+t+"]",e)}}}();Log.getDurationString=function(t,e){var i;function r(t,e){for(var i=(""+t).split(".");i[0].length=this.getEndPosition()},MP4BoxStream.prototype.readAnyInt=function(t,e){var i=0;if(this.position+t<=this.buffer.byteLength){switch(t){case 1:i=e?this.dataview.getInt8(this.position):this.dataview.getUint8(this.position);break;case 2:i=e?this.dataview.getInt16(this.position):this.dataview.getUint16(this.position);break;case 3:if(e)throw"No method for reading signed 24 bits values";i=this.dataview.getUint8(this.position)<<16,i|=this.dataview.getUint8(this.position+1)<<8,i|=this.dataview.getUint8(this.position+2);break;case 4:i=e?this.dataview.getInt32(this.position):this.dataview.getUint32(this.position);break;case 8:if(e)throw"No method for reading signed 64 bits values";i=this.dataview.getUint32(this.position)<<32,i|=this.dataview.getUint32(this.position+4);break;default:throw"readInt method not implemented for size: "+t}return this.position+=t,i}throw"Not enough bytes in buffer"},MP4BoxStream.prototype.readUint8=function(){return this.readAnyInt(1,!1)},MP4BoxStream.prototype.readUint16=function(){return this.readAnyInt(2,!1)},MP4BoxStream.prototype.readUint24=function(){return this.readAnyInt(3,!1)},MP4BoxStream.prototype.readUint32=function(){return this.readAnyInt(4,!1)},MP4BoxStream.prototype.readUint64=function(){return this.readAnyInt(8,!1)},MP4BoxStream.prototype.readString=function(t){if(this.position+t<=this.buffer.byteLength){for(var e="",i=0;ithis._byteLength&&(this._byteLength=e);else{for(i<1&&(i=1);i=this._byteLength},DataStream.prototype.mapUint8Array=function(t){this._realloc(+t);var e=new Uint8Array(this._buffer,this.byteOffset+this.position,t);return this.position+=+t,e},DataStream.prototype.readInt32Array=function(t,e){t=null==t?this.byteLength-this.position/4:t;var i=new Int32Array(t);return DataStream.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,t*i.BYTES_PER_ELEMENT),DataStream.arrayToNative(i,null==e?this.endianness:e),this.position+=i.byteLength,i},DataStream.prototype.readInt16Array=function(t,e){t=null==t?this.byteLength-this.position/2:t;var i=new Int16Array(t);return DataStream.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,t*i.BYTES_PER_ELEMENT),DataStream.arrayToNative(i,null==e?this.endianness:e),this.position+=i.byteLength,i},DataStream.prototype.readInt8Array=function(t){t=null==t?this.byteLength-this.position:t;var e=new Int8Array(t);return DataStream.memcpy(e.buffer,0,this.buffer,this.byteOffset+this.position,t*e.BYTES_PER_ELEMENT),this.position+=e.byteLength,e},DataStream.prototype.readUint32Array=function(t,e){t=null==t?this.byteLength-this.position/4:t;var i=new Uint32Array(t);return DataStream.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,t*i.BYTES_PER_ELEMENT),DataStream.arrayToNative(i,null==e?this.endianness:e),this.position+=i.byteLength,i},DataStream.prototype.readUint16Array=function(t,e){t=null==t?this.byteLength-this.position/2:t;var i=new Uint16Array(t);return DataStream.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,t*i.BYTES_PER_ELEMENT),DataStream.arrayToNative(i,null==e?this.endianness:e),this.position+=i.byteLength,i},DataStream.prototype.readUint8Array=function(t){t=null==t?this.byteLength-this.position:t;var e=new Uint8Array(t);return DataStream.memcpy(e.buffer,0,this.buffer,this.byteOffset+this.position,t*e.BYTES_PER_ELEMENT),this.position+=e.byteLength,e},DataStream.prototype.readFloat64Array=function(t,e){t=null==t?this.byteLength-this.position/8:t;var i=new Float64Array(t);return DataStream.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,t*i.BYTES_PER_ELEMENT),DataStream.arrayToNative(i,null==e?this.endianness:e),this.position+=i.byteLength,i},DataStream.prototype.readFloat32Array=function(t,e){t=null==t?this.byteLength-this.position/4:t;var i=new Float32Array(t);return DataStream.memcpy(i.buffer,0,this.buffer,this.byteOffset+this.position,t*i.BYTES_PER_ELEMENT),DataStream.arrayToNative(i,null==e?this.endianness:e),this.position+=i.byteLength,i},DataStream.prototype.readInt32=function(t){t=this._dataView.getInt32(this.position,null==t?this.endianness:t);return this.position+=4,t},DataStream.prototype.readInt16=function(t){t=this._dataView.getInt16(this.position,null==t?this.endianness:t);return this.position+=2,t},DataStream.prototype.readInt8=function(){var t=this._dataView.getInt8(this.position);return this.position+=1,t},DataStream.prototype.readUint32=function(t){t=this._dataView.getUint32(this.position,null==t?this.endianness:t);return this.position+=4,t},DataStream.prototype.readUint16=function(t){t=this._dataView.getUint16(this.position,null==t?this.endianness:t);return this.position+=2,t},DataStream.prototype.readUint8=function(){var t=this._dataView.getUint8(this.position);return this.position+=1,t},DataStream.prototype.readFloat32=function(t){t=this._dataView.getFloat32(this.position,null==t?this.endianness:t);return this.position+=4,t},DataStream.prototype.readFloat64=function(t){t=this._dataView.getFloat64(this.position,null==t?this.endianness:t);return this.position+=8,t},DataStream.endianness=0>16),this.writeUint8((65280&t)>>8),this.writeUint8(255&t)},DataStream.prototype.adjustUint32=function(t,e){var i=this.position;this.seek(t),this.writeUint32(e),this.seek(i)},DataStream.prototype.mapInt32Array=function(t,e){this._realloc(4*t);var i=new Int32Array(this._buffer,this.byteOffset+this.position,t);return DataStream.arrayToNative(i,null==e?this.endianness:e),this.position+=4*t,i},DataStream.prototype.mapInt16Array=function(t,e){this._realloc(2*t);var i=new Int16Array(this._buffer,this.byteOffset+this.position,t);return DataStream.arrayToNative(i,null==e?this.endianness:e),this.position+=2*t,i},DataStream.prototype.mapInt8Array=function(t){this._realloc(+t);var e=new Int8Array(this._buffer,this.byteOffset+this.position,t);return this.position+=+t,e},DataStream.prototype.mapUint32Array=function(t,e){this._realloc(4*t);var i=new Uint32Array(this._buffer,this.byteOffset+this.position,t);return DataStream.arrayToNative(i,null==e?this.endianness:e),this.position+=4*t,i},DataStream.prototype.mapUint16Array=function(t,e){this._realloc(2*t);var i=new Uint16Array(this._buffer,this.byteOffset+this.position,t);return DataStream.arrayToNative(i,null==e?this.endianness:e),this.position+=2*t,i},DataStream.prototype.mapFloat64Array=function(t,e){this._realloc(8*t);var i=new Float64Array(this._buffer,this.byteOffset+this.position,t);return DataStream.arrayToNative(i,null==e?this.endianness:e),this.position+=8*t,i},DataStream.prototype.mapFloat32Array=function(t,e){this._realloc(4*t);var i=new Float32Array(this._buffer,this.byteOffset+this.position,t);return DataStream.arrayToNative(i,null==e?this.endianness:e),this.position+=4*t,i};var MultiBufferStream=function(t){this.buffers=[],this.bufferIndex=-1,t&&(this.insertBuffer(t),this.bufferIndex=0)};MultiBufferStream.prototype=new DataStream(new ArrayBuffer,0,DataStream.BIG_ENDIAN),MultiBufferStream.prototype.initialized=function(){var t;return-1r.byteLength){this.buffers.splice(i,1),i--;continue}Log.warn("MultiBufferStream","Buffer (fileStart: "+t.fileStart+" - Length: "+t.byteLength+") already appended, ignoring")}else t.fileStart+t.byteLength<=r.fileStart||(t=this.reduceBuffer(t,0,r.fileStart-t.fileStart)),Log.debug("MultiBufferStream","Appending new buffer (fileStart: "+t.fileStart+" - Length: "+t.byteLength+")"),this.buffers.splice(i,0,t),0===i&&(this.buffer=t);e=!1;break}if(t.fileStart"+this.buffer.byteLength+")"),!0}return!1},MultiBufferStream.prototype.findPosition=function(t,e,i){for(var r=null,s=-1,a=!0===t?0:this.bufferIndex;a=e?(Log.debug("MultiBufferStream","Found position in existing buffer #"+s),s):-1},MultiBufferStream.prototype.findEndContiguousBuf=function(t){var e,i,t=void 0!==t?t:this.bufferIndex,r=this.buffers[t];if(this.buffers.length>t+1)for(e=t+1;e>3;return 31===e&&2<=i.data.length&&(e=32+((7&i.data[0])<<3)+((224&i.data[1])>>5)),e}return null},a.DecoderConfigDescriptor=function(t){a.Descriptor.call(this,4,t)},a.DecoderConfigDescriptor.prototype=new a.Descriptor,a.DecoderConfigDescriptor.prototype.parse=function(t){this.oti=t.readUint8(),this.streamType=t.readUint8(),this.upStream=0!=(this.streamType>>1&1),this.streamType=this.streamType>>>2,this.bufferSize=t.readUint24(),this.maxBitrate=t.readUint32(),this.avgBitrate=t.readUint32(),this.size-=13,this.parseRemainingDescriptors(t)},a.DecoderSpecificInfo=function(t){a.Descriptor.call(this,5,t)},a.DecoderSpecificInfo.prototype=new a.Descriptor,a.SLConfigDescriptor=function(t){a.Descriptor.call(this,6,t)},a.SLConfigDescriptor.prototype=new a.Descriptor,this};"undefined"!=typeof exports&&(exports.MPEG4DescriptorParser=MPEG4DescriptorParser);var BoxParser={ERR_INVALID_DATA:-1,ERR_NOT_ENOUGH_DATA:0,OK:1,BASIC_BOXES:["mdat","idat","free","skip","meco","strk"],FULL_BOXES:["hmhd","nmhd","iods","xml ","bxml","ipro","mere"],CONTAINER_BOXES:[["moov",["trak","pssh"]],["trak"],["edts"],["mdia"],["minf"],["dinf"],["stbl",["sgpd","sbgp"]],["mvex",["trex"]],["moof",["traf"]],["traf",["trun","sgpd","sbgp"]],["vttc"],["tref"],["iref"],["mfra",["tfra"]],["meco"],["hnti"],["hinf"],["strk"],["strd"],["sinf"],["rinf"],["schi"],["trgr"],["udta",["kind"]],["iprp",["ipma"]],["ipco"],["grpl"],["j2kH"],["etyp",["tyco"]]],boxCodes:[],fullBoxCodes:[],containerBoxCodes:[],sampleEntryCodes:{},sampleGroupEntryCodes:[],trackGroupTypes:[],UUIDBoxes:{},UUIDs:[],initialize:function(){BoxParser.FullBox.prototype=new BoxParser.Box,BoxParser.ContainerBox.prototype=new BoxParser.Box,BoxParser.SampleEntry.prototype=new BoxParser.Box,BoxParser.TrackGroupTypeBox.prototype=new BoxParser.FullBox,BoxParser.BASIC_BOXES.forEach(function(t){BoxParser.createBoxCtor(t)}),BoxParser.FULL_BOXES.forEach(function(t){BoxParser.createFullBoxCtor(t)}),BoxParser.CONTAINER_BOXES.forEach(function(t){BoxParser.createContainerBoxCtor(t[0],null,t[1])})},Box:function(t,e,i){this.type=t,this.size=e,this.uuid=i},FullBox:function(t,e,i){BoxParser.Box.call(this,t,e,i),this.flags=0,this.version=0},ContainerBox:function(t,e,i){BoxParser.Box.call(this,t,e,i),this.boxes=[]},SampleEntry:function(t,e,i,r){BoxParser.ContainerBox.call(this,t,e),this.hdr_size=i,this.start=r},SampleGroupEntry:function(t){this.grouping_type=t},TrackGroupTypeBox:function(t,e){BoxParser.FullBox.call(this,t,e)},createBoxCtor:function(e,t){BoxParser.boxCodes.push(e),BoxParser[e+"Box"]=function(t){BoxParser.Box.call(this,e,t)},BoxParser[e+"Box"].prototype=new BoxParser.Box,t&&(BoxParser[e+"Box"].prototype.parse=t)},createFullBoxCtor:function(e,i){BoxParser[e+"Box"]=function(t){BoxParser.FullBox.call(this,e,t)},BoxParser[e+"Box"].prototype=new BoxParser.FullBox,BoxParser[e+"Box"].prototype.parse=function(t){this.parseFullHeader(t),i&&i.call(this,t)}},addSubBoxArrays:function(t){if(t)for(var e=(this.subBoxNames=t).length,i=0;it.getEndPosition()?(t.seek(a),Log.info("BoxParser","Not enough data in stream to parse the entire '"+h+"' box"),{code:BoxParser.ERR_NOT_ENOUGH_DATA,type:h,size:o,hdr_size:n,start:a}):e?{code:BoxParser.OK,type:h,size:o,hdr_size:n,start:a}:(BoxParser[h+"Box"]?r=new BoxParser[h+"Box"](o):"uuid"!==h?(Log.warn("BoxParser","Unknown box type: '"+h+"'"),(r=new BoxParser.Box(h,o)).has_unparsed_data=!0):BoxParser.UUIDBoxes[s]?r=new BoxParser.UUIDBoxes[s](o):(Log.warn("BoxParser","Unknown uuid type: '"+s+"'"),(r=new BoxParser.Box(h,o)).uuid=s,r.has_unparsed_data=!0),r.hdr_size=n,r.start=a,r.write===BoxParser.Box.prototype.write&&"mdat"!==r.type&&(Log.info("BoxParser","'"+d+"' box writing not yet implemented, keeping unparsed data in memory for later write"),r.parseDataAndRewind(t)),r.parse(t),(a=t.getPosition()-(r.start+r.size))<0?(Log.warn("BoxParser","Parsing of box '"+d+"' did not read the entire indicated box data size (missing "+-a+" bytes), seeking forward"),t.seek(r.start+r.size)):0>10&31,t[1]=this.language>>5&31,t[2]=31&this.language,this.languageString=String.fromCharCode(t[0]+96,t[1]+96,t[2]+96)},BoxParser.SAMPLE_ENTRY_TYPE_VISUAL="Visual",BoxParser.SAMPLE_ENTRY_TYPE_AUDIO="Audio",BoxParser.SAMPLE_ENTRY_TYPE_HINT="Hint",BoxParser.SAMPLE_ENTRY_TYPE_METADATA="Metadata",BoxParser.SAMPLE_ENTRY_TYPE_SUBTITLE="Subtitle",BoxParser.SAMPLE_ENTRY_TYPE_SYSTEM="System",BoxParser.SAMPLE_ENTRY_TYPE_TEXT="Text",BoxParser.SampleEntry.prototype.parseHeader=function(t){t.readUint8Array(6),this.data_reference_index=t.readUint16(),this.hdr_size+=8},BoxParser.SampleEntry.prototype.parse=function(t){this.parseHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size)},BoxParser.SampleEntry.prototype.parseDataAndRewind=function(t){this.parseHeader(t),this.data=t.readUint8Array(this.size-this.hdr_size),this.hdr_size-=8,t.position-=this.size-this.hdr_size},BoxParser.SampleEntry.prototype.parseFooter=function(t){BoxParser.ContainerBox.prototype.parse.call(this,t)},BoxParser.createMediaSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_HINT),BoxParser.createMediaSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_METADATA),BoxParser.createMediaSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_SUBTITLE),BoxParser.createMediaSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_SYSTEM),BoxParser.createMediaSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_TEXT),BoxParser.createMediaSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,function(t){var e;this.parseHeader(t),t.readUint16(),t.readUint16(),t.readUint32Array(3),this.width=t.readUint16(),this.height=t.readUint16(),this.horizresolution=t.readUint32(),this.vertresolution=t.readUint32(),t.readUint32(),this.frame_count=t.readUint16(),e=Math.min(31,t.readUint8()),this.compressorname=t.readString(e),e<31&&t.readString(31-e),this.depth=t.readUint16(),t.readUint16(),this.parseFooter(t)}),BoxParser.createMediaSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_AUDIO,function(t){this.parseHeader(t),t.readUint32Array(2),this.channel_count=t.readUint16(),this.samplesize=t.readUint16(),t.readUint16(),t.readUint16(),this.samplerate=t.readUint32()/65536,this.parseFooter(t)}),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"avc1"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"avc2"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"avc3"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"avc4"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"av01"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"dav1"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"hvc1"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"hev1"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"hvt1"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"lhe1"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"dvh1"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"dvhe"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"vvc1"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"vvi1"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"vvs1"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"vvcN"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"vp08"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"vp09"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"avs3"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"j2ki"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"mjp2"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"mjpg"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"uncv"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_AUDIO,"mp4a"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_AUDIO,"ac-3"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_AUDIO,"ac-4"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_AUDIO,"ec-3"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_AUDIO,"Opus"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_AUDIO,"mha1"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_AUDIO,"mha2"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_AUDIO,"mhm1"),BoxParser.createSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_AUDIO,"mhm2"),BoxParser.createEncryptedSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_VISUAL,"encv"),BoxParser.createEncryptedSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_AUDIO,"enca"),BoxParser.createEncryptedSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_SUBTITLE,"encu"),BoxParser.createEncryptedSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_SYSTEM,"encs"),BoxParser.createEncryptedSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_TEXT,"enct"),BoxParser.createEncryptedSampleEntryCtor(BoxParser.SAMPLE_ENTRY_TYPE_METADATA,"encm"),BoxParser.createBoxCtor("a1lx",function(t){var e=16*(1+(1&(1&t.readUint8())));this.layer_size=[];for(var i=0;i<3;i++)this.layer_size[i]=16==e?t.readUint16():t.readUint32()}),BoxParser.createBoxCtor("a1op",function(t){this.op_index=t.readUint8()}),BoxParser.createFullBoxCtor("auxC",function(t){this.aux_type=t.readCString();var e=this.size-this.hdr_size-(this.aux_type.length+1);this.aux_subtype=t.readUint8Array(e)}),BoxParser.createBoxCtor("av1C",function(t){var e=t.readUint8();if(e>>7&!1)Log.error("av1C marker problem");else if(this.version=127&e,1===this.version)if(e=t.readUint8(),this.seq_profile=e>>5&7,this.seq_level_idx_0=31&e,e=t.readUint8(),this.seq_tier_0=e>>7&1,this.high_bitdepth=e>>6&1,this.twelve_bit=e>>5&1,this.monochrome=e>>4&1,this.chroma_subsampling_x=e>>3&1,this.chroma_subsampling_y=e>>2&1,this.chroma_sample_position=3&e,e=t.readUint8(),this.reserved_1=e>>5&7,0===this.reserved_1){if(this.initial_presentation_delay_present=e>>4&1,1===this.initial_presentation_delay_present)this.initial_presentation_delay_minus_one=15&e;else if(this.reserved_2=15&e,0!==this.reserved_2)return void Log.error("av1C reserved_2 parsing problem");e=this.size-this.hdr_size-4;this.configOBUs=t.readUint8Array(e)}else Log.error("av1C reserved_1 parsing problem");else Log.error("av1C version "+this.version+" not supported")}),BoxParser.createBoxCtor("avcC",function(t){var e,i;for(this.configurationVersion=t.readUint8(),this.AVCProfileIndication=t.readUint8(),this.profile_compatibility=t.readUint8(),this.AVCLevelIndication=t.readUint8(),this.lengthSizeMinusOne=3&t.readUint8(),this.nb_SPS_nalus=31&t.readUint8(),i=this.size-this.hdr_size-6,this.SPS=[],e=0;e>2,t.readUint24()}),BoxParser.createBoxCtor("cdef",function(t){var e;for(this.channel_count=t.readUint16(),this.channel_indexes=[],this.channel_types=[],this.channel_associations=[],e=0;e>7):"rICC"!==this.colour_type&&"prof"!==this.colour_type||(this.ICC_profile=t.readUint8Array(this.size-4))}),BoxParser.createFullBoxCtor("cprt",function(t){this.parseLanguage(t),this.notice=t.readCString()}),BoxParser.createFullBoxCtor("cslg",function(t){0===this.version&&(this.compositionToDTSShift=t.readInt32(),this.leastDecodeToDisplayDelta=t.readInt32(),this.greatestDecodeToDisplayDelta=t.readInt32(),this.compositionStartTime=t.readInt32(),this.compositionEndTime=t.readInt32())}),BoxParser.createFullBoxCtor("ctts",function(t){var e,i=t.readUint32();if(this.sample_counts=[],this.sample_offsets=[],0===this.version)for(e=0;e>6,this.bsid=e>>1&31,this.bsmod=(1&e)<<2|i>>6&3,this.acmod=i>>3&7,this.lfeon=i>>2&1,this.bit_rate_code=3&i|t>>5&7}),BoxParser.createBoxCtor("dec3",function(t){var e=t.readUint16();this.data_rate=e>>3,this.num_ind_sub=7&e,this.ind_subs=[];for(var i=0;i>6,r.bsid=s>>1&31,r.bsmod=(1&s)<<4|a>>4&15,r.acmod=a>>1&7,r.lfeon=1&a,r.num_dep_sub=n>>1&15,0>12,t.readUint8Array(20)),e.push(i[s]),128&r)break}this.numMetadataBlocks=e.length+" ("+e.join(", ")+")"}),BoxParser.createBoxCtor("dimm",function(t){this.bytessent=t.readUint64()}),BoxParser.createBoxCtor("dmax",function(t){this.time=t.readUint32()}),BoxParser.createBoxCtor("dmed",function(t){this.bytessent=t.readUint64()}),BoxParser.createBoxCtor("dOps",function(t){if(this.Version=t.readUint8(),this.OutputChannelCount=t.readUint8(),this.PreSkip=t.readUint16(),this.InputSampleRate=t.readUint32(),this.OutputGain=t.readInt16(),this.ChannelMappingFamily=t.readUint8(),0!==this.ChannelMappingFamily){this.StreamCount=t.readUint8(),this.CoupledCount=t.readUint8(),this.ChannelMapping=[];for(var e=0;e>6,this.general_tier_flag=(32&i)>>5,this.general_profile_idc=31&i,this.general_profile_compatibility=t.readUint32(),this.general_constraint_indicator=t.readUint8Array(6),this.general_level_idc=t.readUint8(),this.min_spatial_segmentation_idc=4095&t.readUint16(),this.parallelismType=3&t.readUint8(),this.chroma_format_idc=3&t.readUint8(),this.bit_depth_luma_minus8=7&t.readUint8(),this.bit_depth_chroma_minus8=7&t.readUint8(),this.avgFrameRate=t.readUint16(),i=t.readUint8(),this.constantFrameRate=i>>6,this.numTemporalLayers=(13&i)>>3,this.temporalIdNested=(4&i)>>2,this.lengthSizeMinusOne=3&i,this.nalu_arrays=[];for(var r=t.readUint8(),s=0;s>7,a.nalu_type=63&i;for(var n=t.readUint16(),o=0;o>4&15,this.length_size=15&e,e=t.readUint8(),this.base_offset_size=e>>4&15,1===this.version||2===this.version?this.index_size=15&e:this.index_size=0,this.items=[];var i=0;if(this.version<2)i=t.readUint16();else{if(2!==this.version)throw"version of iloc box not supported";i=t.readUint32()}for(var r=0;r>7,this.axis=1&t}),BoxParser.createFullBoxCtor("infe",function(t){return 0!==this.version&&1!==this.version||(this.item_ID=t.readUint16(),this.item_protection_index=t.readUint16(),this.item_name=t.readCString(),this.content_type=t.readCString(),this.content_encoding=t.readCString()),1===this.version?(this.extension_type=t.readString(4),Log.warn("BoxParser","Cannot parse extension type"),void t.seek(this.start+this.size)):void(2<=this.version&&(2===this.version?this.item_ID=t.readUint16():3===this.version&&(this.item_ID=t.readUint32()),this.item_protection_index=t.readUint16(),this.item_type=t.readString(4),this.item_name=t.readCString(),"mime"===this.item_type?(this.content_type=t.readCString(),this.content_encoding=t.readCString()):"uri "===this.item_type&&(this.item_uri_type=t.readCString())))}),BoxParser.createFullBoxCtor("ipma",function(t){var e,i;for(entry_count=t.readUint32(),this.associations=[],e=0;e>7==1,1&this.flags?n.property_index=(127&a)<<8|t.readUint8():n.property_index=127&a}}}),BoxParser.createFullBoxCtor("iref",function(t){var e;for(this.references=[];t.getPosition()>7,r.assignment_type=127&s,r.assignment_type){case 0:r.grouping_type=t.readString(4);break;case 1:r.grouping_type=t.readString(4),r.grouping_type_parameter=t.readUint32();break;case 2:case 3:break;case 4:r.sub_track_id=t.readUint32();break;default:Log.warn("BoxParser","Unknown leva assignement type")}}}),BoxParser.createBoxCtor("lsel",function(t){this.layer_id=t.readUint16()}),BoxParser.createBoxCtor("maxr",function(t){this.period=t.readUint32(),this.bytes=t.readUint32()}),ColorPoint.prototype.toString=function(){return"("+this.x+","+this.y+")"},BoxParser.createBoxCtor("mdcv",function(t){this.display_primaries=[],this.display_primaries[0]=new ColorPoint(t.readUint16(),t.readUint16()),this.display_primaries[1]=new ColorPoint(t.readUint16(),t.readUint16()),this.display_primaries[2]=new ColorPoint(t.readUint16(),t.readUint16()),this.white_point=new ColorPoint(t.readUint16(),t.readUint16()),this.max_display_mastering_luminance=t.readUint32(),this.min_display_mastering_luminance=t.readUint32()}),BoxParser.createFullBoxCtor("mdhd",function(t){1==this.version?(this.creation_time=t.readUint64(),this.modification_time=t.readUint64(),this.timescale=t.readUint32(),this.duration=t.readUint64()):(this.creation_time=t.readUint32(),this.modification_time=t.readUint32(),this.timescale=t.readUint32(),this.duration=t.readUint32()),this.parseLanguage(t),t.readUint16()}),BoxParser.createFullBoxCtor("mehd",function(t){1&this.flags&&(Log.warn("BoxParser","mehd box incorrectly uses flags set to 1, converting version to 1"),this.version=1),1==this.version?this.fragment_duration=t.readUint64():this.fragment_duration=t.readUint32()}),BoxParser.createFullBoxCtor("meta",function(t){this.boxes=[],BoxParser.ContainerBox.prototype.parse.call(this,t)}),BoxParser.createFullBoxCtor("mfhd",function(t){this.sequence_number=t.readUint32()}),BoxParser.createFullBoxCtor("mfro",function(t){this._size=t.readUint32()}),BoxParser.createFullBoxCtor("mskC",function(t){this.bits_per_pixel=t.readUint8()}),BoxParser.createFullBoxCtor("mvhd",function(t){1==this.version?(this.creation_time=t.readUint64(),this.modification_time=t.readUint64(),this.timescale=t.readUint32(),this.duration=t.readUint64()):(this.creation_time=t.readUint32(),this.modification_time=t.readUint32(),this.timescale=t.readUint32(),this.duration=t.readUint32()),this.rate=t.readUint32(),this.volume=t.readUint16()>>8,t.readUint16(),t.readUint32Array(2),this.matrix=t.readUint32Array(9),t.readUint32Array(6),this.next_track_id=t.readUint32()}),BoxParser.createBoxCtor("npck",function(t){this.packetssent=t.readUint32()}),BoxParser.createBoxCtor("nump",function(t){this.packetssent=t.readUint64()}),BoxParser.createFullBoxCtor("padb",function(t){var e=t.readUint32();this.padbits=[];for(var i=0;i>7,this.avgRateFlag=e>>6&1,this.durationFlag&&(this.duration=t.readUint32()),this.avgRateFlag&&(this.accurateStatisticsFlag=t.readUint8(),this.avgBitRate=t.readUint16(),this.avgFrameRate=t.readUint16()),this.dependency=[];for(var i=t.readUint8(),r=0;r>7,this.num_leading_samples=127&t}),BoxParser.createSampleGroupCtor("rash",function(t){if(this.operation_point_count=t.readUint16(),this.description_length!==2+(1===this.operation_point_count?2:6*this.operation_point_count)+9)Log.warn("BoxParser","Mismatch in "+this.grouping_type+" sample group length"),this.data=t.readUint8Array(this.description_length-2);else{if(1===this.operation_point_count)this.target_rate_share=t.readUint16();else{this.target_rate_share=[],this.available_bitrate=[];for(var e=0;e>4,this.skip_byte_block=15&e,this.isProtected=t.readUint8(),this.Per_Sample_IV_Size=t.readUint8(),this.KID=BoxParser.parseHex16(t),this.constant_IV_size=0,this.constant_IV=0,1===this.isProtected&&0===this.Per_Sample_IV_Size&&(this.constant_IV_size=t.readUint8(),this.constant_IV=t.readUint8Array(this.constant_IV_size))}),BoxParser.createSampleGroupCtor("stsa",function(t){Log.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),BoxParser.createSampleGroupCtor("sync",function(t){t=t.readUint8();this.NAL_unit_type=63&t}),BoxParser.createSampleGroupCtor("tele",function(t){t=t.readUint8();this.level_independently_decodable=t>>7}),BoxParser.createSampleGroupCtor("tsas",function(t){Log.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),BoxParser.createSampleGroupCtor("tscl",function(t){Log.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),BoxParser.createSampleGroupCtor("vipr",function(t){Log.warn("BoxParser","Sample Group type: "+this.grouping_type+" not fully parsed")}),BoxParser.createFullBoxCtor("sbgp",function(t){this.grouping_type=t.readString(4),1===this.version?this.grouping_type_parameter=t.readUint32():this.grouping_type_parameter=0,this.entries=[];for(var e=t.readUint32(),i=0;i>6,this.sample_depends_on[r]=e>>4&3,this.sample_is_depended_on[r]=e>>2&3,this.sample_has_redundancy[r]=3&e}),BoxParser.createFullBoxCtor("senc"),BoxParser.createFullBoxCtor("sgpd",function(t){this.grouping_type=t.readString(4),Log.debug("BoxParser","Found Sample Groups of type "+this.grouping_type),1===this.version?this.default_length=t.readUint32():this.default_length=0,2<=this.version&&(this.default_group_description_index=t.readUint32()),this.entries=[];for(var e=t.readUint32(),i=0;i>31&1,r.referenced_size=2147483647&s,r.subsegment_duration=t.readUint32(),s=t.readUint32(),r.starts_with_SAP=s>>31&1,r.SAP_type=s>>28&7,r.SAP_delta_time=268435455&s}}),BoxParser.SingleItemTypeReferenceBox=function(t,e,i,r){BoxParser.Box.call(this,t,e),this.hdr_size=i,this.start=r},BoxParser.SingleItemTypeReferenceBox.prototype=new BoxParser.Box,BoxParser.SingleItemTypeReferenceBox.prototype.parse=function(t){this.from_item_ID=t.readUint16();var e=t.readUint16();this.references=[];for(var i=0;i>4&15,this.sample_sizes[e+1]=15&r}else if(8===this.field_size)for(e=0;e>4&15,this.default_skip_byte_block=15&e),this.default_isProtected=t.readUint8(),this.default_Per_Sample_IV_Size=t.readUint8(),this.default_KID=BoxParser.parseHex16(t),1===this.default_isProtected&&0===this.default_Per_Sample_IV_Size&&(this.default_constant_IV_size=t.readUint8(),this.default_constant_IV=t.readUint8Array(this.default_constant_IV_size))}),BoxParser.createFullBoxCtor("tfdt",function(t){1==this.version?this.baseMediaDecodeTime=t.readUint64():this.baseMediaDecodeTime=t.readUint32()}),BoxParser.createFullBoxCtor("tfhd",function(t){var e=0;this.track_id=t.readUint32(),this.size-this.hdr_size>e&&this.flags&BoxParser.TFHD_FLAG_BASE_DATA_OFFSET?(this.base_data_offset=t.readUint64(),e+=8):this.base_data_offset=0,this.size-this.hdr_size>e&&this.flags&BoxParser.TFHD_FLAG_SAMPLE_DESC?(this.default_sample_description_index=t.readUint32(),e+=4):this.default_sample_description_index=0,this.size-this.hdr_size>e&&this.flags&BoxParser.TFHD_FLAG_SAMPLE_DUR?(this.default_sample_duration=t.readUint32(),e+=4):this.default_sample_duration=0,this.size-this.hdr_size>e&&this.flags&BoxParser.TFHD_FLAG_SAMPLE_SIZE?(this.default_sample_size=t.readUint32(),e+=4):this.default_sample_size=0,this.size-this.hdr_size>e&&this.flags&BoxParser.TFHD_FLAG_SAMPLE_FLAGS?(this.default_sample_flags=t.readUint32(),e+=4):this.default_sample_flags=0}),BoxParser.createFullBoxCtor("tfra",function(t){this.track_ID=t.readUint32(),t.readUint24();var e=t.readUint8();this.length_size_of_traf_num=e>>4&3,this.length_size_of_trun_num=e>>2&3,this.length_size_of_sample_num=3&e,this.entries=[];for(var i=t.readUint32(),r=0;r>8,t.readUint16(),this.matrix=t.readInt32Array(9),this.width=t.readUint32(),this.height=t.readUint32()}),BoxParser.createBoxCtor("tmax",function(t){this.time=t.readUint32()}),BoxParser.createBoxCtor("tmin",function(t){this.time=t.readUint32()}),BoxParser.createBoxCtor("totl",function(t){this.bytessent=t.readUint32()}),BoxParser.createBoxCtor("tpay",function(t){this.bytessent=t.readUint32()}),BoxParser.createBoxCtor("tpyl",function(t){this.bytessent=t.readUint64()}),BoxParser.TrackGroupTypeBox.prototype.parse=function(t){this.parseFullHeader(t),this.track_group_id=t.readUint32()},BoxParser.createTrackGroupCtor("msrc"),BoxParser.TrackReferenceTypeBox=function(t,e,i,r){BoxParser.Box.call(this,t,e),this.hdr_size=i,this.start=r},BoxParser.TrackReferenceTypeBox.prototype=new BoxParser.Box,BoxParser.TrackReferenceTypeBox.prototype.parse=function(t){this.track_ids=t.readUint32Array((this.size-this.hdr_size)/4)},BoxParser.trefBox.prototype.parse=function(t){for(var e;t.getPosition()e&&this.flags&BoxParser.TRUN_FLAGS_DATA_OFFSET?(this.data_offset=t.readInt32(),e+=4):this.data_offset=0,this.size-this.hdr_size>e&&this.flags&BoxParser.TRUN_FLAGS_FIRST_FLAG?(this.first_sample_flags=t.readUint32(),e+=4):this.first_sample_flags=0,this.sample_duration=[],this.sample_size=[],this.sample_flags=[],this.sample_composition_time_offset=[],this.size-this.hdr_size>e)for(var i=0;i>7&1,this.block_pad_lsb=i>>6&1,this.block_little_endian=i>>5&1,this.block_reversed=i>>4&1,this.pad_unknown=i>>3&1,this.pixel_size=t.readUint32(),this.row_align_size=t.readUint32(),this.tile_align_size=t.readUint32(),this.num_tile_cols_minus_one=t.readUint32(),this.num_tile_rows_minus_one=t.readUint32()}}),BoxParser.createFullBoxCtor("url ",function(t){1!==this.flags&&(this.location=t.readCString())}),BoxParser.createFullBoxCtor("urn ",function(t){this.name=t.readCString(),0/g,">").replace(/"/g,""").replace(/'/g,"'")}),BoxParser.createUUIDBox("d08a4f1810f34a82b6c832d8aba183d3",!0,!1,function(t){this.system_id=BoxParser.parseHex16(t);var e=t.readUint32();0>4,this.chromaSubsampling=e>>1&7,this.videoFullRangeFlag=1&e,this.colourPrimaries=t.readUint8(),this.transferCharacteristics=t.readUint8(),this.matrixCoefficients=t.readUint8()):(this.profile=t.readUint8(),this.level=t.readUint8(),e=t.readUint8(),this.bitDepth=e>>4&15,this.colorSpace=15&e,e=t.readUint8(),this.chromaSubsampling=e>>4&15,this.transferFunction=e>>1&7,this.videoFullRangeFlag=1&e),this.codecIntializationDataSize=t.readUint16(),this.codecIntializationData=t.readUint8Array(this.codecIntializationDataSize)}),BoxParser.createBoxCtor("vttC",function(t){this.text=t.readString(this.size-this.hdr_size)}),BoxParser.createFullBoxCtor("vvcC",function(t){var e,i={held_bits:void 0,num_held_bits:0,stream_read_1_bytes:function(t){this.held_bits=t.readUint8(),this.num_held_bits=8},stream_read_2_bytes:function(t){this.held_bits=t.readUint16(),this.num_held_bits=16},extract_bits:function(t){var e=this.held_bits>>this.num_held_bits-t&(1<>=1;t+=BoxParser.decimalToHex(i,0),t+=".",0===this.hvcC.general_tier_flag?t+="L":t+="H",t+=this.hvcC.general_level_idc;var s=!1,a="";for(r=5;0<=r;r--)(this.hvcC.general_constraint_indicator[r]||s)&&(a="."+BoxParser.decimalToHex(this.hvcC.general_constraint_indicator[r],0)+a,s=!0);t+=a}return t},BoxParser.vvc1SampleEntry.prototype.getCodec=BoxParser.vvi1SampleEntry.prototype.getCodec=function(){var t=BoxParser.SampleEntry.prototype.getCodec.call(this);if(this.vvcC){t+="."+this.vvcC.general_profile_idc,this.vvcC.general_tier_flag?t+=".H":t+=".L",t+=this.vvcC.general_level_idc;var e="";if(this.vvcC.general_constraint_info){var i,r=[],s=0;for(s|=this.vvcC.ptl_frame_only_constraint<<7,s|=this.vvcC.ptl_multilayer_enabled<<6,h=0;h>2&63,r.push(s),s&&(i=h),s=this.vvcC.general_constraint_info[h]>>2&3;if(void 0===i)e=".CA";else{e=".C";for(var a="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",n=0,o=0,h=0;h<=i;++h)for(n=n<<8|r[h],o+=8;5<=o;)e+=a[n>>o-5&31],n&=(1<<(o-=5))-1;o&&(e+=a[31&(n<<=5-o)])}}t+=e}return t},BoxParser.mp4aSampleEntry.prototype.getCodec=function(){var t=BoxParser.SampleEntry.prototype.getCodec.call(this);if(this.esds&&this.esds.esd){var e=this.esds.esd.getOTI(),i=this.esds.esd.getAudioConfig();return t+"."+BoxParser.decimalToHex(e)+(i?"."+i:"")}return t},BoxParser.stxtSampleEntry.prototype.getCodec=function(){var t=BoxParser.SampleEntry.prototype.getCodec.call(this);return this.mime_format?t+"."+this.mime_format:t},BoxParser.vp08SampleEntry.prototype.getCodec=BoxParser.vp09SampleEntry.prototype.getCodec=function(){var t=BoxParser.SampleEntry.prototype.getCodec.call(this),e=this.vpcC.level;0==e&&(e="00");var i=this.vpcC.bitDepth;return 8==i&&(i="08"),t+".0"+this.vpcC.profile+"."+e+"."+i},BoxParser.av01SampleEntry.prototype.getCodec=function(){var t,e=BoxParser.SampleEntry.prototype.getCodec.call(this),i=this.av1C.seq_level_idx_0;return i<10&&(i="0"+i),2===this.av1C.seq_profile&&1===this.av1C.high_bitdepth?t=1===this.av1C.twelve_bit?"12":"10":this.av1C.seq_profile<=2&&(t=1===this.av1C.high_bitdepth?"10":"08"),e+"."+this.av1C.seq_profile+"."+i+(this.av1C.seq_tier_0?"H":"M")+"."+t},BoxParser.Box.prototype.writeHeader=function(t,e){this.size+=8,this.size>MAX_SIZE&&(this.size+=8),"uuid"===this.type&&(this.size+=16),Log.debug("BoxWriter","Writing box "+this.type+" of size: "+this.size+" at position "+t.getPosition()+(e||"")),this.size>MAX_SIZE?t.writeUint32(1):(this.sizePosition=t.getPosition(),t.writeUint32(this.size)),t.writeString(this.type,null,4),"uuid"===this.type&&t.writeUint8Array(this.uuid),this.size>MAX_SIZE&&t.writeUint64(this.size)},BoxParser.FullBox.prototype.writeHeader=function(t){this.size+=4,BoxParser.Box.prototype.writeHeader.call(this,t," v="+this.version+" f="+this.flags),t.writeUint8(this.version),t.writeUint24(this.flags)},BoxParser.Box.prototype.write=function(t){"mdat"===this.type?this.data&&(this.size=this.data.length,this.writeHeader(t),t.writeUint8Array(this.data)):(this.size=this.data?this.data.length:0,this.writeHeader(t),this.data&&t.writeUint8Array(this.data))},BoxParser.ContainerBox.prototype.write=function(t){this.size=0,this.writeHeader(t);for(var e=0;ee?1:0,this.flags=0,this.size=4,1===this.version&&(this.size+=4),this.writeHeader(t),1===this.version?t.writeUint64(this.baseMediaDecodeTime):t.writeUint32(this.baseMediaDecodeTime)},BoxParser.tfhdBox.prototype.write=function(t){this.version=0,this.size=4,this.flags&BoxParser.TFHD_FLAG_BASE_DATA_OFFSET&&(this.size+=8),this.flags&BoxParser.TFHD_FLAG_SAMPLE_DESC&&(this.size+=4),this.flags&BoxParser.TFHD_FLAG_SAMPLE_DUR&&(this.size+=4),this.flags&BoxParser.TFHD_FLAG_SAMPLE_SIZE&&(this.size+=4),this.flags&BoxParser.TFHD_FLAG_SAMPLE_FLAGS&&(this.size+=4),this.writeHeader(t),t.writeUint32(this.track_id),this.flags&BoxParser.TFHD_FLAG_BASE_DATA_OFFSET&&t.writeUint64(this.base_data_offset),this.flags&BoxParser.TFHD_FLAG_SAMPLE_DESC&&t.writeUint32(this.default_sample_description_index),this.flags&BoxParser.TFHD_FLAG_SAMPLE_DUR&&t.writeUint32(this.default_sample_duration),this.flags&BoxParser.TFHD_FLAG_SAMPLE_SIZE&&t.writeUint32(this.default_sample_size),this.flags&BoxParser.TFHD_FLAG_SAMPLE_FLAGS&&t.writeUint32(this.default_sample_flags)},BoxParser.tkhdBox.prototype.write=function(t){this.version=0,this.size=80,this.writeHeader(t),t.writeUint32(this.creation_time),t.writeUint32(this.modification_time),t.writeUint32(this.track_id),t.writeUint32(0),t.writeUint32(this.duration),t.writeUint32(0),t.writeUint32(0),t.writeInt16(this.layer),t.writeInt16(this.alternate_group),t.writeInt16(this.volume<<8),t.writeUint16(0),t.writeInt32Array(this.matrix),t.writeUint32(this.width),t.writeUint32(this.height)},BoxParser.trexBox.prototype.write=function(t){this.version=0,this.flags=0,this.size=20,this.writeHeader(t),t.writeUint32(this.track_id),t.writeUint32(this.default_sample_description_index),t.writeUint32(this.default_sample_duration),t.writeUint32(this.default_sample_size),t.writeUint32(this.default_sample_flags)},BoxParser.trunBox.prototype.write=function(t){this.version=0,this.size=4,this.flags&BoxParser.TRUN_FLAGS_DATA_OFFSET&&(this.size+=4),this.flags&BoxParser.TRUN_FLAGS_FIRST_FLAG&&(this.size+=4),this.flags&BoxParser.TRUN_FLAGS_DURATION&&(this.size+=4*this.sample_duration.length),this.flags&BoxParser.TRUN_FLAGS_SIZE&&(this.size+=4*this.sample_size.length),this.flags&BoxParser.TRUN_FLAGS_FLAGS&&(this.size+=4*this.sample_flags.length),this.flags&BoxParser.TRUN_FLAGS_CTS_OFFSET&&(this.size+=4*this.sample_composition_time_offset.length),this.writeHeader(t),t.writeUint32(this.sample_count),this.flags&BoxParser.TRUN_FLAGS_DATA_OFFSET&&(this.data_offset_position=t.getPosition(),t.writeInt32(this.data_offset)),this.flags&BoxParser.TRUN_FLAGS_FIRST_FLAG&&t.writeUint32(this.first_sample_flags);for(var e=0;e=e?t:new Array(e-t.length+1).join(i)+t}function r(t){var e=Math.floor(t/3600),i=Math.floor((t-3600*e)/60),r=Math.floor(t-3600*e-60*i),t=Math.floor(1e3*(t-3600*e-60*i-r));return s(e,2)+":"+s(i,2)+":"+s(r,2)+"."+s(t,3)}for(var a=this.parseSample(i),n="",o=0;o=r.samples.length)&&(Log.info("ISOFile","Sending fragmented data on track #"+i.id+" for samples ["+Math.max(0,r.nextSample-i.nb_samples)+","+(r.nextSample-1)+"]"),Log.info("ISOFile","Sample data size in memory: "+this.getAllocatedSampleDataSize()),this.onSegment&&this.onSegment(i.id,i.user,i.segmentStream.buffer,r.nextSample,t||r.nextSample>=r.samples.length),i.segmentStream=null,i!==this.fragmentedTracks[e]))break}if(null!==this.onSamples)for(e=0;e=r.samples.length)&&(Log.debug("ISOFile","Sending samples on track #"+a.id+" for sample "+r.nextSample),this.onSamples&&this.onSamples(a.id,a.user,a.samples),a.samples=[],a!==this.extractedTracks[e]))break}}}},ISOFile.prototype.getBox=function(t){t=this.getBoxes(t,!0);return t.length?t[0]:null},ISOFile.prototype.getBoxes=function(t,e){var i=[];return ISOFile._sweep.call(this,t,i,e),i},ISOFile._sweep=function(t,e,i){for(var r in this.type&&this.type==t&&e.push(this),this.boxes){if(e.length&&i)return;ISOFile._sweep.call(this.boxes[r],t,e,i)}},ISOFile.prototype.getTrackSamplesInfo=function(t){t=this.getTrackById(t);if(t)return t.samples},ISOFile.prototype.getTrackSample=function(t,e){t=this.getTrackById(t);return this.getSample(t,e)},ISOFile.prototype.releaseUsedSamples=function(t,e){var i=0,r=this.getTrackById(t);r.lastValidSample||(r.lastValidSample=0);for(var s=r.lastValidSample;st*s.timescale){h=r-1;break}e&&s.is_sync&&(o=r)}for(e&&(h=o),t=i.samples[h].cts,i.nextSample=h;i.samples[h].alreadyRead===i.samples[h].size&&i.samples[h+1];)h++;return a=i.samples[h].offset+i.samples[h].alreadyRead,Log.info("ISOFile","Seeking to "+(e?"RAP":"")+" sample #"+i.nextSample+" on track "+i.tkhd.track_id+", time "+Log.getDurationString(t,n)+" and offset: "+a),{offset:a,time:t/n}},ISOFile.prototype.getTrackDuration=function(t){return t.samples?((t=t.samples[t.samples.length-1]).cts+t.duration)/t.timescale:1/0},ISOFile.prototype.seek=function(t,e){var i,r,s=this.moov,a={offset:1/0,time:1/0};if(this.moov){for(r=0;rthis.getTrackDuration(i)||((i=this.seekTrack(t,e,i)).offset=r[s].last_sample_in_run&&(r[s].last_sample_in_run<0&&(r[s].last_sample_in_run=0),r[s].entry_index++,r[s].entry_index<=r[s].sbgp.entries.length-1&&(r[s].last_sample_in_run+=r[s].sbgp.entries[r[s].entry_index].sample_count)),r[s].entry_index<=r[s].sbgp.entries.length-1?e.sample_groups[s].group_description_index=r[s].sbgp.entries[r[s].entry_index].group_description_index:e.sample_groups[s].group_description_index=-1,0!==e.sample_groups[s].group_description_index&&(n=r[s].fragment_description||r[s].description,0>16)-1:e.sample_groups[s].group_description_index-1,n&&0<=a&&(e.sample_groups[s].description=n.entries[a])):n&&2<=n.version&&0>16&1),p.is_leading=x>>26&3,p.depends_on=x>>24&3,p.is_depended_on=x>>22&3,p.has_redundancy=x>>20&3,p.degradation_priority=65535&x;var _=!!(h.tfhd.flags&BoxParser.TFHD_FLAG_BASE_DATA_OFFSET),c=!!(h.tfhd.flags&BoxParser.TFHD_FLAG_DEFAULT_BASE_IS_MOOF),m=!!(f.flags&BoxParser.TRUN_FLAGS_DATA_OFFSET),x=0,x=_?h.tfhd.base_data_offset:c||0===y?o.start:a;p.offset=0===y&&0===u?m?x+f.data_offset:x:a,a=p.offset+p.size,(0MAX_SIZE&&(this.size+=8),"uuid"===this.type&&(this.size+=16),t.log(t.indent+"size:"+this.size),t.log(t.indent+"type:"+this.type)},BoxParser.FullBox.prototype.printHeader=function(t){this.size+=4,BoxParser.Box.prototype.printHeader.call(this,t),t.log(t.indent+"version:"+this.version),t.log(t.indent+"flags:"+this.flags)},BoxParser.Box.prototype.print=function(t){this.printHeader(t)},BoxParser.ContainerBox.prototype.print=function(t){this.printHeader(t);for(var e,i=0;i>8)),t.log(t.indent+"matrix: "+this.matrix.join(", ")),t.log(t.indent+"next_track_id: "+this.next_track_id)},BoxParser.tkhdBox.prototype.print=function(t){BoxParser.FullBox.prototype.printHeader.call(this,t),t.log(t.indent+"creation_time: "+this.creation_time),t.log(t.indent+"modification_time: "+this.modification_time),t.log(t.indent+"track_id: "+this.track_id),t.log(t.indent+"duration: "+this.duration),t.log(t.indent+"volume: "+(this.volume>>8)),t.log(t.indent+"matrix: "+this.matrix.join(", ")),t.log(t.indent+"layer: "+this.layer),t.log(t.indent+"alternate_group: "+this.alternate_group),t.log(t.indent+"width: "+this.width),t.log(t.indent+"height: "+this.height)};var MP4Box={createFile:function(t,e){t=void 0===t||t,e=new ISOFile(e);return e.discardMdatData=!t,e}};"undefined"!=typeof exports&&(exports.createFile=MP4Box.createFile); +//# sourceMappingURL=mp4box.all.min.js.map \ No newline at end of file diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/mp4box.js-LICENSE b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/mp4box.js-LICENSE new file mode 100644 index 000000000000..dccb790eacc2 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/mp4box.js-LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2012. Telecom ParisTech/TSI/MM/GPAC Cyril Concolato +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/shared.js b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/shared.js new file mode 100644 index 000000000000..ca75fbc9b1bf --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/shared.js @@ -0,0 +1,128 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/*global MP4Demuxer b:true*/ + +const kTotalFrames = 100; + +let start; +let frameCount; + +function runTestInternal( + testName, + canvasType, + canvas, + isWorker, + videoUri, + resolve, + reject +) { + const runContext = isWorker ? "worker" : "main"; + dump( + "[" + + canvasType + + " webcodecs " + + runContext + + "] load video '" + + videoUri + + "'\n" + ); + + let drawImage; + if (canvasType == "2d") { + const ctx = canvas.getContext("2d"); + drawImage = function (frame) { + ctx.drawImage(frame, 0, 0); + }; + } else if (canvasType == "webgl") { + const gl = canvas.getContext("webgl"); + gl.bindTexture(gl.TEXTURE_2D, gl.createTexture()); + drawImage = function (frame) { + gl.texImage2D( + gl.TEXTURE_2D, + 0, + gl.RGBA, + gl.RGBA, + gl.UNSIGNED_BYTE, + frame + ); + }; + } else { + dump("[" + canvasType + " webcodecs " + runContext + "] unknown type\n"); + reject("unknown type " + canvasType); + return; + } + + frameCount = 0; + + const decoder = new VideoDecoder({ + output(frame) { + if (frameCount == 0) { + start = performance.now(); + } + ++frameCount; + + dump( + "[" + + canvasType + + " webcodecs " + + runContext + + "] draw frame " + + frameCount + + "\n" + ); + drawImage(frame); + frame.close(); + + if (frameCount == kTotalFrames) { + var elapsed = performance.now() - start; + setTimeout(() => { + resolve({ testName, elapsed, totalFrames: kTotalFrames }); + }, 0); + + dump( + "[" + canvasType + " webcodecs " + runContext + "] close decoder\n" + ); + decoder.close(); + } + }, + error(e) { + dump( + "[" + + canvasType + + " webcodecs " + + runContext + + "] decoder error " + + e + + "\n" + ); + decoder.close(); + reject(e); + }, + }); + + new MP4Demuxer(videoUri, { + onConfig(config) { + dump( + "[" + canvasType + " webcodecs " + runContext + "] demuxer config\n" + ); + decoder.configure(config); + }, + onChunk(chunk) { + dump("[" + canvasType + " webcodecs " + runContext + "] demuxer chunk\n"); + decoder.decode(chunk); + }, + setStatus(msg) { + dump( + "[" + + canvasType + + " webcodecs " + + runContext + + "] demuxer status - " + + msg + + "\n" + ); + }, + }); +} diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_av1_main.html b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_av1_main.html new file mode 100644 index 000000000000..038e9e3008c7 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_av1_main.html @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_av1_worker.html b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_av1_worker.html new file mode 100644 index 000000000000..b2dc7fc89db0 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_av1_worker.html @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_h264_main.html b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_h264_main.html new file mode 100644 index 000000000000..c0b277f49cb3 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_h264_main.html @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_h264_worker.html b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_h264_worker.html new file mode 100644 index 000000000000..2764c5c4e73d --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_h264_worker.html @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_vp9_main.html b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_vp9_main.html new file mode 100644 index 000000000000..7834b448a266 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_vp9_main.html @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_vp9_worker.html b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_vp9_worker.html new file mode 100644 index 000000000000..86867860da9f --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/webgl_vp9_worker.html @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/testing/talos/talos/tests/offscreencanvas/benchmarks/video/worker.js b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/worker.js new file mode 100644 index 000000000000..16ef0ccdf246 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/benchmarks/video/worker.js @@ -0,0 +1,30 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +importScripts("mp4box.all.min.js"); +importScripts("demuxer_mp4.js"); +importScripts("shared.js"); + +self.onmessage = e => { + const resolve = result => { + self.postMessage(result); + }; + const reject = errorMessage => { + self.postMessage({ errorMessage }); + }; + + try { + runTestInternal( + e.data.testName, + e.data.canvasType, + e.data.offscreenCanvas, + /* isWorker */ true, + e.data.videoUri, + resolve, + reject + ); + } catch (e) { + reject(e); + } +}; diff --git a/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_av1.manifest b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_av1.manifest new file mode 100644 index 000000000000..6cc7e4aa30b9 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_av1.manifest @@ -0,0 +1 @@ +% http://localhost/tests/offscreencanvas/benchmarks/video/2d_av1_main.html diff --git a/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_h264.manifest b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_h264.manifest new file mode 100644 index 000000000000..e7e2d69dc38d --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_h264.manifest @@ -0,0 +1 @@ +% http://localhost/tests/offscreencanvas/benchmarks/video/2d_h264_main.html diff --git a/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_vp9.manifest b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_vp9.manifest new file mode 100644 index 000000000000..54b90edd19e0 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_vp9.manifest @@ -0,0 +1 @@ +% http://localhost/tests/offscreencanvas/benchmarks/video/2d_vp9_main.html diff --git a/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_av1.manifest b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_av1.manifest new file mode 100644 index 000000000000..452cf5b4d1ef --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_av1.manifest @@ -0,0 +1 @@ +% http://localhost/tests/offscreencanvas/benchmarks/video/webgl_av1_main.html diff --git a/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_h264.manifest b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_h264.manifest new file mode 100644 index 000000000000..751b5bdee79e --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_h264.manifest @@ -0,0 +1 @@ +% http://localhost/tests/offscreencanvas/benchmarks/video/webgl_h264_main.html diff --git a/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_vp9.manifest b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_vp9.manifest new file mode 100644 index 000000000000..458cc92ce916 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_vp9.manifest @@ -0,0 +1 @@ +% http://localhost/tests/offscreencanvas/benchmarks/video/webgl_vp9_main.html diff --git a/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_av1.manifest b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_av1.manifest new file mode 100644 index 000000000000..4daf25cbef00 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_av1.manifest @@ -0,0 +1 @@ +% http://localhost/tests/offscreencanvas/benchmarks/video/2d_av1_worker.html diff --git a/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_h264.manifest b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_h264.manifest new file mode 100644 index 000000000000..975c5d0647e8 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_h264.manifest @@ -0,0 +1 @@ +% http://localhost/tests/offscreencanvas/benchmarks/video/2d_h264_worker.html diff --git a/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_vp9.manifest b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_vp9.manifest new file mode 100644 index 000000000000..7f0fb644d7f3 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_vp9.manifest @@ -0,0 +1 @@ +% http://localhost/tests/offscreencanvas/benchmarks/video/2d_vp9_worker.html diff --git a/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_av1.manifest b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_av1.manifest new file mode 100644 index 000000000000..d47d736331da --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_av1.manifest @@ -0,0 +1 @@ +% http://localhost/tests/offscreencanvas/benchmarks/video/webgl_av1_worker.html diff --git a/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_h264.manifest b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_h264.manifest new file mode 100644 index 000000000000..c17e7e45d44e --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_h264.manifest @@ -0,0 +1 @@ +% http://localhost/tests/offscreencanvas/benchmarks/video/webgl_h264_worker.html diff --git a/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_vp9.manifest b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_vp9.manifest new file mode 100644 index 000000000000..38d2835d6db1 --- /dev/null +++ b/testing/talos/talos/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_vp9.manifest @@ -0,0 +1 @@ +% http://localhost/tests/offscreencanvas/benchmarks/video/webgl_vp9_worker.html diff --git a/testing/talos/talos/tests/video/clips/testsrc.1080p.60fps.av1.short.mp4 b/testing/talos/talos/tests/video/clips/testsrc.1080p.60fps.av1.short.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..5d21f9751b0dcec2b73270aa6347aaf201cbe1b3 GIT binary patch literal 90451 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
    b)Z8jp!TwdZ`0kP^dt>hK~If+rv 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 literal 0 HcmV?d00001 diff --git a/testing/talos/talos/tests/video/clips/testsrc.1080p.60fps.h264.short.mp4 b/testing/talos/talos/tests/video/clips/testsrc.1080p.60fps.h264.short.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..6ee3b681b8702f1b2cf7175e02a871c1bf061741 GIT binary patch literal 228642 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

    #E%pm$z+=)IEF^Y(9Z{BljvUHP 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 RO}(sm_}Tb)**G~k{trUll@b5| literal 0 HcmV?d00001 diff --git a/testing/talos/talos/tests/video/clips/testsrc.1080p.60fps.vp9.short.mp4 b/testing/talos/talos/tests/video/clips/testsrc.1080p.60fps.vp9.short.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..0619210b1310fdc9efbf4939419e99ff9a094f6b GIT binary patch literal 165119 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

    (oUlhbjKb3 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 F{{d|eG35XN literal 0 HcmV?d00001 diff --git a/testing/talos/talos/unittests/test_config.py b/testing/talos/talos/unittests/test_config.py index e00442610051..ae58364b078e 100644 --- a/testing/talos/talos/unittests/test_config.py +++ b/testing/talos/talos/unittests/test_config.py @@ -273,6 +273,18 @@ class Test_get_config(object): cls.argv_canvas2dvideo = ( "--activeTests canvas2dvideo -e /some/random/path".split() ) + cls.argv_offscreencanvas_webcodecs_main_webgl_h264 = "--activeTests offscreencanvas_webcodecs_main_webgl_h264 -e /some/random/path".split() + cls.argv_offscreencanvas_webcodecs_main_webgl_vp9 = "--activeTests offscreencanvas_webcodecs_main_webgl_vp9 -e /some/random/path".split() + cls.argv_offscreencanvas_webcodecs_main_webgl_av1 = "--activeTests offscreencanvas_webcodecs_main_webgl_av1 -e /some/random/path".split() + cls.argv_offscreencanvas_webcodecs_worker_webgl_h264 = "--activeTests offscreencanvas_webcodecs_worker_webgl_h264 -e /some/random/path".split() + cls.argv_offscreencanvas_webcodecs_worker_webgl_vp9 = "--activeTests offscreencanvas_webcodecs_worker_webgl_vp9 -e /some/random/path".split() + cls.argv_offscreencanvas_webcodecs_worker_webgl_av1 = "--activeTests offscreencanvas_webcodecs_worker_webgl_av1 -e /some/random/path".split() + cls.argv_offscreencanvas_webcodecs_main_2d_h264 = "--activeTests offscreencanvas_webcodecs_main_2d_h264 -e /some/random/path".split() + cls.argv_offscreencanvas_webcodecs_main_2d_vp9 = "--activeTests offscreencanvas_webcodecs_main_2d_vp9 -e /some/random/path".split() + cls.argv_offscreencanvas_webcodecs_main_2d_av1 = "--activeTests offscreencanvas_webcodecs_main_2d_av1 -e /some/random/path".split() + cls.argv_offscreencanvas_webcodecs_worker_2d_h264 = "--activeTests offscreencanvas_webcodecs_worker_2d_h264 -e /some/random/path".split() + cls.argv_offscreencanvas_webcodecs_worker_2d_vp9 = "--activeTests offscreencanvas_webcodecs_worker_2d_vp9 -e /some/random/path".split() + cls.argv_offscreencanvas_webcodecs_worker_2d_av1 = "--activeTests offscreencanvas_webcodecs_worker_2d_av1 -e /some/random/path".split() cls.argv_tp5n = "--activeTests tp5n -e /some/random/path".split() cls.argv_tp5o = "--activeTests tp5o -e /some/random/path".split() cls.argv_tp5o_webext = "--activeTests tp5o_webext -e /some/random/path".split() @@ -641,6 +653,282 @@ class Test_get_config(object): assert test_config["filters"] is not None assert test_config["unit"] == "ms" + def test_offscreencanvas_webcodecs_main_webgl_h264_has_expected_attributes(self): + config = get_config(self.argv_offscreencanvas_webcodecs_main_webgl_h264) + test_config = config["tests"][0] + + assert test_config["name"] == "offscreencanvas_webcodecs_main_webgl_h264" + assert ( + test_config["tpmanifest"] + != "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_h264.manifest" + ) + assert test_config["tpcycles"] == 1 + assert test_config["tppagecycles"] == 5 + assert test_config["tploadnocache"] is True + assert test_config["tpmozafterpaint"] is False + assert test_config["tpchrome"] is False + assert test_config["gecko_profile_interval"] == 2 + assert test_config["gecko_profile_entries"] == 2000000 + assert "win_counters" not in test_config + assert "w7_counters" not in test_config + assert "linux_counters" not in test_config + assert "mac_counters" not in test_config + assert test_config["filters"] is not None + assert test_config["unit"] == "ms" + + def test_offscreencanvas_webcodecs_main_webgl_vp9_has_expected_attributes(self): + config = get_config(self.argv_offscreencanvas_webcodecs_main_webgl_vp9) + test_config = config["tests"][0] + + assert test_config["name"] == "offscreencanvas_webcodecs_main_webgl_vp9" + assert ( + test_config["tpmanifest"] + != "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_vp9.manifest" + ) + assert test_config["tpcycles"] == 1 + assert test_config["tppagecycles"] == 5 + assert test_config["tploadnocache"] is True + assert test_config["tpmozafterpaint"] is False + assert test_config["tpchrome"] is False + assert test_config["gecko_profile_interval"] == 2 + assert test_config["gecko_profile_entries"] == 2000000 + assert "win_counters" not in test_config + assert "w7_counters" not in test_config + assert "linux_counters" not in test_config + assert "mac_counters" not in test_config + assert test_config["filters"] is not None + assert test_config["unit"] == "ms" + + def test_offscreencanvas_webcodecs_main_webgl_av1_has_expected_attributes(self): + config = get_config(self.argv_offscreencanvas_webcodecs_main_webgl_av1) + test_config = config["tests"][0] + + assert test_config["name"] == "offscreencanvas_webcodecs_main_webgl_av1" + assert ( + test_config["tpmanifest"] + != "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_webgl_av1.manifest" + ) + assert test_config["tpcycles"] == 1 + assert test_config["tppagecycles"] == 5 + assert test_config["tploadnocache"] is True + assert test_config["tpmozafterpaint"] is False + assert test_config["tpchrome"] is False + assert test_config["gecko_profile_interval"] == 2 + assert test_config["gecko_profile_entries"] == 2000000 + assert "win_counters" not in test_config + assert "w7_counters" not in test_config + assert "linux_counters" not in test_config + assert "mac_counters" not in test_config + assert test_config["filters"] is not None + assert test_config["unit"] == "ms" + + def test_offscreencanvas_webcodecs_worker_webgl_h264_has_expected_attributes(self): + config = get_config(self.argv_offscreencanvas_webcodecs_worker_webgl_h264) + test_config = config["tests"][0] + + assert test_config["name"] == "offscreencanvas_webcodecs_worker_webgl_h264" + assert ( + test_config["tpmanifest"] + != "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_h264.manifest" + ) + assert test_config["tpcycles"] == 1 + assert test_config["tppagecycles"] == 5 + assert test_config["tploadnocache"] is True + assert test_config["tpmozafterpaint"] is False + assert test_config["tpchrome"] is False + assert test_config["gecko_profile_interval"] == 2 + assert test_config["gecko_profile_entries"] == 2000000 + assert "win_counters" not in test_config + assert "w7_counters" not in test_config + assert "linux_counters" not in test_config + assert "mac_counters" not in test_config + assert test_config["filters"] is not None + assert test_config["unit"] == "ms" + + def test_offscreencanvas_webcodecs_worker_webgl_vp9_has_expected_attributes(self): + config = get_config(self.argv_offscreencanvas_webcodecs_worker_webgl_vp9) + test_config = config["tests"][0] + + assert test_config["name"] == "offscreencanvas_webcodecs_worker_webgl_vp9" + assert ( + test_config["tpmanifest"] + != "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_vp9.manifest" + ) + assert test_config["tpcycles"] == 1 + assert test_config["tppagecycles"] == 5 + assert test_config["tploadnocache"] is True + assert test_config["tpmozafterpaint"] is False + assert test_config["tpchrome"] is False + assert test_config["gecko_profile_interval"] == 2 + assert test_config["gecko_profile_entries"] == 2000000 + assert "win_counters" not in test_config + assert "w7_counters" not in test_config + assert "linux_counters" not in test_config + assert "mac_counters" not in test_config + assert test_config["filters"] is not None + assert test_config["unit"] == "ms" + + def test_offscreencanvas_webcodecs_worker_webgl_av1_has_expected_attributes(self): + config = get_config(self.argv_offscreencanvas_webcodecs_worker_webgl_av1) + test_config = config["tests"][0] + + assert test_config["name"] == "offscreencanvas_webcodecs_worker_webgl_av1" + assert ( + test_config["tpmanifest"] + != "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_webgl_av1.manifest" + ) + assert test_config["tpcycles"] == 1 + assert test_config["tppagecycles"] == 5 + assert test_config["tploadnocache"] is True + assert test_config["tpmozafterpaint"] is False + assert test_config["tpchrome"] is False + assert test_config["gecko_profile_interval"] == 2 + assert test_config["gecko_profile_entries"] == 2000000 + assert "win_counters" not in test_config + assert "w7_counters" not in test_config + assert "linux_counters" not in test_config + assert "mac_counters" not in test_config + assert test_config["filters"] is not None + assert test_config["unit"] == "ms" + + def test_offscreencanvas_webcodecs_main_2d_h264_has_expected_attributes(self): + config = get_config(self.argv_offscreencanvas_webcodecs_main_2d_h264) + test_config = config["tests"][0] + + assert test_config["name"] == "offscreencanvas_webcodecs_main_2d_h264" + assert ( + test_config["tpmanifest"] + != "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_h264.manifest" + ) + assert test_config["tpcycles"] == 1 + assert test_config["tppagecycles"] == 5 + assert test_config["tploadnocache"] is True + assert test_config["tpmozafterpaint"] is False + assert test_config["tpchrome"] is False + assert test_config["gecko_profile_interval"] == 2 + assert test_config["gecko_profile_entries"] == 2000000 + assert "win_counters" not in test_config + assert "w7_counters" not in test_config + assert "linux_counters" not in test_config + assert "mac_counters" not in test_config + assert test_config["filters"] is not None + assert test_config["unit"] == "ms" + + def test_offscreencanvas_webcodecs_main_2d_vp9_has_expected_attributes(self): + config = get_config(self.argv_offscreencanvas_webcodecs_main_2d_vp9) + test_config = config["tests"][0] + + assert test_config["name"] == "offscreencanvas_webcodecs_main_2d_vp9" + assert ( + test_config["tpmanifest"] + != "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_vp9.manifest" + ) + assert test_config["tpcycles"] == 1 + assert test_config["tppagecycles"] == 5 + assert test_config["tploadnocache"] is True + assert test_config["tpmozafterpaint"] is False + assert test_config["tpchrome"] is False + assert test_config["gecko_profile_interval"] == 2 + assert test_config["gecko_profile_entries"] == 2000000 + assert "win_counters" not in test_config + assert "w7_counters" not in test_config + assert "linux_counters" not in test_config + assert "mac_counters" not in test_config + assert test_config["filters"] is not None + assert test_config["unit"] == "ms" + + def test_offscreencanvas_webcodecs_main_2d_av1_has_expected_attributes(self): + config = get_config(self.argv_offscreencanvas_webcodecs_main_2d_av1) + test_config = config["tests"][0] + + assert test_config["name"] == "offscreencanvas_webcodecs_main_2d_av1" + assert ( + test_config["tpmanifest"] + != "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_main_2d_av1.manifest" + ) + assert test_config["tpcycles"] == 1 + assert test_config["tppagecycles"] == 5 + assert test_config["tploadnocache"] is True + assert test_config["tpmozafterpaint"] is False + assert test_config["tpchrome"] is False + assert test_config["gecko_profile_interval"] == 2 + assert test_config["gecko_profile_entries"] == 2000000 + assert "win_counters" not in test_config + assert "w7_counters" not in test_config + assert "linux_counters" not in test_config + assert "mac_counters" not in test_config + assert test_config["filters"] is not None + assert test_config["unit"] == "ms" + + def test_offscreencanvas_webcodecs_worker_2d_h264_has_expected_attributes(self): + config = get_config(self.argv_offscreencanvas_webcodecs_worker_2d_h264) + test_config = config["tests"][0] + + assert test_config["name"] == "offscreencanvas_webcodecs_worker_2d_h264" + assert ( + test_config["tpmanifest"] + != "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_h264.manifest" + ) + assert test_config["tpcycles"] == 1 + assert test_config["tppagecycles"] == 5 + assert test_config["tploadnocache"] is True + assert test_config["tpmozafterpaint"] is False + assert test_config["tpchrome"] is False + assert test_config["gecko_profile_interval"] == 2 + assert test_config["gecko_profile_entries"] == 2000000 + assert "win_counters" not in test_config + assert "w7_counters" not in test_config + assert "linux_counters" not in test_config + assert "mac_counters" not in test_config + assert test_config["filters"] is not None + assert test_config["unit"] == "ms" + + def test_offscreencanvas_webcodecs_worker_2d_vp9_has_expected_attributes(self): + config = get_config(self.argv_offscreencanvas_webcodecs_worker_2d_vp9) + test_config = config["tests"][0] + + assert test_config["name"] == "offscreencanvas_webcodecs_worker_2d_vp9" + assert ( + test_config["tpmanifest"] + != "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_vp9.manifest" + ) + assert test_config["tpcycles"] == 1 + assert test_config["tppagecycles"] == 5 + assert test_config["tploadnocache"] is True + assert test_config["tpmozafterpaint"] is False + assert test_config["tpchrome"] is False + assert test_config["gecko_profile_interval"] == 2 + assert test_config["gecko_profile_entries"] == 2000000 + assert "win_counters" not in test_config + assert "w7_counters" not in test_config + assert "linux_counters" not in test_config + assert "mac_counters" not in test_config + assert test_config["filters"] is not None + assert test_config["unit"] == "ms" + + def test_offscreencanvas_webcodecs_worker_2d_av1_has_expected_attributes(self): + config = get_config(self.argv_offscreencanvas_webcodecs_worker_2d_av1) + test_config = config["tests"][0] + + assert test_config["name"] == "offscreencanvas_webcodecs_worker_2d_av1" + assert ( + test_config["tpmanifest"] + != "${talos}/tests/offscreencanvas/offscreencanvas_webcodecs_worker_2d_av1.manifest" + ) + assert test_config["tpcycles"] == 1 + assert test_config["tppagecycles"] == 5 + assert test_config["tploadnocache"] is True + assert test_config["tpmozafterpaint"] is False + assert test_config["tpchrome"] is False + assert test_config["gecko_profile_interval"] == 2 + assert test_config["gecko_profile_entries"] == 2000000 + assert "win_counters" not in test_config + assert "w7_counters" not in test_config + assert "linux_counters" not in test_config + assert "mac_counters" not in test_config + assert test_config["filters"] is not None + assert test_config["unit"] == "ms" + @mock.patch("talos.config.build_manifest", conftest.patched_build_manifest) def test_tp5n_has_expected_attributes(self): config = get_config(self.argv_tp5n) diff --git a/tools/rewriting/ThirdPartyPaths.txt b/tools/rewriting/ThirdPartyPaths.txt index 38e5233f6061..4020c5beae9b 100644 --- a/tools/rewriting/ThirdPartyPaths.txt +++ b/tools/rewriting/ThirdPartyPaths.txt @@ -165,6 +165,8 @@ testing/mozbase/mozproxy/mozproxy/backends/mitm/scripts/catapult/ testing/talos/talos/tests/devtools/addon/content/pages/ testing/talos/talos/tests/dromaeo/ testing/talos/talos/tests/kraken/ +testing/talos/talos/tests/offscreencanvas/benchmarks/video/demuxer_mp4.js +testing/talos/talos/tests/offscreencanvas/benchmarks/video/mp4box.all.min.js testing/talos/talos/tests/v8_7/ testing/web-platform/tests/resources/webidl2/ testing/web-platform/tests/tools/third_party/