Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify frame rates when SVC is used #711

Open
henbos opened this issue Nov 29, 2022 · 1 comment
Open

Clarify frame rates when SVC is used #711

henbos opened this issue Nov 29, 2022 · 1 comment

Comments

@henbos
Copy link
Collaborator

henbos commented Nov 29, 2022

Depending on scalability mode, any given frame that is being encoded or sent can have one or more corresponding SVC layers.

The spec is not very clear if in the SVC case, the frame counters being counted for each frame refers to each temporal frame (input frame that was processed) or per unit of the SVC layer (a variable number of frames per input frame).

Should we clarify that each temporal frame is only counted once? For example framesSent can be reported as 90 fps in Chrome when SVC is used (3 active 30 fps layers), but it probably makes a lot more sense if this is reported as 30 fps.

@bc-lee
Copy link

bc-lee commented Nov 30, 2022

I think you are referring to the case with spatial scalability. I think the case of temporal scalability is fine.

For example, consider L2T3 with an input case of 30 fps. Image
Each spatial layer consists of three temporal layers. TL0 is 7.5 fps, TL1 is 15 fps and TL3 is 30 fps.
This results in an encoded frame with three different temporal layers that repeat: TL0 - TL2 - TL1 - TL2.

In this case, all temporal layers should be counted when calculating frames.

For spatial layers, I agree that they should report at 30 fps. In libwebrtc's code, codec_info == nullptr || The codec_info->end_of_picture condition (link) would be enough, but I'm not sure how to write it in specification terms. (Probably something like this: For SVC, it returns the total number of frames in the top active spatial layer.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants