LeviLamina
Loading...
Searching...
No Matches
VideoEncoder.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/VideoFrameType.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace webrtc { class EncodedImageCallback; }
11namespace webrtc { class FecControllerOverride; }
12namespace webrtc { class VideoCodec; }
13namespace webrtc { class VideoFrame; }
14// clang-format on
15
16namespace webrtc {
17
19public:
20 // VideoEncoder inner types declare
21 // clang-format off
22 struct Capabilities;
23 struct LossNotification;
24 struct QpThresholds;
27 struct ScalingSettings;
28 struct EncoderInfo;
29 struct Settings;
30 // clang-format on
31
32 // VideoEncoder inner types define
33 struct Capabilities {
34 public:
35 // member variables
36 // NOLINTBEGIN
38 // NOLINTEND
39
40 public:
41 // prevent constructor by default
42 Capabilities& operator=(Capabilities const&);
43 Capabilities(Capabilities const&);
44 Capabilities();
45 };
46
47 struct LossNotification {
48 public:
49 // member variables
50 // NOLINTBEGIN
55 // NOLINTEND
56
57 public:
58 // prevent constructor by default
59 LossNotification& operator=(LossNotification const&);
60 LossNotification(LossNotification const&);
61 LossNotification();
62 };
63
64 struct QpThresholds {
65 public:
66 // member variables
67 // NOLINTBEGIN
70 // NOLINTEND
71
72 public:
73 // prevent constructor by default
74 QpThresholds& operator=(QpThresholds const&);
75 QpThresholds(QpThresholds const&);
76 QpThresholds();
77 };
78
79 struct RateControlParameters {
80 public:
81 // member variables
82 // NOLINTBEGIN
87 // NOLINTEND
88
89 public:
90 // prevent constructor by default
91 RateControlParameters& operator=(RateControlParameters const&);
92 RateControlParameters(RateControlParameters const&);
93 RateControlParameters();
94
95 public:
96 // virtual functions
97 // NOLINTBEGIN
98 virtual ~RateControlParameters() = default;
99 // NOLINTEND
100 };
101
102 struct ResolutionBitrateLimits {
103 public:
104 // member variables
105 // NOLINTBEGIN
110 // NOLINTEND
111
112 public:
113 // prevent constructor by default
114 ResolutionBitrateLimits& operator=(ResolutionBitrateLimits const&);
115 ResolutionBitrateLimits(ResolutionBitrateLimits const&);
116 ResolutionBitrateLimits();
117 };
118
119 struct ScalingSettings {
120 public:
121 // ScalingSettings inner types declare
122 // clang-format off
123 struct KOff;
124 // clang-format on
125
126 // ScalingSettings inner types define
127 struct KOff {};
128
129 public:
130 // member variables
131 // NOLINTBEGIN
134 // NOLINTEND
135
136 public:
137 // prevent constructor by default
138 ScalingSettings& operator=(ScalingSettings const&);
139 ScalingSettings(ScalingSettings const&);
140 ScalingSettings();
141 };
142
143 struct EncoderInfo {
144 public:
145 // member variables
146 // NOLINTBEGIN
160 // NOLINTEND
161
162 public:
163 // prevent constructor by default
164 EncoderInfo& operator=(EncoderInfo const&);
165 EncoderInfo(EncoderInfo const&);
166 EncoderInfo();
167 };
168
169 struct Settings {
170 public:
171 // member variables
172 // NOLINTBEGIN
177 // NOLINTEND
178
179 public:
180 // prevent constructor by default
181 Settings& operator=(Settings const&);
182 Settings(Settings const&);
183 Settings();
184 };
185
186public:
187 // virtual functions
188 // NOLINTBEGIN
189 virtual ~VideoEncoder() = default;
190
191 virtual void SetFecControllerOverride(::webrtc::FecControllerOverride*);
192
193 virtual int InitEncode(::webrtc::VideoCodec const*, int, uint64);
194
195 virtual int InitEncode(::webrtc::VideoCodec const*, ::webrtc::VideoEncoder::Settings const&);
196
197 virtual int RegisterEncodeCompleteCallback(::webrtc::EncodedImageCallback*) = 0;
198
199 virtual int Release() = 0;
200
201 virtual int Encode(::webrtc::VideoFrame const&, ::std::vector<::webrtc::VideoFrameType> const*) = 0;
202
203 virtual void SetRates(::webrtc::VideoEncoder::RateControlParameters const&) = 0;
204
205 virtual void OnPacketLossRateUpdate(float);
206
207 virtual void OnRttUpdate(int64);
208
209 virtual void OnLossNotification(::webrtc::VideoEncoder::LossNotification const&);
210
211 virtual ::webrtc::VideoEncoder::EncoderInfo GetEncoderInfo() const = 0;
212 // NOLINTEND
213};
214
215} // namespace webrtc
Definition EncodedImageCallback.h:13
Definition FecControllerOverride.h:7
Definition VideoCodec.h:7
Definition VideoEncoder.h:18
Definition VideoFrame.h:16
Definition Alias.h:14
Definition VideoEncoder.h:33
Definition VideoEncoder.h:143
Definition VideoEncoder.h:47
Definition VideoEncoder.h:64
Definition VideoEncoder.h:127
Definition VideoEncoder.h:119
Definition VideoEncoder.h:169