blob: 262e7ced7b807caf21cf4f7268defc63d37b0e57 [file] [log] [blame]
Niels Möller79d566b2022-04-29 11:03:13 +02001/*
2 * Copyright (c) 2022 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#ifndef API_VIDEO_CODECS_SCALABILITY_MODE_H_
12#define API_VIDEO_CODECS_SCALABILITY_MODE_H_
13
14namespace webrtc {
15
16// Supported scalability modes. Most applications should use the
17// PeerConnection-level apis where scalability mode is represented as a string.
18// This list of currently recognized modes is intended for the api boundary
19// between webrtc and injected encoders. Any application usage outside of
20// injected encoders is strongly discouraged.
21enum class ScalabilityMode {
22 kL1T1,
23 kL1T2,
Niels Möller3b048132022-05-05 14:37:05 +020024 kL1T2h,
Niels Möller79d566b2022-04-29 11:03:13 +020025 kL1T3,
Niels Möller3b048132022-05-05 14:37:05 +020026 kL1T3h,
Niels Möller79d566b2022-04-29 11:03:13 +020027 kL2T1,
28 kL2T1h,
29 kL2T1_KEY,
30 kL2T2,
Niels Möller3b048132022-05-05 14:37:05 +020031 kL2T2h,
Niels Möller79d566b2022-04-29 11:03:13 +020032 kL2T2_KEY,
33 kL2T2_KEY_SHIFT,
Niels Möller3b048132022-05-05 14:37:05 +020034 kL2T3,
35 kL2T3h,
Niels Möller79d566b2022-04-29 11:03:13 +020036 kL2T3_KEY,
37 kL3T1,
Niels Möller3b048132022-05-05 14:37:05 +020038 kL3T1h,
39 kL3T1_KEY,
40 kL3T2,
41 kL3T2h,
42 kL3T2_KEY,
Niels Möller79d566b2022-04-29 11:03:13 +020043 kL3T3,
Niels Möller3b048132022-05-05 14:37:05 +020044 kL3T3h,
Niels Möller79d566b2022-04-29 11:03:13 +020045 kL3T3_KEY,
46 kS2T1,
47 kS3T3,
48};
49
50} // namespace webrtc
51#endif // API_VIDEO_CODECS_SCALABILITY_MODE_H_