Comments on text of VP9 Bitstream & Decoding Process Specification v0.6
396 views
Skip to first unread message
Albert Liu
unread,
Nov 5, 2021, 7:38:37 PM11/5/21
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Codec Developers
Reading the VP9 spec went smoothly for the most part, however I had some comments:
3 Symbols (and abbreviated terms): SEG_LVL_*, DCT/ADST options, and reset_frame_context options could be expressed as enums.
3 Symbols (and abbreviated terms): Perhaps add symbols for the number of frame contexts, maximum number of subblocks per mode info, number of planes, and number of token types.
6.1 Frame syntax: Perhaps header_size_in_bytes could be renamed to compressed_header_bytes to avoid confusion with headerBytes.
6.2 Uncompressed header syntax: Many of the loop bounds in this call tree are expressed as integer literals rather than the corresponding symbols.
6.4.24 Token syntax: The variable Tokens is really the coefs derived from the tokens rather than the tokens themselves.
7.4.16 Token semantics: The names DCT_VAL_CAT1 etc. are used here, but in 9.3.1 Tree selection process, they are called DCT_VAL_CATEGORY1 etc.
9.3.2 Probability selection process: Under "The probability depends on the value of FrameIsIntra" the two cases are reversed. I.e. If FrameIsIntra is equal to 0, the non-keyframe probabilities should be used.
B.2.1 Superframe index: frame_sizes[ i ] is specified as having type f(SzBytes). However, f() is supposed to take in a number of bits, not a number of bytes. Furthermore, it appears that the bytes are supposed to be stored in little-endian order rather than the big-endian order implied by f().