dav1d doesn't deal correctly with trailing zeros at the end of an OBU
Dav1d is being more careful than it needs to be about trailing bits at the end of an OBU. A conformant stream can have more extra zeros than just padding to the next byte boundary (I think the libaom encoder doesn't do this).
On the other side, the dav1d code doesn't seem to check for overruns. It sets up the GetBits buffer (at the start of dav1d_parse_obus) to hold the size that we've read, but this can contain multiple OBUs. If we have two OBUs in our hands, which both claim to be 100 bytes long but the first OBU's contents cause us to read 150 bytes, we should probably spot the error, rather than starting to parse the second OBU 50 bytes late.
The attached patch fixes both of these problems. I'll also set up a merge request (if I can figure out the magic gitlab incantations), which should hopefully push the patch through VLC's CI systems.