Files
firefox/testing/web-platform/tests/webcodecs/vp8.webm
T
Dale Curtis 679cf5608d Bug 1715403 [wpt PR 29242] - [WebCodecs] Implement keyframe enforcement for flush, configure., a=testonly
Automatic update from web-platform-tests
[WebCodecs] Implement keyframe enforcement for flush, configure.

This change checks that the first encoded chunk after a flush() or
configure() is a keyframe. For AV1, VP8, VP9, and H.264 the
bitstream is analyzed to ensure the packet is actually a key frame.

Since Chromium doesn't have a Theora or xHE-AAC parser, no
analysis is done for those codecs beyond checking that the type
field is set to 'key'. On platforms without libvpx or libaom, we
will also skip bitstream analysis.

I originally wrote this change using the media::Vp8Parser and
media::Vp9Parser classes, but since they are not currently used
on Android that brings in 16k+ of binary size. As such I've
switched to using libvpx for bitstream analysis.

This change also adds AV1 and VP8 to our list of tested codecs.
This change also fixes an issue with the AudioEncoder where it
was marking all frames as delta frames instead of keyframes.

Fixed: 1213680
Change-Id: Ibd8fb9daeb6519c8a72aec66bdc4711261113e28
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2921021
Commit-Queue: Dale Curtis <[email protected]>
Reviewed-by: James Zern <[email protected]>
Reviewed-by: Chrome Cunningham <[email protected]>
Cr-Commit-Position: refs/heads/master@{#890463}

--

wpt-commits: b53f779b059f9c04c4f72555596fb754ac08274b
wpt-pr: 29242
2021-06-15 05:08:52 +00:00

12 KiB