blob: c543c0c15ad75404e15a6177484afcd35c5279b6 [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 MODULES_VIDEO_CODING_SVC_SCALABILITY_MODE_UTIL_H_
12#define MODULES_VIDEO_CODING_SVC_SCALABILITY_MODE_UTIL_H_
13
14#include "absl/strings/string_view.h"
15#include "absl/types/optional.h"
16#include "api/video_codecs/scalability_mode.h"
Asa Perssoncde992d2022-05-16 22:37:34 +020017#include "api/video_codecs/video_codec.h"
Niels Möller79d566b2022-04-29 11:03:13 +020018
19namespace webrtc {
20
21absl::optional<ScalabilityMode> ScalabilityModeFromString(
22 absl::string_view scalability_mode_string);
23
24absl::string_view ScalabilityModeToString(ScalabilityMode scalability_mode);
25
Asa Perssoncde992d2022-05-16 22:37:34 +020026InterLayerPredMode ScalabilityModeToInterLayerPredMode(
27 ScalabilityMode scalability_mode);
28
Asa Persson26983532022-05-13 16:24:22 +020029int ScalabilityModeToNumSpatialLayers(ScalabilityMode scalability_mode);
30
Niels Möller05954892022-05-13 13:34:37 +020031int ScalabilityModeToNumTemporalLayers(ScalabilityMode scalability_mode);
32
Niels Möller79d566b2022-04-29 11:03:13 +020033} // namespace webrtc
34
35#endif // MODULES_VIDEO_CODING_SVC_SCALABILITY_MODE_UTIL_H_