Subject: [payload] Comments on draft-ietf-payload-vp9

From: "Timothy B. Terriberry" <[email-masked]>
Date: Wed, 29 Mar 2017 12:43:40 -0700

Jonathan Lennox and I sat down to work through some issues I had 
understanding the current VP9 RTP draft. What follows is a list of 
questions that did not have immediately obvious answers from the text in 
the draft, as well as a few other minor issues we noticed.

These may not be immediately comprehensible to people who weren't 
involved in the conversation (or haven't read the draft), but to the 
extent that they are we thought it better to share with the list.

1. What is a frame?

2. What is a picture?
    It's a super frame (probably).

3. Super frame means something else in the VP9 specification.

4. N_G indicates the numer of "frames"? What kind of frame?
    It's a super frame (probably).

5. GOF is a group of "Pictures", but not a GOP (it doesn't start with a 
keyframe).

6. Payload type != TP

7. P: should explicitly say it can still use inter-layer prediction.

8. Is a frame allowed to have zero references but not be a keyframe?
    According to the VP9 Specification, yes (but only if show_frame == 
0), but the draft does not have any way to represent this.

9. Someone should write down what "dependency" means and describe how 
probabilities work.

10. In order to describe how "dependencies" work, need to document the 
limitations on how the following fields must be set inside the VP9 
payload itself:

show_frame
frame_type
intra_only
error_resilient_mode
refresh_frame_idx
refresh_frame_flags
refresh_frame_context
reset_frame_context

11. Should provide an example of how to set up the dependencies for a 
set of spatial and temporal layers (including how to set things like 
frame_context_idx inside VP9).

12. "the T bit (described below) MUST also be set to 0..." but the T 
field is 2 bits wide.

13. Is temporal layer 0 the base layer? (this can kind of be inferred 
from "For the base layer frame with S equal to 0..." but that's spatial 
not temporal, and should probably be explicit for both)

14. What is a key picture?

15. While a VP9 frame can only have three reference frames, it can have 
a frame_context_idx that refers to a set of probabilities that came from 
a frame different from any of those three frames. So it may actually 
"depend" on four frames, which as written this draft cannot represent.