But first, a comment on the spec itself.
The spec consists largely of C code copy-pasted from the VP8
source code — up to and including TODOs, “optimizations”, and
even C-specific hacks, such as workarounds for the undefined
behavior of signed right shift on negative numbers. In many places
it is simply outright opaque. Copy-pasted C code is not a spec.
I may have complained about the H.264 spec being overly verbose,
but at least it’s precise. The VP8 spec, by comparison, is
imprecise, unclear, and overly short, leaving many portions of the
format very vaguely explained. Some parts even explicitly refuse
to fully explain a particular feature, pointing to
highly-optimized, nigh-impossible-to-understand reference code for
an explanation. There’s no way in hell anyone could write a
decoder solely with this spec alone.