xref: /aosp_15_r20/external/webrtc/modules/video_coding/codecs/av1/av1_svc_config.h (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1 /* Copyright (c) 2020 The WebRTC project authors. All Rights Reserved.
2  *
3  *  Use of this source code is governed by a BSD-style license
4  *  that can be found in the LICENSE file in the root of the source
5  *  tree. An additional intellectual property rights grant can be found
6  *  in the file PATENTS.  All contributing project authors may
7  *  be found in the AUTHORS file in the root of the source tree.
8  */
9 
10 #ifndef MODULES_VIDEO_CODING_CODECS_AV1_AV1_SVC_CONFIG_H_
11 #define MODULES_VIDEO_CODING_CODECS_AV1_AV1_SVC_CONFIG_H_
12 
13 #include <vector>
14 
15 #include "absl/container/inlined_vector.h"
16 #include "api/video_codecs/video_codec.h"
17 
18 namespace webrtc {
19 
20 absl::InlinedVector<ScalabilityMode, kScalabilityModeCount>
21 LibaomAv1EncoderSupportedScalabilityModes();
22 
23 bool LibaomAv1EncoderSupportsScalabilityMode(ScalabilityMode scalability_mode);
24 
25 // Fills `video_codec.spatialLayers` using other members.
26 bool SetAv1SvcConfig(VideoCodec& video_codec,
27                      int num_temporal_layers,
28                      int num_spatial_layers);
29 
30 }  // namespace webrtc
31 
32 #endif  // MODULES_VIDEO_CODING_CODECS_AV1_AV1_SVC_CONFIG_H_
33