Automatic update from web-platform-tests
Limit webcodecs/audio-data-copyTo.any.js to dedicatedworker instead of worker (#60361)
Apply review comment from Youenn that was missed in my previous PR.
--
wpt-commits: 9ddbfb1f94a093cd4824380ecab9e5741313f4bc
wpt-pr: 60361
Automatic update from web-platform-tests
Upstream webcodecs/audio-data-copyTo.any.js from WebKit (#60357)
This test was introduced in https://commits.webkit.org/296217@main
but never upstreamed.
--
wpt-commits: b3f253e60c3b292ba8d0659ed8dc9f989fbccd19
wpt-pr: 60357
Some animated GIFs have a first-frame delay of zero (or no Graphic Control Extension for the first frame). The metadata decoder terminates after parsing the first frame's image descriptor without ever encountering a second frame, so it reports the image as non-animated. Previously, `AnonymousDecoderImpl` would trust this result, set `frameCount=1`/`frameCountComplete=true`, and destroy the frame count task. This caused `ImageDecoder` to return zero for frame count making code running it consider the GIF to be non-animated, differing from the rendering result when such a GIF presents in DOM.
The fix always runs the frame count task after metadata completes, even when the metadata decoder reported non-animated. The frame count task does a full parse (with `COUNT_FRAMES` flag) and will discover additional frames. If it finds more than one frame, we update the animated flag before resolving the metadata promise to `ImageDecoder`.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Differential Revision: https://phabricator.services.mozilla.com/D298735
Automatic update from web-platform-tests
[WebCodecs] Route 4:4:4 H.264 content to the software decoder.
As with https://crrev.com/c/7115500, hardware support for 4:4:4 H.264
is rare. Instead route this content to the software decoder. Also like
the linked issue, we can only do this for AVC formatted content since
we need the SPS/PPS information to determine this.
R=eugene
Fixed: 503709314
Change-Id: If2a68fd8a5dad274b2a101a934c2d4d9e1e0d702
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7818666
Reviewed-by: Eugene Zemtsov <[email protected]>
Commit-Queue: Eugene Zemtsov <[email protected]>
Auto-Submit: Dale Curtis <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1625926}
--
wpt-commits: 05637f455968b011be7566e7e0a14e49ae00fe63
wpt-pr: 59684
Automatic update from web-platform-tests
[WebCodecs] Route interlaced H.264 content to the software decoder
None of our hardware decoders support interlaced decoding, so we
should route this content to the software decoder.
The wrinkle is that there's no information in the codec string
which would tell us that the content is interlaced. For AVC content
we can peek at the description, but for annex-b content we won't
know until the first decode() call.
Given how rare this content is, it's not worth holding all annex-b
configure() calls until the first decode().
As such, this fix only works for AVC formatted content, annex-b
content will continue to throw a decoding error; though I've
promoted the DVLOG to a DLOG to help identify this case more
quickly in the future.
Bug: 456919096
Change-Id: I8a5578e3abdf6a018316931f883796d84f080d8b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7115500
Commit-Queue: Dale Curtis <[email protected]>
Reviewed-by: Eugene Zemtsov <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1541313}
--
wpt-commits: ba6d2f9a0c3bbe8fa7f28df932f4de31cf19d91a
wpt-pr: 55919
Automatic update from web-platform-tests
[WebCodecs] Fix AV1 corruption test so dav1d actually fails
Test data was insufficiently corrupted, so dav1d just treats it as
partial data and expects more data to come. This change increases
the corruption of chunks.
R=eugene
Change-Id: Ia3eeea8faaf9dafe53a0a7fd3c148821fbc91f1d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7102887
Reviewed-by: Eugene Zemtsov <[email protected]>
Commit-Queue: Dale Curtis <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1538882}
--
wpt-commits: fac3072726a3cd157d4442698276ccf4bf4dd150
wpt-pr: 55773
Automatic update from web-platform-tests
Ensure SEI test properly marks EncodedVideoChunks as keyframes.
This also reveals that Chromium overrides the type==delta when
the underlying encoded data is actually a key frame. Filed
https://crbug.com/456164625 for that.
R=eugene
Bug: 451536366
Change-Id: I880cd1765706efd450eb3ec7e3b29ac4a5d3d7a1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7098762
Commit-Queue: Dale Curtis <[email protected]>
Reviewed-by: Eugene Zemtsov <[email protected]>
Commit-Queue: Eugene Zemtsov <[email protected]>
Auto-Submit: Dale Curtis <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1537685}
--
wpt-commits: aa2cdab77e17a8acacf44771312774978e242b3d
wpt-pr: 55757
Automatic update from web-platform-tests
Support H.264 SEI recovery points as keyframes
H.264 SEI recovery points with a recovery_frame_cnt=0 are well
supported as keyframes throughout our pipeline. ffmpeg has support
and our hardware decoders have exposed support since 2021. With
Safari and Firefox both supporting these as keyframes, we should
move to add support as well.
Bug: 451536366
Change-Id: I268e060559724fd92c7f53ebb3aa5cee6ed1e3ac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7082888
Commit-Queue: Dale Curtis <[email protected]>
Reviewed-by: Eugene Zemtsov <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1536952}
--
wpt-commits: 9ab188bddfef32d970a8ae38d02577d29d61af7b
wpt-pr: 55741
Automatic update from web-platform-tests
Separate Encoder Decoder Flush() promises to improve reliability
This is to make sure we do not flush the decoder until the encoder is
completely flushed. This will improve the reliability of the test.
Bug: 40243924
Change-Id: I96f89a8d54e00a8c46eeb04a5f9b6ad1c44b7c74
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6966926
Reviewed-by: Thomas Guilbert <[email protected]>
Commit-Queue: Syed AbuTalib <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1517521}
--
wpt-commits: 0d0199a406fae5eebd0dc7129867c0006db97eb7
wpt-pr: 54937
Automatic update from web-platform-tests
Add WPTs to cover all valid Opus frame durations
According to RFC6716 section 2.1.4, "[Opus] can also combine multiple
frames into packets". This means that packets such as 7.5ms (3 * 2.5ms
packets) are considered valid frame durations. This CL adds valid frame
durations that are not of the standard durations.
Bug: 40243924
Change-Id: Iea0e6ebcebfda68ed4fdd8cc144494d51532d9a4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6952086
Reviewed-by: Thomas Guilbert <[email protected]>
Auto-Submit: Syed AbuTalib <[email protected]>
Commit-Queue: Syed AbuTalib <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1516965}
--
wpt-commits: 7342619635eccfa4aa6e87c025aac2614674dca6
wpt-pr: 54915
Automatic update from web-platform-tests
[WebCodecs] Ensure aborted configure continues request processing
With the right timing an aborted configure could leave the request
queue hanging forever if no additional operations come in after
the aborted configure. The fix is simply that we should continue
request processing after dropping the aborted configure request.
R=eugene
Fixed: 444065293
Change-Id: I4e50e7e2204d0602ca009b5e50823a5977ab6cb8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6938997
Auto-Submit: Dale Curtis <[email protected]>
Reviewed-by: Eugene Zemtsov <[email protected]>
Commit-Queue: Eugene Zemtsov <[email protected]>
Commit-Queue: Dale Curtis <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1514506}
--
wpt-commits: a4bbabd683561a7d5df7204b19d36575a17c73e9
wpt-pr: 54818
Automatic update from web-platform-tests
[WebCodecs] Implement high-bit-depth YUV decoding for ImageDecoder
This was forgotten after we added support for high-bit-depth pixel
formats some time ago. Support is only added for AVIF since the
other image decoders decode to float16 instead of YUV, and we don't
have plans to support a software float16 pixel format at this time.
Bug: 40215121
Change-Id: Ifc1e222b50622bce2e85f1871236e753264f7772
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6829051
Reviewed-by: Eugene Zemtsov <[email protected]>
Reviewed-by: Wan-Teh Chang <[email protected]>
Commit-Queue: Dale Curtis <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1502991}
--
wpt-commits: 42a7b3e07cfebc2dfe30468034c3852e857d9eda
wpt-pr: 54393
Automatic update from web-platform-tests
Fix I444P10 VideoFrame construction and extend test coverage
A copy/paste error mapped I444 to I422. This was uncaught since the
VideoFrame tests didn't check the returned format. Per the current
spec text, format shifting isn't allowed, so the format must match.
R=eugene
Fixed: 425901172
Change-Id: I45e378fe176c541018933b00dbac832e9ca2ee90
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6669718
Reviewed-by: Eugene Zemtsov <[email protected]>
Auto-Submit: Dale Curtis <[email protected]>
Commit-Queue: Eugene Zemtsov <[email protected]>
Commit-Queue: Dale Curtis <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1478230}
--
wpt-commits: 03405138c984b7119a79eb375a236c07a0e2b198
wpt-pr: 53374
Automatic update from web-platform-tests
[webcodecs] Test non zero timestamps (#52062)
* Test AudioDecoder with a positive timestamp
* Verify AudioDecoder copies the initial timestamp
* Fix typo in AudioDecoder test description
--
wpt-commits: cc89a3c0ee45a990e9c7fcb7a597b51ac3c547ed
wpt-pr: 52062
Automatic update from web-platform-tests
webcodecs: Use visible size instead of coded size in video rescaling WPT
VideoFrame.copyTo() uses visible size and it's a mistake to assume
that coded size is always the same as visible size.
Bug: 404887295
Change-Id: I1ace9d944d4920a30ba8967b5cb08305d3f4adbc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6386530
Reviewed-by: Thomas Guilbert <[email protected]>
Commit-Queue: Eugene Zemtsov <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1437076}
--
wpt-commits: 1960f7d0132625698b80681577f265587cb4be26
wpt-pr: 51564
Automatic update from web-platform-tests
Update video-decoder-no-size-in-configure to only check visible rect
The coded size of decoded frames is not guaranteed, it may vary based
on whatever the decoder thinks is appropriate for decoding. The visible
size is what should remain constant across an encode / decode cycle.
R=eugene
Fixed: 404905693
Change-Id: I21a80d35a130232eb0f720e4e880503334a31c0a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6378425
Commit-Queue: Eugene Zemtsov <[email protected]>
Auto-Submit: Dale Curtis <[email protected]>
Reviewed-by: Eugene Zemtsov <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1435672}
--
wpt-commits: dadeb9b1027c75d48c61e960a10973c1edc1c0b9
wpt-pr: 51504
Automatic update from web-platform-tests
Implement VideoEncoder orientation support.
This assumes the spec text will be written to say the following:
* The first frame after a configure() will lock in the orientation.
* Calling configure() again will reset the orientation metadata.
* If subsequent frames mismatch on orientation encode() will throw
a non-fatal exception.
R=eugene
Bug: 40243431
Change-Id: Id9d68f036e34fd5c697a49921c853c4f199195f2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6311293
Reviewed-by: Eugene Zemtsov <[email protected]>
Commit-Queue: Eugene Zemtsov <[email protected]>
Commit-Queue: Dale Curtis <[email protected]>
Auto-Submit: Dale Curtis <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1435163}
--
wpt-commits: 96e039f795d305842397e32fbfc06604a2faa36e
wpt-pr: 51479
Automatic update from web-platform-tests
Fix VideoFrame construction for non-default visibleRects.
When constructing from a buffer source, VideoFrame construction was
not properly taking the visible data into account. This is always
tricky to get right, so instead of replicating fragile code, the
fix just lets media::VideoFrame handle all the work.
A new web platform test is added to verify the correct behavior.
R=eugene
Fixed: 402171646
Change-Id: I6860a4dee3347c9cb1975028abd0049c5e90374c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6341248
Reviewed-by: Eugene Zemtsov <[email protected]>
Commit-Queue: Eugene Zemtsov <[email protected]>
Auto-Submit: Dale Curtis <[email protected]>
Commit-Queue: Dale Curtis <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1430997}
--
wpt-commits: 3ea11d8a827d92546668780e1827eeb32b1a85bc
wpt-pr: 51264
Automatic update from web-platform-tests
Update four-colors-flip.avif (#50792)
The existing file was not compliant because the track
had a handler type of "vide" instead of "pict".
Compliance Warden reports the following error:
[avif][Rule #10] Error: Primary item that is an AV1 image item found,
but no track with 'pict' handler found.
--
wpt-commits: 00061c894620734c21a3f314558dafd5e4a4e798
wpt-pr: 50792
Automatic update from web-platform-tests
WPT tests: Remove use of never-shipped APIs
Some WPT tests use the ImageDataSettings {storageFormat:"uint8"} API.
This never shipped.
Some WPT tests also use the PredefinedColorSpace "rec2020". This, too,
never shipped.
Bug: 40277213
Change-Id: Ie99cc6bba6dc59986157e12447b21a8cc9cc16f9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6253238
Reviewed-by: Philip Jägenstedt <[email protected]>
Commit-Queue: ccameron chromium <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1420403}
--
wpt-commits: fad8d1b80a9e290bdeb1c7c2fa30f969cf1c4922
wpt-pr: 50710
Automatic update from web-platform-tests
Implement orientation support for WebCodecs VideoDecoder.
This implements the current spec language by copying the provided
transform from the VideoDecoderConfig to each output frame. See
https://github.com/w3c/webcodecs/pull/874 for spec details.
As part of this, the codec specific wpt test code is split into
its own file to make adding new tests (to avoid breaking interop
agreements).
R=eugene
Bug: 327625558
Change-Id: I7c96007a27a634c8da80b72266171c8e13645e46
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6221543
Commit-Queue: Dale Curtis <[email protected]>
Reviewed-by: Eugene Zemtsov <[email protected]>
Reviewed-by: Mason Freed <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1418353}
--
wpt-commits: e905cf1339f0f65cbd8c063f4699aaeae4126587
wpt-pr: 50618
Automatic update from web-platform-tests
[rust png] Legacy codec: Report failure for truncated, complete input.
This CL modifies `blink::PNGImageDecoder` to call `SetFailed` when
working with a truncated, complete input. Before this CL the code
has incorrectly treated this situation as recoverable.
After this CL, the behavior of `blink::PNGImageDecoder` matches that
of `blink::SkiaImageDecoderBase`. Aligning the behavior it the main
motivation for this CL.
Bug: chromium:391701378
Change-Id: I499a69da6994659ea03dc93967779f691436d0d2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6191776
Reviewed-by: Peter Kasting <[email protected]>
Reviewed-by: Dale Curtis <[email protected]>
Commit-Queue: Łukasz Anforowicz <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1410559}
--
wpt-commits: 2ec2b730952d6145b9c16156207bd026a66cc736
wpt-pr: 50253
This patch introduces a new WPT verifying that `VideoDecoder` can decode
data without providing an image size during `configure()` step. Although
the issue was initially observed with the VP8 decoder
(FFmpegVideoDecoder via libvpx), the test applies to all supported
codecs, ensuring robust behavior across different decoder
implementations.
Differential Revision: https://phabricator.services.mozilla.com/D232914
This patch fixes a crash that occurs when a codec string with leading
spaces is passed to `VideoEncoder::IsConfigSupported`.
The crash happens because `VideoEncoderConfigInternal::ToEncoderConfig`
assumes that its codec string member begins with a supported codec name
(which should be non-space character). When the codec string has leading
spaces, this assumption is invalidated, leading to a crash.
To resolve this issue, the patch removes the space-trimming in
`CanEncode` and calling `IsSupportedVideoCodec` with the given codec
string directly before `ToEncoderConfig`. By doing so, codec strings
with leading spaces are correctly identified as "unsupported", and
`ToEncoderConfig` is not invoked with invalid input, preventing the
crash.
Additionally, this patch adds a WPT to ensure that codec string
containing spaces are reported as "unsupported" and the no crash occurs
when such strings are processed.
Differential Revision: https://phabricator.services.mozilla.com/D231719
This patch updates AudioEncoder to return "unsupported" for codec
strings containing spaces, consistent with the approach taken in the
preceding patch.
By moving `IsSupportedAudioCodec` to `CanEncode` and removing the
unnecessary codec string trimming, AudioEncoder now behaves as expected
since codec string with spaces fails to pass `IsSupportedAudioCodec`'s
check.
A WPT is also added to verify that AudioEncoder returns "unsupported"
when passing codec strings that contains spaces to `IsConfigSupported`
or `configure`.
Differential Revision: https://phabricator.services.mozilla.com/D231718
This patch updates AudioDecoder to return "unsupported" for codec
strings containing spaces, consistent with the approach taken in the
preceding patch.
As part of this update, the `AudioMIMECreateParam` class is removed
since there is no longer a need to trim spaces from codec strings. Any
codec string containing spaces is immediately considered "unsupported".
Additionally, this patch adds a WPT to verify that AudioDecoder
correctly returns "unsupported" for codec strings with spaces, ensuring
the decoder behaves as expected.
Differential Revision: https://phabricator.services.mozilla.com/D231717
Previously, codec strings containing spaces were trimmed, and
VideoDecoder would report them as "supported". However, per changes
introduced in PR #48870 [1], such codec strings, while "valid" in terms
of syntax, should be considered "unsupported" by the VideoDecoder.
Given that codec strings with spaces should be marked as "unsupported",
it's unnecessary to parse these codec strings before checking if they
are supported video codecs. The underlying checking method reports codec
strings containing spaces as "unsupported", naturally aligning with the
expected behavior.
[1] https://github.com/web-platform-tests/wpt/pull/48870
Differential Revision: https://phabricator.services.mozilla.com/D231716
Automatic update from web-platform-tests
Add vorbis test case
--
Ignore *.ogg files when linting
--
Remove whitespace
--
Use full config when checking for codec support
--
Handle priming samples discarded by vorbis
--
Add accidentially removed handling for unsupported codecs
--
Explain description for vorbis codec
--
wpt-commits: b5ddbed0d2e23772f881adae6adda75d1c438a41, c6f16338bd4a855f7f3a1400199447dc67bfb024, 9b889f5013eda0ee6bf77669303595946f8b3536, 98347e02f86af09f5c0068ccbe26e8581d08694e, d6dd417771d3bb27e098ad0534375f6c288963b9, 4c4211933dc921706e8287ab6433c8f568635f9a, 550fb109615cf434b03b30b76aa0dea6bfb0ebe1
wpt-pr: 47429
Automatic update from web-platform-tests
Move 'valid codec with spaces' to validButUnsupportedConfigs configs (#48870)
* Move 'valid codec with spaces' to validButUnsupported configs
UA is not expected to support codec strings with whitespaces around it, even though it's a valid config.
* Remove trailing whitespaces at line 100
--
wpt-commits: 30ee69b644196db4964bc2597d6aad7d37e3beed
wpt-pr: 48870
This patch adds rescaling support to WMFMediaDataEncoder.
It fixes distorted Images when rescaling.
Furthermore, wpt tests are added to find similar errors on other platforms.
Includes revisions by chunmin
Differential Revision: https://phabricator.services.mozilla.com/D225445
This patch prevents adding the SPS and PPS present in extradata WMFMediaDataEncoder,
if the data already contains SPS and PPS. Otherwise, the resulting Byte stream would
not be spec complained and be rejected by Chromium, for example.
It also includes a WPT test.
Differential Revision: https://phabricator.services.mozilla.com/D226985
Automatic update from web-platform-tests
Move 'valid codec with spaces' to validButUnsupportedConfigs configs (#48870)
* Move 'valid codec with spaces' to validButUnsupported configs
UA is not expected to support codec strings with whitespaces around it, even though it's a valid config.
* Remove trailing whitespaces at line 100
--
wpt-commits: 30ee69b644196db4964bc2597d6aad7d37e3beed
wpt-pr: 48870
Automatic update from web-platform-tests
webcodecs: Fix plane size for VideoFrames that transfer ArrayBuffers
Before this change we would lose the last row of I420 frames with an odd
number of rows.
Bug: 379066963
Change-Id: I19c1459984645eda718e7e84fd3ccb773fea1f45
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6026685
Reviewed-by: Dale Curtis <[email protected]>
Commit-Queue: Eugene Zemtsov <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1383923}
--
wpt-commits: 100af9edd3180d28901b566c3f5ae4c8ddd36d7d
wpt-pr: 49210
Automatic update from web-platform-tests
Bump maximum video frame size by one bit.
This increases the maximum canvas size from 268,435,456 or roughly
16384x16384 to 536,870,911 or roughly 23170x23170. This increase
still allows us to represent up to 8 bytes per pixel (which matches
our largest pixel formats) without overflowing a uint32_t.
This also updates the file to use inline constexpr per the
presubmit check and adds tests for these allocation limits.
Fixed: 374807001
Change-Id: I7eef8b488fa758bfcd0202917469d585724e23ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5955549
Commit-Queue: Eugene Zemtsov <[email protected]>
Auto-Submit: Dale Curtis <[email protected]>
Reviewed-by: Eugene Zemtsov <[email protected]>
Commit-Queue: Dale Curtis <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1372466}
--
wpt-commits: 9220b4d4810e89642f7b21609cee40de875ebce8
wpt-pr: 48766
Due to the ongoing discussion in issue 832 [1], which has not yet
reached a consensus among all parties, the AAC-without-description WPT
introduced in the previous patch should be relocated to the *mozilla*
folder under WPT. This ensures that the test remains specific to Mozilla
and avoids unintentionally causing failures in other browers' test
suites.
[1] https://github.com/w3c/webcodecs/issues/832
Differential Revision: https://phabricator.services.mozilla.com/D222712