VP8 Video
VP8 is an 8-bit 4:2:0 video coding format associated with WebM and real-time web media.
A web recording can contain a changing foreground over a mostly stable background. If every new picture used only the immediately preceding one, the best view of an uncovered background region might have disappeared behind the foreground.
VP8 provides three logical reference roles so its predictor can use more than that immediately preceding view.
| Reference role | Purpose in reconstruction |
|---|---|
| Last | A retained recent reconstructed picture |
| Golden | A picture retained separately for later reuse |
| Altref | An alternate retained picture available for prediction |
These are decoder reference roles, not three independently selectable video tracks.
Retain a useful view
Suppose a decoded picture shows the whole wall. The encoder can preserve it in a golden reference while later displayed pictures show a person crossing in front of it. When a wall region becomes visible again, a predictor can use the retained wall samples instead of the recently obscured region.
The bitstream tells the decoder which available reference to select for each relevant block and which motion information locates its samples. A coded residual supplies the changes needed for the current picture.
VP8 divides picture work into 16 × 16 macroblocks with smaller block operations. Its common reconstructed sample representation is 8-bit 4:2:0. Integer reconstruction rules, transforms, quantization, and filtering define the result that later prediction will reuse.
Refresh the reference state
A decoded frame can replace the last, golden, or alternate reference according to the stream's update instructions. A picture retained as golden need not be replaced just because another picture has been shown.
A keyframe establishes independently reconstructed content and refreshes the relevant reference state. Initially several logical roles can refer to the same newly reconstructed picture. Their later updates create the differing views used for prediction.
This makes reference updating part of decoding. A picture is not simply forgotten after display; the next blocks may still need its samples.
Decode a frame without showing it
VP8 has a show_frame flag. A coded frame can reconstruct useful reference content while not becoming a displayed picture at that point.
The decoder still performs its work and can retain the result. Later visible frames can predict from that state. Counting coded frames and counting displayed pictures therefore answer different questions.
An output timeline is supplied by the surrounding media system. WebM is a common wrapper for VP8, carrying timestamps and other tracks. The coded reference operations and the container's scheduling cooperate to produce the recording.
RFC 6386 documents the format and decoding process as an informational publication. It also says the supplied reference decoder takes precedence over conflicting narrative. This is the appropriate specification context when following the technical details.
See Also
- VP9 Video
- How Video Codecs Affect Playback Compatibility
- Inter-Frame Video Prediction
- Containers and Codecs