Bringing WebM Alpha support to GStreamer
summary
Retro alpha uses two VP8/VP9 tracks packed into WebM with a per-frame block addition flagged by an alpha mode tag so the second stream carries luma-as-alpha. GStreamer maps that to a boolean codec-alpha caps field and stores the extra buffer in gst_video_codec_alpha_meta, adds a zero‑copy alpha-combine element and vp9-alpha decode bin (plus V4L2 stateless wrappers and a nv12+alpha pixel format) so software and hardware decoding work; streams must match resolution and timing and hardware must decode two concurrent streams.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 1:00Welcome
- 1:23Who is Nicolas
- 3:27What are tenures
- 5:22WebM Alpha
- 6:54WebM Container
- 10:01Prior considerations
- 14:22Block Addition
- 16:02CodecAlphaDemax
- 16:46AlphaCombine
- 18:52NV12 format
- 20:26Decoders
- 21:57Demo
- 26:31Webkit
- 30:54Launching a demo
- 32:21Hardware acceleration considerations
- 37:04Questions
related talks
31mAV1 Update
33mMozilla and AV1
33mogv.js: Rebuilding the Web Video Stack From Scratch in JS
26mNew video coding techniques under consideration for VP10 - the successor to VP9
12mExploring Video Editing in the Browser
21mReal-Time Video Super Resolution for Live Streaming with WebGPU
20mStreaming video in the browser without patents
50m“The Upside Down” of the web, Video
