KhronosGroup / KhronosGroup/Vulkan-Docs

h264 encode: `expectDyadicTemporalLayerPattern`

Open
#2,316 1 comment 0 reactions 1 assignee Claimed by @aqnuep View on GitHub
Video
Dominant language
JavaScript
Stars
3.3k
Forks
549
Avg merge
5d 5h
Merged PRs (30d)
2

Description

I'm a little confused about the field `expectDyadicTemporalLayerPattern` on `VkVideoEncodeH264CapabilitiesKHR`. Not much is written about it:

> expectDyadicTemporalLayerPattern indicates that the implementation’s rate control algorithms expect the application to use a [dyadic temporal layer pattern](https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#encode-h264-layer-pattern-dyadic) when encoding multiple temporal layers.

I haven't seen this flag set on any GPUs I've tested with. And it's not completely clear what the implications of it are, or the context with which it was added.

- If set, does that mean only dyadic structures may be used (and not pyramidal with B frames, I guess?)
- If not set, does that mean dyadic structures may *not* be used?
- Where are temporal layers specified in the `Std*` structures?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.