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
159 // NOLINTEND
160
161 public:
162 // prevent constructor by default
163 EncoderInfo& operator=(EncoderInfo const&);
164 EncoderInfo(EncoderInfo const&);
165 EncoderInfo();
166 };
167
168 struct Settings {
169 public:
170 // member variables
171 // NOLINTBEGIN
176 // NOLINTEND
177
178 public:
179 // prevent constructor by default
180 Settings& operator=(Settings const&);
181 Settings(Settings const&);
182 Settings();
183 };
184
185public:
186 // virtual functions
187 // NOLINTBEGIN
188 virtual ~VideoEncoder() = default;
189
190 virtual void SetFecControllerOverride(::webrtc::FecControllerOverride*);
191
192 virtual int InitEncode(::webrtc::VideoCodec const*, int, uint64);
193
194 virtual int InitEncode(::webrtc::VideoCodec const*, ::webrtc::VideoEncoder::Settings const&);
195
196 virtual int RegisterEncodeCompleteCallback(::webrtc::EncodedImageCallback*) = 0;
197
198 virtual int Release() = 0;
199
200 virtual int Encode(::webrtc::VideoFrame const&, ::std::vector<::webrtc::VideoFrameType> const*) = 0;
201
202 virtual void SetRates(::webrtc::VideoEncoder::RateControlParameters const&) = 0;
203
204 virtual void OnPacketLossRateUpdate(float);
205
206 virtual void OnRttUpdate(int64);
207
208 virtual void OnLossNotification(::webrtc::VideoEncoder::LossNotification const&);
209
210 virtual ::webrtc::VideoEncoder::EncoderInfo GetEncoderInfo() const = 0;
211 // NOLINTEND
212
213public:
214 // virtual function thunks
215 // NOLINTBEGIN
216
217 // NOLINTEND
218};
219
220} // 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:168