fune/testing/web-platform/tests/webcodecs
2024-05-14 00:56:42 +00:00
..
audio-data-serialization.any.js
audio-data.any.js Bug 1858958 - Mark AudioData tests that are optional to implement as such. r=chunmin 2024-03-06 14:00:18 +00:00
audio-data.crossOriginIsolated.https.any.js
audio-data.crossOriginIsolated.https.any.js.headers
audio-decoder.crossOriginIsolated.https.any.js
audio-decoder.crossOriginIsolated.https.any.js.headers
audio-decoder.https.any.js Bug 1874293 - Properly propagate errors when the description is detached in isConfigSupported. r=peterv 2024-03-12 16:36:00 +00:00
audio-encoder-codec-specific.https.any.js Bug 1850063 [wpt PR 41626] - Add AudioEncoderConfig.bitrateMode, a=testonly 2023-09-13 11:40:20 +00:00
audio-encoder-config.https.any.js Bug 1887235 [wpt PR 45290] - Add OpusEncoderConfig.[signal/application], a=testonly 2024-04-23 09:46:56 +00:00
audio-encoder.https.any.js Bug 1856742 [wpt PR 42323] - [WebCodecs] Execute error callback synchronously per updated spec., a=testonly 2023-10-26 08:55:45 +00:00
audioDecoder-codec-specific.https.any.js
av1.mp4
chunk-serialization.any.js
encoded-audio-chunk.any.js
encoded-audio-chunk.crossOriginIsolated.https.any.js
encoded-audio-chunk.crossOriginIsolated.https.any.js.headers
encoded-video-chunk.any.js
encoded-video-chunk.crossOriginIsolated.https.any.js
encoded-video-chunk.crossOriginIsolated.https.any.js.headers
encodedVideoChunk-serialization.crossAgentCluster.helper.html
encodedVideoChunk-serialization.crossAgentCluster.https.html
four-colors-flip.avif
four-colors-flip.gif
four-colors-full-range-bt2020-pq-444-10bpc.avif
four-colors-limited-range-420-8bpc.avif
four-colors-limited-range-420-8bpc.jpg
four-colors-limited-range-420-8bpc.webp
four-colors-limited-range-422-8bpc.avif
four-colors-limited-range-444-8bpc.avif
four-colors.avif
four-colors.gif
four-colors.jpg
four-colors.mp4
four-colors.png
four-colors.webp
full-cycle-test.https.any.js Bug 1877244 [wpt PR 44271] - Implement 4:4:4 encoding for AV1 high profile w/ WebCodecs., a=testonly 2024-02-02 11:00:03 +00:00
h264.annexb
h264.mp4
h265.annexb
h265.mp4
idlharness.https.any.js
image-decoder-disconnect-readable-stream-crash.https.html
image-decoder-image-orientation-none.https.html
image-decoder-utils.js
image-decoder.crossOriginIsolated.https.any.js
image-decoder.crossOriginIsolated.https.any.js.headers
image-decoder.https.any.js
META.yml Bug 1860772 [wpt PR 42714] - Add Mozilla reviewers to the WebCodecs directory, a=testonly 2023-11-06 09:06:05 +00:00
pattern.png
per-frame-qp-encoding.https.any.js Bug 1873135 [wpt PR 43864] - webcodecs: Speculative attempt to fix frame-QP WPT flakiness on Mac, a=testonly 2024-01-10 01:15:44 +00:00
README.md
reconfiguring-encoder.https.any.js Bug 1749047 - Adjust WPT expectations. r=chunmin,media-playback-reviewers 2023-12-22 21:39:21 +00:00
serialization.crossAgentCluster.serviceworker.js
sfx-aac.mp4
sfx-alaw.wav
sfx-mulaw.wav
sfx-opus.ogg
sfx.adts
sfx.mp3
temporal-svc-encoding.https.any.js
transfering.https.any.js Bug 1860917 [wpt PR 42734] - media: Add a way to create AudioBuffer with external memory, a=testonly 2023-11-19 15:19:12 +00:00
utils.js Bug 1843974 [wpt PR 41078] - Don't throw exceptions on unknown codecs or unsupported sizes., a=testonly 2023-08-02 13:18:49 +00:00
video-decoder.crossOriginIsolated.https.any.js
video-decoder.crossOriginIsolated.https.any.js.headers
video-decoder.https.any.js Bug 1874293 - Properly propagate errors when the description is detached in isConfigSupported. r=peterv 2024-03-12 16:36:00 +00:00
video-encoder-config.https.any.js Bug 1878300 - Only accept vp8 for vp8 codec string. r=chunmin 2024-03-11 14:16:41 +00:00
video-encoder-content-hint.https.any.js Bug 1859870 [wpt PR 42610] - webcodecs: Implement support for VideoEncoderConfig.contentHint, a=testonly 2023-10-31 13:59:02 +00:00
video-encoder-flush.https.any.js Bug 1895635 - Add av1 to video-encoder-flush WPT r=media-playback-reviewers,padenot 2024-05-14 00:56:42 +00:00
video-encoder-h264.https.any.js Bug 1849783 [wpt PR 41593] - [WebCodecs] Add a wpt verifying the encoded profile for H264., a=testonly 2023-09-13 11:37:15 +00:00
video-encoder-utils.js Bug 1891897 - Validate WebCodecs encoder's flush promise handling r=media-playback-reviewers,padenot 2024-04-26 17:03:27 +00:00
video-encoder.https.any.js Bug 1849427 [wpt PR 41540] - Improve WebCodecs spec compliance; fix WPT regressions., a=testonly 2023-09-28 14:58:16 +00:00
video-frame-serialization.any.js
videoColorSpace.any.js
videoDecoder-codec-specific.https.any.js Bug 1891897 - Validate WebCodecs decoder's flush promise handling r=media-playback-reviewers,padenot 2024-04-26 17:03:27 +00:00
videoFrame-alpha.any.js
videoFrame-canvasImageSource.html Bug 1859777 [wpt PR 42602] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=260834, a=testonly 2023-10-31 13:59:11 +00:00
videoFrame-construction.any.js Bug 1829205 [wpt PR 39630] - [webcodecs] Allow odd coded sizes, a=testonly 2023-09-28 14:59:01 +00:00
videoFrame-construction.crossOriginIsolated.https.any.js
videoFrame-construction.crossOriginIsolated.https.any.js.headers
videoFrame-construction.crossOriginSource.sub.html Bug 1839169 - SVGImageElement.crossOrigin is specified. r=chunmin 2023-07-31 09:22:59 +00:00
videoFrame-construction.window.js
videoFrame-copyTo-rgb.any.js Bug 1893081 [wpt PR 45861] - WPT test for RGB conversion in VideoFrame.copyTo(), a=testonly 2024-04-30 08:00:48 +00:00
videoFrame-copyTo.any.js Bug 1829205 [wpt PR 39630] - [webcodecs] Allow odd coded sizes, a=testonly 2023-09-28 14:59:01 +00:00
videoFrame-copyTo.crossOriginIsolated.https.any.js
videoFrame-copyTo.crossOriginIsolated.https.any.js.headers
videoFrame-createImageBitmap.any.js
videoFrame-createImageBitmap.https.any.js
videoFrame-drawImage.any.js
videoFrame-odd-size.any.js Bug 1829205 [wpt PR 39630] - [webcodecs] Allow odd coded sizes, a=testonly 2023-09-28 14:59:01 +00:00
videoFrame-serialization.crossAgentCluster.helper.html
videoFrame-serialization.crossAgentCluster.https.html Bug 1887591 [wpt PR 45305] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=271460, a=testonly 2024-03-28 14:10:12 +00:00
videoFrame-serialization.https.html Bug 1850916 [wpt PR 41729] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=260954, a=testonly 2023-09-13 11:39:12 +00:00
videoFrame-texImage.any.js
videoFrame-utils.js
vp8.webm
vp9.mp4
WEB_FEATURES.yml Bug 1866800 [wpt PR 43365] - Map more directories to web-features (using WEB_FEATURES.yml), a=testonly 2023-12-01 09:23:28 +00:00
webgl-test-utils.js

WebCodecs Test Files

[TOC]

Instructions

To add, update or remove a test file, please update the list below.

Please provide full reference and steps to generate the test file so that any people can regenerate or update the file in the future.

Notes

  • When updating the sample offsets and descriptions for tests using mp4 files, it's easiest to use mp4box.js.
    • Sample offsets can be copied from the "Sample View" tab after unchecking all but offset and size. Use a multi-line edit mode and clang-format to quickly format entries.
    • Description entries can be found under moov.trak.mdia.minf.stbl.stsd in box view.
      • avc1.avcC or hvc1.hvcC has an offset, size in the same view. Add 8 to offset and subtract 8 from the size to get the values the tests want.
    • If you use ffprobe -show_packets to get sample offsets, you may need to add 4 to each pos value. You can tell if you need to by whether or not tests pass.

List of Test Files

four-colors.png

Generated using MSPaint like a true professional.

four-colors.avif

Lossless encoding must be used to ensure colors are perfect.

avifenc -l four-colors.png -o four-colors.avif

four-colors.webp

Lossless encoding must be used to ensure colors are perfect.

ffmpeg -i four-colors.png -lossless 1 -y four-colors.webp

four-colors-limited-range-420-8bpc.webp

ffmpeg -i four-colors.png -pix_fmt yuv420p four-colors-limited-range-420-8bpc.webp

four-colors.gif

High quality encoding must be used to ensure colors are perfect.

cp four-colors.png four-colors2.png
gifski -o four-colors.gif four-colors*.png

four-colors-flip.gif

High quality encoding must be used to ensure colors are perfect.

ffmpeg -i four-colors.png -vf "rotate=PI" four-colors2.png
gifski -o four-colors-flip.gif four-colors*.png

four-colors-flip.avif

ffmpeg -i four-colors-flip.gif -vcodec libaom-av1 -crf 16 four-colors-flip.mp4
mp4box -add-image ref:primary:tk=1:samp=1 -ab avis -ab avif -ab miaf -brand avis four-colors-flip.mp4 -out four-colors-flip.avif
mp4box -edits 1=r four-colors-flip.avif

four-colors-limited-range-(420|422|444)-8bpc.avif

avifenc -r l -d 8 -y 420 -s 0 four-colors.png four-colors-limited-range-420-8bpc.avif
avifenc -r l -d 8 -y 422 -s 0 four-colors.png four-colors-limited-range-422-8bpc.avif
avifenc -r l -d 8 -y 444 -s 0 four-colors.png four-colors-limited-range-444-8bpc.avif

four-colors-full-range-bt2020-pq-444-10bpc.avif

avifenc -r f -d 10 -y 444 -s 0 --nclx 9/16/9 four-colors.png four-colors-full-range-bt2020-pq-444-10bpc.avif

four-colors.jpg

Used Sqoosh.app with MozJPEG compression and RGB channels. exiftool was then used to add an orientation marker.

exiftool -Orientation=1 -n four-colors.jpg

four-colors-limited-range-420-8bpc.jpg

Used Sqoosh.app with MozJPEG compression and YUV channels. exiftool was then used to add an orientation marker.

exiftool -Orientation=1 -n four-colors-limited-range-420-8bpc.jpg

four-colors.mp4

Used a custom tool to convert four-colors.avif into a .mp4 file.

h264.mp4

ffmpeg -f lavfi -i testsrc=rate=10:n=1 -t 1 -pix_fmt yuv420p -vcodec h264 -tune zerolatency h264.mp4

h264.annexb

ffmpeg -i h264.mp4 -codec copy -bsf:v h264_mp4toannexb -f h264 h264.annexb

h265.mp4

ffmpeg -f lavfi -i testsrc=rate=10:n=1 -t 1 -pix_fmt yuv420p -vcodec hevc -tag:v hvc1 -tune zerolatency h265.mp4

h265.annexb

ffmpeg -i h265.mp4 -codec copy -bsf:v hevc_mp4toannexb -f hevc h265.annexb

sfx.adts

sox -n -r 48000 sfx.wav synth 1 sine 480
ffmpeg -i sfx.wav -frames:a 10 -acodec aac -b:a 96K sfx.adts

sfx-alaw.wav

sox -n -r 48000 sfx.wav synth 1 sine 480
ffmpeg -i sfx.wav -frames:a 10 -acodec pcm_alaw sfx-alaw.wav

sfx.mp3

sox -n -r 48000 sfx.wav synth 1 sine 480
ffmpeg -i sfx.wav -frames:a 10 -acodec libmp3lame -b:a 96K sfx.mp3

sfx-aac.mp4

sox -n -r 48000 sfx.wav synth 1 sine 480
ffmpeg -i sfx.wav -frames:a 10 -acodec aac -b:a 96K sfx-aac.mp4

sfx-mulaw.wav

sox -n -r 48000 sfx.wav synth 1 sine 480
ffmpeg -i sfx.wav -frames:a 10 -acodec pcm_mulaw sfx-mulaw.wav

sfx-opus.ogg

sox -n -r 48000 sfx.wav synth 1 sine 480
ffmpeg -i sfx.wav -frames:a 10 -acodec libopus -b:a 96K sfx-opus.ogg

av1.mp4

ffmpeg -f lavfi -i testsrc=rate=10:n=1 -t 1 -pix_fmt yuv420p -vcodec libaom-av1 av1.mp4

vp8.webm

ffmpeg -f lavfi -i testsrc=rate=10:n=1 -t 1 -pix_fmt yuv420p -vcodec vp8 vp8.webm

vp9.mp4

ffmpeg -f lavfi -i testsrc=rate=10:n=1 -t 1 -pix_fmt yuv420p -vcodec vp9 vp9.mp4