Agora C++ API Reference for All Platforms

video_config_i.h
1 //
2 // Agora Media SDK
3 //
4 // Created by Rao Qi in 2019-05.
5 // Copyright (c) 2019 Agora IO. All rights reserved.
6 //
7 #pragma once
8
9 #include <cstdint>
10 #include <sstream>
11 #include <string>
12
13 #include "AgoraBase.h"
14 #include "AgoraOptional.h"
15
16 #if defined(WEBRTC_WIN)
17 #define NEW_LINE "\r\n"
18 #else
19 #define NEW_LINE "\n"
20 #endif
21
22 namespace agora {
23 namespace rtc {
24
25 struct VideoConfigurationEx {
26 public:
27 // do NOT add any default value here
28 VideoConfigurationEx() = default;
29 ~VideoConfigurationEx() = default;
30 void SetAll(const VideoConfigurationEx& change) {
31 #define SET_FROM(X) SetFrom(&X, change.X)
32
33 SET_FROM(codec_type);
34 SET_FROM(h265_screen_enable);
35 SET_FROM(frame_width);
36 SET_FROM(frame_height);
37 SET_FROM(frame_rate);
38 SET_FROM(start_bitrate);
39 SET_FROM(target_bitrate);
40 SET_FROM(min_bitrate);
41 SET_FROM(max_bitrate);
42 SET_FROM(actual_max_bitrate);
43 SET_FROM(orientation_mode);
44 SET_FROM(number_of_temporal_layers);
45 SET_FROM(simulcast_stream_number_of_temporal_layers);
46 SET_FROM(number_of_bframe_temporal_layers);
47 SET_FROM(sps_data);
48 SET_FROM(pps_data);
49 SET_FROM(h264_profile);
50 SET_FROM(adaptive_op_mode);
51 SET_FROM(number_of_spatial_layers);
52 SET_FROM(flexible_mode);
53 SET_FROM(interlayer_pred);
54 SET_FROM(num_of_encoder_cores);
55 SET_FROM(degradation_preference);
56 SET_FROM(fps_down_step);
57 SET_FROM(fps_up_step);
58 SET_FROM(vqc_version);
59 SET_FROM(vqc_force_use_version);
60 SET_FROM(overuse_detector_version);
61 //TODO(kefan) these vqc parameters should placed in MediaEngineParameterCollection
62 SET_FROM(vqc_quick_adaptNetwork);
63 SET_FROM(vqc_min_framerate);
64 SET_FROM(vqc_settings_by_resolution);
65 SET_FROM(vqc_min_holdtime_auto_resize_zoomin);
66 SET_FROM(vqc_min_holdtime_auto_resize_zoomout);
67 SET_FROM(vqc_qp_adjust);
68 SET_FROM(vqc_ios_h265_adjust);
69 SET_FROM(vqc_res_min_width);
70 SET_FROM(vqc_res_min_height);
71 SET_FROM(min_qp);
72 SET_FROM(max_qp);
73 SET_FROM(frame_max_size);
74 SET_FROM(fec_fix_rate);
75 SET_FROM(quick_response_intra_request);
76 SET_FROM(fec_method);
77 SET_FROM(enable_pvc);
78 SET_FROM(pvc_max_support_resolution);
79 SET_FROM(enable_pvc_verify);
80 SET_FROM(enable_sr_verify);
81 SET_FROM(sr_verify_type);
82 SET_FROM(color_space_enable);
83 SET_FROM(videoFullrange);
84 SET_FROM(matrixCoefficients);
85 SET_FROM(enable_sr);
86 SET_FROM(sr_type);
87 SET_FROM(save_encode_bitrate);
88 SET_FROM(save_encode_bitrate_minor_stream);
89 SET_FROM(save_encode_bitrate_params);
90
91 SET_FROM(complexity);
92 SET_FROM(denoising_on);
93 SET_FROM(automatic_resize_on);
94 SET_FROM(frame_dropping_on);
95 SET_FROM(has_intra_request);
96 SET_FROM(key_frame_interval);
97 SET_FROM(entropy_coding_mode_flag);
98 SET_FROM(loop_filter_disable_idc);
99 SET_FROM(background_detection_on);
100 SET_FROM(posted_frames_waiting_for_encode);
101 SET_FROM(bitrate_adjust_ratio);
102 SET_FROM(minbitrate_ratio);
103 SET_FROM(quality_scale_only_on_average_qp);
104 SET_FROM(h264_qp_thresholds_low);
105 SET_FROM(h264_qp_thresholds_high);
106 SET_FROM(dec_mosreport);
107 SET_FROM(reset_bitrate_ratio);
108 SET_FROM(reset_framerate_ratio);
109 SET_FROM(enable_hw_decoder);
110 SET_FROM(enable_background_hw_decode);
111 SET_FROM(hw_decoder_provider);
112 SET_FROM(decoder_thread_num);
113 SET_FROM(low_stream_enable_hw_encoder);
114 SET_FROM(enable_hw_encoder);
115 SET_FROM(force_hw_encoder);
116 SET_FROM(hw_encoder_provider);
117 SET_FROM(default_enable_hwenc_win32);
118 SET_FROM(hwenc_blacklist);
119 SET_FROM(hwdec_blacklist);
120 SET_FROM(av_enc_codec_type);
121 SET_FROM(av_enc_common_quality);
122 SET_FROM(av_enc_common_rate_control_mode);
123 SET_FROM(vdm_not_override_lua_smallvideo_not_use_hwenc_policy);
124 SET_FROM(enable_video_sender_frame_dropper);
125 SET_FROM(enable_video_qoe_assess);
126 SET_FROM(h264_hw_min_res_level);
127 SET_FROM(av_enc_video_max_slices);
128 SET_FROM(video_encoder_rc_limit_value);
129 SET_FROM(video_encoder_rc_scene);
130 SET_FROM(video_encoder_impair_net_ref_opt);
131 SET_FROM(av_sw_enc_dump_frame_info);
132 SET_FROM(vp8_enc_switch);
133 SET_FROM(av1_dec_enable);
134 SET_FROM(h265_dec_enable);
135 SET_FROM(av1_camera_enable);
136 SET_FROM(av1_screen_enable);
137 SET_FROM(av1_feedback_enable);
138 SET_FROM(enc_scc_enable);
139 SET_FROM(major_stream_encoder_thread_num);
140 SET_FROM(minor_stream_encoder_thread_num);
141 SET_FROM(enable_change_encoder_profile);
142 SET_FROM(minscore_for_swh265enc);
143 SET_FROM(min_enc_level);
144 SET_FROM(wz265_dec_enable);
145
146 SET_FROM(enable_video_vpr);
147 SET_FROM(video_vpr_init_size);
148 SET_FROM(video_vpr_max_size);
149 SET_FROM(video_vpr_frozen_ms_thres);
150 SET_FROM(video_vpr_frozen_rate_thres);
151 SET_FROM(video_vpr_method);
152 SET_FROM(video_vpr_adaptive_thres);
153 SET_FROM(retrans_detect_enable);
154 SET_FROM(use_sent_ts_enable);
155 SET_FROM(enable_minor_stream_intra_request);
156 SET_FROM(video_rotation);
157 SET_FROM(scale_type);
158 SET_FROM(scc_auto_framerate);
159 SET_FROM(scc_quality_opt);
160 SET_FROM(video_render_d3d9_texture);
161 SET_FROM(video_render_d3d9_render_mode);
162 SET_FROM(video_render_buffer_queue_size);
163 SET_FROM(video_render_vsync_switch);
164 SET_FROM(video_force_texture_to_i420);
165 SET_FROM(video_windows_capture_to_texture);
166 SET_FROM(video_android_capturer_copy_enable);
167 SET_FROM(video_enable_high_definition_strategy);
168 SET_FROM(av_enc_video_width_alignment);
169 SET_FROM(av_enc_video_height_alignment);
170 SET_FROM(av_enc_video_enable_dequeue_timewait);
171 SET_FROM(av_enc_video_adjustment_reset);
172 SET_FROM(av_enc_video_force_alignment);
173 SET_FROM(av_dec_texture_copy_enable);
174 SET_FROM(av_dec_output_byte_frame);
175 SET_FROM(av_dec_output_byte_frame_resolution_product_thres);
176 SET_FROM(av_dec_video_hwdec_config);
177 SET_FROM(av_enc_video_hwenc_config);
178 SET_FROM(av_enc_hw_hevc_exceptions);
179 SET_FROM(av_dec_hw_hevc_exceptions);
180 SET_FROM(av_enc_hw_exceptions);
181 SET_FROM(av_dec_sw_a264_enable);
182
183 SET_FROM(av_enc_video_use_a264);
184 SET_FROM(av_enc_video_qp_parser_skip);
185 SET_FROM(video_clarity_analysis_flag);
186 SET_FROM(av_enc_video_enable_roi);
187 SET_FROM(roi_max_qp);
188 SET_FROM(roi_qp_offset);
189 SET_FROM(av_enc_vmaf_calc);
190 SET_FROM(video_enc_min_scc_auto_framerate);
191 SET_FROM(av_enc_profiling);
192 SET_FROM(av_enc_param_config);
193 SET_FROM(video_resolution_auto_adjust_param);
194 SET_FROM(av_enc_advanced_param_config);
195 SET_FROM(av_enc_screen_sharing_subclass);
196
197 SET_FROM(enable_iptos);
198
199 SET_FROM(key_frame_interval_intra_request);
200 SET_FROM(video_switch_soft_decoder_threshold);
201 SET_FROM(min_encode_keyframe_interval);
202 SET_FROM(bFrames);
203 SET_FROM(enable_bframe);
204 SET_FROM(enable_bframe_h265);
205 SET_FROM(bitrate_ceiling_ratio);
206 SET_FROM(video_skip_enable);
207 SET_FROM(av_enc_new_complexity);
208 SET_FROM(av_enc_default_complexity);
209 SET_FROM(av_enc_intra_key_interval);
210 SET_FROM(key_force_device_score);
211 SET_FROM(av_enc_bitrate_adjustment_type);
212 SET_FROM(use_single_slice_parser);
213 SET_FROM(enable_parser_reject);
214
215 SET_FROM(av_enc_send_sei_alpha);
216 SET_FROM(av_enc_alpha_data_codec_type);
217 SET_FROM(av_enc_alpha_data_scale_mode);
218 SET_FROM(av_enc_encode_alpha);
219 SET_FROM(enable_hw_encoder_quickly_start);
220 SET_FROM(initial_hw_encoder_quickly_start);
221 SET_FROM(fake_enc_error_code);
222 SET_FROM(enable_smooth_enc_codec_change);
223
224 SET_FROM(direct_cdn_streaming_h264_profile);
225 SET_FROM(fps_est_window_size_ms);
226 SET_FROM(default_enable_hw_encoder);
227 SET_FROM(use_keyframe_type_from_parser);
228 SET_FROM(frame_glitching_detect_level);
229 SET_FROM(simulcast_stream_bitrate_string);
230 SET_FROM(enable_follow_major_stream);
231 SET_FROM(major_minor_stream_resolution_ratio);
232 SET_FROM(enable_performance_gating);
233 SET_FROM(enable_minor_stream_codec_follow_major_stream);
234 SET_FROM(enable_instant_streaming_mode);
235 SET_FROM(enable_fast_first_remote_draw);
236 SET_FROM(max_all_intra_encode_time);
237 #undef SET_FROM
238 }
239
240 bool operator==(const VideoConfigurationEx& o) const {
241 #define BEGIN_COMPARE() bool b = true
242 #define ADD_COMPARE(X) b = (b && (X == o.X))
243 #define END_COMPARE()
244
245 BEGIN_COMPARE();
246 ADD_COMPARE(codec_type);
247 ADD_COMPARE(h265_screen_enable);
248 ADD_COMPARE(frame_width);
249 ADD_COMPARE(frame_height);
250 ADD_COMPARE(frame_rate);
251 ADD_COMPARE(start_bitrate);
252 ADD_COMPARE(target_bitrate);
253 ADD_COMPARE(min_bitrate);
254 ADD_COMPARE(orientation_mode);
255 ADD_COMPARE(number_of_temporal_layers);
256 ADD_COMPARE(simulcast_stream_number_of_temporal_layers);
257 ADD_COMPARE(number_of_bframe_temporal_layers);
258 ADD_COMPARE(sps_data);
259 ADD_COMPARE(pps_data);
260 ADD_COMPARE(h264_profile);
261 ADD_COMPARE(adaptive_op_mode);
262 ADD_COMPARE(number_of_spatial_layers);
263 ADD_COMPARE(flexible_mode);
264 ADD_COMPARE(interlayer_pred);
265 ADD_COMPARE(num_of_encoder_cores);
266 ADD_COMPARE(degradation_preference);
267 ADD_COMPARE(fps_down_step);
268 ADD_COMPARE(fps_up_step);
269 ADD_COMPARE(vqc_version);
270 ADD_COMPARE(vqc_force_use_version);
271 ADD_COMPARE(overuse_detector_version);
272 //TODO(kefan) these vqc parameters should placed in MediaEngineParameterCollection
273 ADD_COMPARE(vqc_quick_adaptNetwork);
274 ADD_COMPARE(vqc_min_framerate);
275 ADD_COMPARE(vqc_settings_by_resolution);
276 ADD_COMPARE(vqc_min_holdtime_auto_resize_zoomin);
277 ADD_COMPARE(vqc_min_holdtime_auto_resize_zoomout);
278 ADD_COMPARE(vqc_qp_adjust);
279 ADD_COMPARE(vqc_ios_h265_adjust);
280 ADD_COMPARE(vqc_res_min_width);
281 ADD_COMPARE(vqc_res_min_height);
282 ADD_COMPARE(min_qp);
283 ADD_COMPARE(max_qp);
284 ADD_COMPARE(frame_max_size);
285 ADD_COMPARE(fec_fix_rate);
286 ADD_COMPARE(quick_response_intra_request);
287 ADD_COMPARE(fec_method);
288 ADD_COMPARE(enable_pvc);
289 ADD_COMPARE(pvc_max_support_resolution);
290 ADD_COMPARE(enable_pvc_verify);
291 ADD_COMPARE(enable_sr_verify);
292 ADD_COMPARE(sr_verify_type);
293 ADD_COMPARE(enable_sr);
294 ADD_COMPARE(sr_type);
295 ADD_COMPARE(save_encode_bitrate);
296 ADD_COMPARE(save_encode_bitrate_minor_stream);
297 ADD_COMPARE(save_encode_bitrate_params);
298
299 ADD_COMPARE(complexity);
300 ADD_COMPARE(denoising_on);
301 ADD_COMPARE(automatic_resize_on);
302 ADD_COMPARE(frame_dropping_on);
303 ADD_COMPARE(has_intra_request);
304 ADD_COMPARE(key_frame_interval);
305 ADD_COMPARE(entropy_coding_mode_flag);
306 ADD_COMPARE(loop_filter_disable_idc);
307 ADD_COMPARE(background_detection_on);
308 ADD_COMPARE(posted_frames_waiting_for_encode);
309 ADD_COMPARE(bitrate_adjust_ratio);
310 ADD_COMPARE(minbitrate_ratio);
311 ADD_COMPARE(quality_scale_only_on_average_qp);
312 ADD_COMPARE(h264_qp_thresholds_low);
313 ADD_COMPARE(h264_qp_thresholds_high);
314 ADD_COMPARE(dec_mosreport);
315 ADD_COMPARE(reset_bitrate_ratio);
316 ADD_COMPARE(reset_framerate_ratio);
317 ADD_COMPARE(enable_hw_decoder);
318 ADD_COMPARE(enable_background_hw_decode);
319 ADD_COMPARE(hw_decoder_provider);
320 ADD_COMPARE(decoder_thread_num);
321 ADD_COMPARE(low_stream_enable_hw_encoder);
322 ADD_COMPARE(enable_hw_encoder);
323 ADD_COMPARE(force_hw_encoder);
324 ADD_COMPARE(hw_encoder_provider);
325 ADD_COMPARE(av_enc_codec_type);
326 ADD_COMPARE(av_enc_common_quality);
327 ADD_COMPARE(av_enc_common_rate_control_mode);
328 ADD_COMPARE(scc_auto_framerate);
329 ADD_COMPARE(scc_quality_opt);
330 ADD_COMPARE(video_render_d3d9_texture);
331 ADD_COMPARE(video_render_d3d9_render_mode);
332 ADD_COMPARE(video_render_buffer_queue_size);
333 ADD_COMPARE(video_render_vsync_switch);
334 ADD_COMPARE(video_force_texture_to_i420);
335 ADD_COMPARE(video_windows_capture_to_texture);
336 ADD_COMPARE(video_android_capturer_copy_enable);
337 ADD_COMPARE(video_enable_high_definition_strategy);
338 ADD_COMPARE(vdm_not_override_lua_smallvideo_not_use_hwenc_policy);
339 ADD_COMPARE(enable_video_sender_frame_dropper);
340 ADD_COMPARE(enable_video_qoe_assess);
341 ADD_COMPARE(h264_hw_min_res_level);
342 ADD_COMPARE(av_enc_video_max_slices);
343 ADD_COMPARE(video_encoder_rc_limit_value);
344 ADD_COMPARE(video_encoder_rc_scene);
345 ADD_COMPARE(video_encoder_impair_net_ref_opt);
346 ADD_COMPARE(av_sw_enc_dump_frame_info);
347 ADD_COMPARE(vp8_enc_switch);
348 ADD_COMPARE(h265_dec_enable);
349 ADD_COMPARE(av1_dec_enable);
350 ADD_COMPARE(av1_camera_enable);
351 ADD_COMPARE(av1_feedback_enable);
352 ADD_COMPARE(av1_screen_enable);
353 ADD_COMPARE(enc_scc_enable);
354 ADD_COMPARE(major_stream_encoder_thread_num);
355 ADD_COMPARE(minor_stream_encoder_thread_num);
356 ADD_COMPARE(color_space_enable);
357 ADD_COMPARE(videoFullrange);
358 ADD_COMPARE(matrixCoefficients);
359
360 ADD_COMPARE(min_enc_level);
361 ADD_COMPARE(minscore_for_swh265enc);
362 ADD_COMPARE(default_enable_hwenc_win32);
363 ADD_COMPARE(hwenc_blacklist);
364 ADD_COMPARE(hwdec_blacklist);
365 ADD_COMPARE(enable_change_encoder_profile);
366 ADD_COMPARE(wz265_dec_enable);
367
368 ADD_COMPARE(enable_video_vpr);
369 ADD_COMPARE(video_vpr_init_size);
370 ADD_COMPARE(video_vpr_max_size);
371 ADD_COMPARE(video_vpr_frozen_ms_thres);
372 ADD_COMPARE(video_vpr_frozen_rate_thres);
373 ADD_COMPARE(video_vpr_method);
374 ADD_COMPARE(video_vpr_adaptive_thres);
375 ADD_COMPARE(av_enc_intra_key_interval);
376 ADD_COMPARE(key_force_device_score);
377 ADD_COMPARE(av_enc_bitrate_adjustment_type);
378 ADD_COMPARE(retrans_detect_enable);
379 ADD_COMPARE(use_sent_ts_enable);
380 ADD_COMPARE(enable_minor_stream_intra_request);
381 ADD_COMPARE(video_rotation);
382 ADD_COMPARE(scale_type);
383 ADD_COMPARE(av_enc_video_use_a264);
384 ADD_COMPARE(av_enc_video_qp_parser_skip);
385 ADD_COMPARE(video_clarity_analysis_flag);
386 ADD_COMPARE(av_enc_video_enable_roi);
387 ADD_COMPARE(roi_max_qp);
388 ADD_COMPARE(roi_qp_offset);
389 ADD_COMPARE(av_enc_vmaf_calc);
390 ADD_COMPARE(video_enc_min_scc_auto_framerate);
391 ADD_COMPARE(av_enc_profiling);
392 ADD_COMPARE(av_enc_param_config);
393 ADD_COMPARE(video_resolution_auto_adjust_param);
394 ADD_COMPARE(av_enc_advanced_param_config);
395 ADD_COMPARE(av_enc_screen_sharing_subclass);
396 ADD_COMPARE(av_enc_video_width_alignment);
397 ADD_COMPARE(av_enc_video_height_alignment);
398 ADD_COMPARE(av_enc_video_force_alignment);
399 ADD_COMPARE(av_enc_video_enable_dequeue_timewait);
400 ADD_COMPARE(av_enc_video_adjustment_reset);
401 ADD_COMPARE(av_dec_texture_copy_enable);
402 ADD_COMPARE(av_dec_output_byte_frame);
403 ADD_COMPARE(av_dec_output_byte_frame_resolution_product_thres);
404
405 ADD_COMPARE(enable_iptos);
406
407 ADD_COMPARE(key_frame_interval_intra_request);
408 ADD_COMPARE(video_switch_soft_decoder_threshold);
409 ADD_COMPARE(min_encode_keyframe_interval);
410 ADD_COMPARE(bFrames);
411 ADD_COMPARE(enable_bframe);
412 ADD_COMPARE(enable_bframe_h265);
413 ADD_COMPARE(video_skip_enable);
414 ADD_COMPARE(av_enc_new_complexity);
415 ADD_COMPARE(av_enc_default_complexity);
416 ADD_COMPARE(use_single_slice_parser);
417 ADD_COMPARE(av_enc_video_hwenc_config);
418 ADD_COMPARE(av_dec_video_hwdec_config);
419 ADD_COMPARE(av_enc_hw_hevc_exceptions);
420 ADD_COMPARE(av_dec_hw_hevc_exceptions);
421 ADD_COMPARE(av_enc_hw_exceptions);
422 ADD_COMPARE(av_dec_sw_a264_enable);
423 ADD_COMPARE(enable_parser_reject);
424 ADD_COMPARE(direct_cdn_streaming_h264_profile);
425
426 ADD_COMPARE(av_enc_send_sei_alpha);
427 ADD_COMPARE(av_enc_alpha_data_codec_type);
428 ADD_COMPARE(av_enc_alpha_data_scale_mode);
429 ADD_COMPARE(av_enc_encode_alpha);
430 ADD_COMPARE(enable_hw_encoder_quickly_start);
431 ADD_COMPARE(initial_hw_encoder_quickly_start);
432 ADD_COMPARE(fake_enc_error_code);
433 ADD_COMPARE(enable_smooth_enc_codec_change);
434 ADD_COMPARE(fps_est_window_size_ms);
435 ADD_COMPARE(default_enable_hw_encoder);
436 ADD_COMPARE(use_keyframe_type_from_parser);
437 ADD_COMPARE(frame_glitching_detect_level);
438 ADD_COMPARE(simulcast_stream_bitrate_string);
439 ADD_COMPARE(enable_follow_major_stream);
440 ADD_COMPARE(major_minor_stream_resolution_ratio);
441 ADD_COMPARE(enable_performance_gating);
442 ADD_COMPARE(enable_minor_stream_codec_follow_major_stream);
443 ADD_COMPARE(enable_instant_streaming_mode);
444 ADD_COMPARE(enable_fast_first_remote_draw);
445 ADD_COMPARE(max_all_intra_encode_time);
446 END_COMPARE();
447
448 #undef BEGIN_COMPARE
449 #undef ADD_COMPARE
450 #undef END_COMPARE
451 return b;
452 }
453
454 bool operator!=(const VideoConfigurationEx& o) const { return !(*this == o); }
455
456 std::string ToString() const {
457 #define ADD_STRING(X) ost << ToStringIfSet(#X, X)
458
459 std::ostringstream ost;
460 ADD_STRING(codec_type);
461 ADD_STRING(h265_screen_enable);
462 ADD_STRING(frame_width);
463 ADD_STRING(frame_height);
464 ADD_STRING(frame_rate);
465 ADD_STRING(start_bitrate);
466 ADD_STRING(target_bitrate);
467 ADD_STRING(min_bitrate);
468 ADD_STRING(max_bitrate);
469 ADD_STRING(actual_max_bitrate);
470 ADD_STRING(orientation_mode);
471 ADD_STRING(number_of_temporal_layers);
472 ADD_STRING(simulcast_stream_number_of_temporal_layers);
473 ADD_STRING(number_of_bframe_temporal_layers);
474 ADD_STRING(sps_data);
475 ADD_STRING(pps_data);
476 ADD_STRING(h264_profile);
477 ADD_STRING(adaptive_op_mode);
478 ADD_STRING(number_of_spatial_layers);
479 ADD_STRING(flexible_mode);
480 ADD_STRING(interlayer_pred);
481 ADD_STRING(num_of_encoder_cores);
482 ADD_STRING(degradation_preference);
483 ADD_STRING(fps_down_step);
484 ADD_STRING(fps_up_step);
485 ADD_STRING(vqc_version);
486 ADD_STRING(vqc_force_use_version);
487 ADD_STRING(overuse_detector_version);
488 //TODO(kefan) these vqc parameters should placed in MediaEngineParameterCollection
489 ADD_STRING(vqc_quick_adaptNetwork);
490 ADD_STRING(vqc_min_framerate);
491 ADD_STRING(vqc_settings_by_resolution);
492 ADD_STRING(vqc_min_holdtime_auto_resize_zoomin);
493 ADD_STRING(vqc_min_holdtime_auto_resize_zoomout);
494 ADD_STRING(vqc_qp_adjust);
495 ADD_STRING(vqc_ios_h265_adjust);
496 ADD_STRING(vqc_res_min_width);
497 ADD_STRING(vqc_res_min_height);
498 ADD_STRING(min_qp);
499 ADD_STRING(max_qp);
500 ADD_STRING(frame_max_size);
501 ADD_STRING(fec_fix_rate);
502 ADD_STRING(quick_response_intra_request);
503 ADD_STRING(fec_method);
504 ADD_STRING(enable_pvc);
505 ADD_STRING(pvc_max_support_resolution);
506 ADD_STRING(enable_pvc_verify);
507 ADD_STRING(enable_sr_verify);
508 ADD_STRING(sr_verify_type);
509 ADD_STRING(enable_sr);
510 ADD_STRING(sr_type);
511
512 ADD_STRING(complexity);
513 ADD_STRING(denoising_on);
514 ADD_STRING(automatic_resize_on);
515 ADD_STRING(frame_dropping_on);
516 ADD_STRING(has_intra_request);
517 ADD_STRING(key_frame_interval);
518 ADD_STRING(entropy_coding_mode_flag);
519 ADD_STRING(loop_filter_disable_idc);
520 ADD_STRING(background_detection_on);
521 ADD_STRING(posted_frames_waiting_for_encode);
522 ADD_STRING(bitrate_adjust_ratio);
523 ADD_STRING(minbitrate_ratio);
524 ADD_STRING(quality_scale_only_on_average_qp);
525 ADD_STRING(h264_qp_thresholds_low);
526 ADD_STRING(h264_qp_thresholds_high);
527 ADD_STRING(dec_mosreport);
528 ADD_STRING(reset_bitrate_ratio);
529 ADD_STRING(reset_framerate_ratio);
530 ADD_STRING(enable_hw_decoder);
531 ADD_STRING(enable_background_hw_decode);
532 ADD_STRING(hw_decoder_provider);
533 ADD_STRING(decoder_thread_num);
534 ADD_STRING(low_stream_enable_hw_encoder);
535 ADD_STRING(enable_hw_encoder);
536 ADD_STRING(force_hw_encoder);
537 ADD_STRING(hw_encoder_provider);
538 ADD_STRING(av_enc_codec_type);
539 ADD_STRING(av_enc_common_quality);
540 ADD_STRING(av_enc_common_rate_control_mode);
541 ADD_STRING(vdm_not_override_lua_smallvideo_not_use_hwenc_policy);
542 ADD_STRING(enable_video_sender_frame_dropper);
543 ADD_STRING(enable_video_qoe_assess);
544 ADD_STRING(h264_hw_min_res_level);
545 ADD_STRING(av_enc_video_max_slices);
546 ADD_STRING(video_encoder_rc_limit_value);
547 ADD_STRING(video_encoder_rc_scene);
548 ADD_STRING(video_encoder_impair_net_ref_opt);
549 ADD_STRING(av_sw_enc_dump_frame_info);
550 ADD_STRING(vp8_enc_switch);
551 ADD_STRING(h265_dec_enable);
552 ADD_STRING(av1_dec_enable);
553 ADD_STRING(av1_camera_enable);
554 ADD_STRING(av1_feedback_enable);
555 ADD_STRING(av1_screen_enable);
556 ADD_STRING(enc_scc_enable);
557 ADD_STRING(major_stream_encoder_thread_num);
558 ADD_STRING(minor_stream_encoder_thread_num);
559 ADD_STRING(save_encode_bitrate);
560 ADD_STRING(save_encode_bitrate_minor_stream);
561 ADD_STRING(save_encode_bitrate_params);
562
563 ADD_STRING(min_enc_level);
564 ADD_STRING(minscore_for_swh265enc);
565 ADD_STRING(default_enable_hwenc_win32);
566 ADD_STRING(hwenc_blacklist);
567 ADD_STRING(hwdec_blacklist);
568 ADD_STRING(enable_change_encoder_profile);
569
570 ADD_STRING(wz265_dec_enable);
571
572 ADD_STRING(color_space_enable);
573 ADD_STRING(videoFullrange);
574 ADD_STRING(matrixCoefficients);
575
576 ADD_STRING(enable_video_vpr);
577 ADD_STRING(video_vpr_init_size);
578 ADD_STRING(video_vpr_max_size);
579 ADD_STRING(video_vpr_frozen_ms_thres);
580 ADD_STRING(video_vpr_frozen_rate_thres);
581 ADD_STRING(video_vpr_method);
582 ADD_STRING(video_vpr_adaptive_thres);
583 ADD_STRING(retrans_detect_enable);
584 ADD_STRING(use_sent_ts_enable);
585 ADD_STRING(enable_minor_stream_intra_request);
586 ADD_STRING(video_rotation);
587 ADD_STRING(scale_type);
588 ADD_STRING(scc_auto_framerate);
589 ADD_STRING(scc_quality_opt);
590 ADD_STRING(video_render_d3d9_texture);
591 ADD_STRING(video_render_d3d9_render_mode);
592 ADD_STRING(video_render_buffer_queue_size);
593 ADD_STRING(video_render_vsync_switch);
594 ADD_STRING(video_force_texture_to_i420);
595 ADD_STRING(video_windows_capture_to_texture);
596 ADD_STRING(video_android_capturer_copy_enable);
597 ADD_STRING(video_enable_high_definition_strategy);
598 ADD_STRING(av_enc_video_width_alignment);
599 ADD_STRING(av_enc_video_height_alignment);
600 ADD_STRING(av_enc_video_force_alignment);
601 ADD_STRING(av_enc_video_enable_dequeue_timewait);
602 ADD_STRING(av_enc_video_adjustment_reset);
603 ADD_STRING(av_dec_texture_copy_enable);
604 ADD_STRING(av_dec_output_byte_frame);
605 ADD_STRING(av_dec_output_byte_frame_resolution_product_thres);
606 ADD_STRING(av_dec_video_hwdec_config);
607 ADD_STRING(av_enc_video_hwenc_config);
608 ADD_STRING(av_enc_hw_hevc_exceptions);
609 ADD_STRING(av_dec_hw_hevc_exceptions);
610 ADD_STRING(av_enc_hw_exceptions);
611 ADD_STRING(av_dec_sw_a264_enable);
612
613 ADD_STRING(av_enc_video_use_a264);
614 ADD_STRING(av_enc_video_qp_parser_skip);
615 ADD_STRING(video_clarity_analysis_flag);
616 ADD_STRING(av_enc_video_enable_roi);
617 ADD_STRING(roi_max_qp);
618 ADD_STRING(roi_qp_offset);
619 ADD_STRING(av_enc_vmaf_calc);
620 ADD_STRING(video_enc_min_scc_auto_framerate);
621 ADD_STRING(av_enc_profiling);
622 ADD_STRING(av_enc_param_config);
623 ADD_STRING(video_resolution_auto_adjust_param);
624 ADD_STRING(av_enc_advanced_param_config);
625 ADD_STRING(av_enc_screen_sharing_subclass);
626
627 ADD_STRING(enable_iptos);
628
629 ADD_STRING(key_frame_interval_intra_request);
630 ADD_STRING(video_switch_soft_decoder_threshold);
631 ADD_STRING(min_encode_keyframe_interval);
632 ADD_STRING(bFrames);
633 ADD_STRING(enable_bframe);
634 ADD_STRING(enable_bframe_h265);
635 ADD_STRING(video_skip_enable);
636 ADD_STRING(av_enc_new_complexity);
637 ADD_STRING(av_enc_default_complexity);
638 ADD_STRING(av_enc_intra_key_interval);
639 ADD_STRING(key_force_device_score);
640 ADD_STRING(av_enc_bitrate_adjustment_type);
641 ADD_STRING(use_single_slice_parser);
642 ADD_STRING(enable_parser_reject);
643
644 ADD_STRING(direct_cdn_streaming_h264_profile);
645 ADD_STRING(av_enc_send_sei_alpha);
646 ADD_STRING(av_enc_alpha_data_codec_type);
647 ADD_STRING(av_enc_alpha_data_scale_mode);
648 ADD_STRING(av_enc_encode_alpha);
649 ADD_STRING(enable_hw_encoder_quickly_start);
650 ADD_STRING(initial_hw_encoder_quickly_start);
651 ADD_STRING(fake_enc_error_code);
652 ADD_STRING(enable_smooth_enc_codec_change);
653 ADD_STRING(fps_est_window_size_ms);
654 ADD_STRING(default_enable_hw_encoder);
655 ADD_STRING(use_keyframe_type_from_parser);
656 ADD_STRING(frame_glitching_detect_level);
657 ADD_STRING(simulcast_stream_bitrate_string);
658 ADD_STRING(enable_follow_major_stream);
659 ADD_STRING(major_minor_stream_resolution_ratio);
660 ADD_STRING(enable_performance_gating);
661 ADD_STRING(enable_minor_stream_codec_follow_major_stream);
662 ADD_STRING(enable_instant_streaming_mode);
663 ADD_STRING(enable_fast_first_remote_draw);
664 ADD_STRING(max_all_intra_encode_time);
665
666 #undef ADD_STRING
667 std::string ret = ost.str();
668 auto index = ret.rfind(",");
669 if (index != ret.npos) {
670 ret = ret.substr(0, index);
671 ret += NEW_LINE;
672 }
673
674 return "{" NEW_LINE + ret + "}";
675 }
676
677 Optional<int> codec_type;
678 Optional<int> h265_screen_enable;
679 Optional<int> frame_width;
680 Optional<int> frame_height;
681 Optional<int> frame_rate;
682 Optional<int> start_bitrate;
683 Optional<int> target_bitrate;
684 Optional<int> min_bitrate;
685 Optional<int> max_bitrate;
686 Optional<int> actual_max_bitrate;
687 Optional<int> orientation_mode;
688 Optional<uint8_t> number_of_temporal_layers;
689 Optional<uint8_t> (number_of_bframe_temporal_layers);
690 Optional<std::string> sps_data;
691 Optional<std::string> pps_data;
692 Optional<int> h264_profile;
693 Optional<bool> adaptive_op_mode;
694 Optional<uint8_t> number_of_spatial_layers;
695 Optional<bool> flexible_mode;
696 Optional<int> interlayer_pred;
697 Optional<int> num_of_encoder_cores;
698 Optional<int> degradation_preference;
699 Optional<int> fps_down_step;
700 Optional<int> fps_up_step;
701 Optional<int> vqc_version;
702 Optional<int> vqc_force_use_version;
703 Optional<int> overuse_detector_version;
704 //TODO(kefan) these vqc parameters should placed in MediaEngineParameterCollection
705 Optional<bool> vqc_quick_adaptNetwork;
706 Optional<int> vqc_min_framerate;
707 Optional<std::string> vqc_settings_by_resolution;
708 Optional<int> vqc_min_holdtime_auto_resize_zoomin;
709 Optional<int> vqc_min_holdtime_auto_resize_zoomout;
710 Optional<int> vqc_qp_adjust;
711 Optional<int> vqc_ios_h265_adjust;
712 Optional<int> vqc_res_min_width;
713 Optional<int> vqc_res_min_height;
714 Optional<int> (min_qp);
715 Optional<int> (max_qp);
716 Optional<int> (frame_max_size);
717 Optional<int> quick_response_intra_request;
718 Optional<int> fec_method;
719 Optional<int> fec_fix_rate;
720 //h265 dec enable
721 Optional<bool> h265_dec_enable;
722 //av1 dec enable
723 Optional<bool> av1_dec_enable;
724 Optional<bool> av1_camera_enable;
725 Optional<bool> av1_feedback_enable;
726 Optional<bool> av1_screen_enable;
727 Optional<int> major_stream_encoder_thread_num;
728 Optional<int> minor_stream_encoder_thread_num;
729 // enc scc enable
730 Optional<bool> enc_scc_enable;
731 // vp8 enc switch
732 Optional<bool> vp8_enc_switch;
733
734 Optional<int> min_enc_level;
735
736 Optional<int> minscore_for_swh265enc;
737 Optional<bool> default_enable_hwenc_win32;
738 Optional<std::string> hwenc_blacklist;
739 Optional<std::string> hwdec_blacklist;
740 Optional<bool> enable_change_encoder_profile;
741
742 Optional<bool> wz265_dec_enable;
743
744 Optional<int> complexity;
745 Optional<bool> denoising_on;
746 Optional<bool> automatic_resize_on;
747 Optional<bool> frame_dropping_on;
748 Optional<bool> has_intra_request;
749 Optional<int> key_frame_interval;
750 Optional<int> entropy_coding_mode_flag;
751 Optional<int> loop_filter_disable_idc;
752 Optional<bool> background_detection_on;
753 Optional<int> posted_frames_waiting_for_encode;
754 Optional<std::string> bitrate_adjust_ratio;
755 Optional<std::string> minbitrate_ratio;
756 // followings are hw setting
757
758 // h264 quality scaler settings
759 Optional<bool> quality_scale_only_on_average_qp;
760 Optional<int> h264_qp_thresholds_low;
761 Optional<int> h264_qp_thresholds_high;
762
763 Optional<int> reset_bitrate_ratio;
764 Optional<int> reset_framerate_ratio;
765
766 //vqa
767 Optional<int> dec_mosreport;
768
769 // Specifies whether or not to enable hw decode.
770 Optional<bool> enable_hw_decoder;
771 // Specifies whether or not to enable background hw decode.
772 Optional<bool> enable_background_hw_decode;
773 // Specifies hw encode provider.
774 Optional<std::string> hw_decoder_provider;
775 Optional<int> decoder_thread_num;
776
777 // Specifies whether or not to enable hw encode.
778 Optional<bool> enable_hw_encoder;
779 Optional<bool> force_hw_encoder;
780 // Specifies hw encode provider.
781 Optional<uint32_t> hw_encoder_provider;
782 // Specifies the encoding scheme.
783 Optional<uint32_t> av_enc_codec_type;
784 // Specifies the quality level for encoding.
785 // 0 Minimum quality, smaller output size.
786 // 100 Maximum quality, larger output size.
787 Optional<uint32_t> av_enc_common_quality;
788 // Specifies the rate control mode.
789 // eAVEncCommonRateControlMode_CBR,
790 // eAVEncCommonRateControlMode_PeakConstrainedVBR,
791 // eAVEncCommonRateControlMode_UnconstrainedVBR,
792 // eAVEncCommonRateControlMode_Quality,
793 // eAVEncCommonRateControlMode_LowDelayVBR,
794 // eAVEncCommonRateControlMode_GlobalVBR,
795 // eAVEncCommonRateControlMode_GlobalLowDelayVBR
796 Optional<uint32_t> av_enc_common_rate_control_mode;
797 // Specifies whether the encoder uses concealment motion vectors.
798 Optional<bool> enable_video_sender_frame_dropper;
799
800 Optional<bool> enable_nvdia_first;
801 Optional<int32_t> nvdia_cpu_threshold_mhz;
802 Optional<int32_t> intel_cpu_threshold_mhz;
803 Optional<bool> vdm_not_override_lua_smallvideo_not_use_hwenc_policy;
804 Optional<bool> enable_video_qoe_assess;
805 // Specifies the min resolution level to use h264 hardware encoder
806 Optional<int> h264_hw_min_res_level;
807 // mac slice num for a264, valid only when > 0
808 Optional<int> av_enc_video_max_slices;
809 // rc limit value, it can limit the fluctuation range of the bitrate
810 Optional<int> video_encoder_rc_limit_value;
811 Optional<int> video_encoder_rc_scene;
812 Optional<int> video_encoder_impair_net_ref_opt;
813 // software encoder open dump frame info feature, used to investigate questions
814 Optional<int> av_sw_enc_dump_frame_info;
815 Optional<bool> enable_pvc;
816 Optional<int> pvc_max_support_resolution;
817 Optional<bool> enable_pvc_verify;
818 Optional<bool> enable_sr_verify;
819 Optional<int> sr_verify_type;
820 Optional<bool> enable_sr;
821 Optional<int> sr_type;
822
823 Optional<bool> enable_video_vpr;
824 Optional<int32_t> video_vpr_init_size;
825 Optional<int32_t> video_vpr_max_size;
826 Optional<int32_t> video_vpr_frozen_ms_thres;
827 Optional<int32_t> video_vpr_frozen_rate_thres;
828 Optional<int32_t> video_vpr_method;
829 Optional<int32_t> video_vpr_adaptive_thres;
830 Optional<bool> retrans_detect_enable;
831 Optional<bool> use_sent_ts_enable;
832 // for intra request
833 Optional<int32_t> av_enc_intra_key_interval;
834 Optional<int32_t> key_force_device_score;
835 Optional<int32_t> av_enc_bitrate_adjustment_type;
836 Optional<int> video_rotation;
837 Optional<int> scale_type;
838
839 Optional<bool> scc_auto_framerate;
840 Optional<bool> scc_quality_opt;
841 Optional<bool> video_render_d3d9_texture;
842 Optional<int32_t> video_render_d3d9_render_mode;
843 Optional<int32_t> video_render_buffer_queue_size;
844 Optional<bool> video_render_vsync_switch;
845 Optional<bool> video_force_texture_to_i420;
846 Optional<bool> video_windows_capture_to_texture;
847 Optional<bool> video_android_capturer_copy_enable;
848
849 Optional<bool> video_enable_high_definition_strategy;
850 // whether default use a264;
851 Optional<bool> av_enc_video_use_a264;
852 Optional<bool> av_enc_video_enable_roi;
853 Optional<int> roi_max_qp;
854 Optional<int> roi_qp_offset;
855 // whether open vmaf calc;
856 Optional<int> av_enc_video_qp_parser_skip;
857 Optional<int> video_clarity_analysis_flag;
858 Optional<bool> av_enc_vmaf_calc;
859 // min scc auto framerate, default don't setting;
860 Optional<int> video_enc_min_scc_auto_framerate;
861 // whether open video coding profiling
862 Optional<bool> av_enc_profiling;
863 // sw encoder param
864 Optional<std::string> av_enc_param_config;
865 // video resolution auto adjust param
866 Optional<std::string> video_resolution_auto_adjust_param;
867 // advanced encoder param
868 Optional<std::string> av_enc_advanced_param_config;
869 // screen sharing content type
870 Optional<int32_t> av_enc_screen_sharing_subclass;
871 Optional<int32_t> av_enc_video_width_alignment;
872 Optional<int32_t> av_enc_video_height_alignment;
873 Optional<std::string> av_enc_video_hwenc_config;
874 Optional<std::string> av_dec_video_hwdec_config;
875 Optional<int32_t> av_enc_hw_hevc_exceptions;
876 Optional<int32_t> av_dec_hw_hevc_exceptions;
877 Optional<int32_t> av_enc_hw_exceptions;
878 Optional<int32_t> av_dec_sw_a264_enable;
879 Optional<bool> av_enc_video_force_alignment;
880 Optional<bool> av_enc_video_enable_dequeue_timewait;
881 Optional<bool> av_enc_video_adjustment_reset;
882 Optional<bool> av_dec_texture_copy_enable;
883 Optional<bool> av_dec_output_byte_frame;
884 Optional<int> av_dec_output_byte_frame_resolution_product_thres;
885 // whether use single slice parser.
886 Optional<bool> use_single_slice_parser;
887 Optional<bool> color_space_enable;
888 Optional<int> videoFullrange;
889 Optional<int> matrixCoefficients;
890 Optional<bool> enable_iptos;
891
892 Optional<bool> save_encode_bitrate;
893 Optional<bool> save_encode_bitrate_minor_stream;
894 Optional<std::string> save_encode_bitrate_params;
895 Optional<int> key_frame_interval_intra_request;
896 Optional<int> video_switch_soft_decoder_threshold;
897 Optional<int> min_encode_keyframe_interval;
898 Optional<bool> video_skip_enable;
899 Optional<bool> av_enc_new_complexity;
900 Optional<int> av_enc_default_complexity;
901 Optional<bool> enable_parser_reject;
902 Optional<int> direct_cdn_streaming_h264_profile;
903
904 Optional<bool> av_enc_send_sei_alpha;
905 Optional<int> av_enc_alpha_data_codec_type;
906 Optional<int> av_enc_alpha_data_scale_mode;
907 Optional<bool> av_enc_encode_alpha;
908
909 Optional<bool> enable_bframe;
910 Optional<int> bFrames;
911 Optional<bool> enable_bframe_h265;
912 Optional<std::string> bitrate_ceiling_ratio;
913 Optional<bool> enable_hw_encoder_quickly_start;
914 Optional<bool> initial_hw_encoder_quickly_start;
915 Optional<int> fake_enc_error_code;
916 Optional<bool> enable_smooth_enc_codec_change;
917 Optional<int> fps_est_window_size_ms;
918 Optional<bool> default_enable_hw_encoder;
919 Optional<int> use_keyframe_type_from_parser;
920 Optional<int> frame_glitching_detect_level;
921
922 // minor stream config
923 Optional<bool> enable_minor_stream_intra_request;
924 // Specifies whether or not to enable low stream hw encode.
925 Optional<bool> low_stream_enable_hw_encoder;
926 Optional<uint8_t> simulcast_stream_number_of_temporal_layers;
927 Optional<std::string> simulcast_stream_bitrate_string;
928 Optional<bool> enable_follow_major_stream;
929 Optional<float> major_minor_stream_resolution_ratio;
930 Optional<bool> enable_performance_gating;
931 Optional<bool> enable_minor_stream_codec_follow_major_stream;
932 Optional<bool> enable_instant_streaming_mode;
933 Optional<bool> enable_fast_first_remote_draw;
934 Optional<int32_t> max_all_intra_encode_time;
935
936 private:
937 template <class T>
938 std::string ToStringIfSet(const char* key, const Optional<T>& val) const {
939 std::string str;
940 if (val) {
941 str = key;
942 str = "\t\"" + str + "\"";
943 str += ": ";
944 str += std::to_string(*val);
945 str += ",";
946 str += NEW_LINE;
947 }
948 return str;
949 }
950
951 std::string ToStringIfSet(const char* key, const Optional<std::string>& val) const {
952 std::string str;
953 if (val) {
954 str = key;
955 str = "\t\"" + str + "\"";
956 str += ": \"";
957 str += val.value();
958 str += "\",";
959 str += NEW_LINE;
960 }
961 return str;
962 }
963
964 std::string ToStringIfSet(const char* key, const Optional<bool>& val) const {
965 std::string str;
966 if (val) {
967 str = key;
968 str = "\t\"" + str + "\"";
969 str += ": ";
970 str += *val ? "true" : "false";
971 str += ",";
972 str += NEW_LINE;
973 }
974 return str;
975 }
976
977 template <typename T>
978 static void SetFrom(Optional<T>* s, const Optional<T>& o) {
979 if (o) {
980 *s = o;
981 }
982 }
983 };
984
985 } // namespace rtc
986 } // namespace agora
agora::rtc::VideoConfigurationEx::av1_feedback_enable
Optional< bool > av1_feedback_enable
Definition: video_config_i.h:725
agora::rtc::VideoConfigurationEx::fps_up_step
Optional< int > fps_up_step
Definition: video_config_i.h:700
agora::rtc::VideoConfigurationEx::VideoConfigurationEx
VideoConfigurationEx()=default
agora::rtc::VideoConfigurationEx::h264_hw_min_res_level
Optional< int > h264_hw_min_res_level
Definition: video_config_i.h:806
agora::rtc::VideoConfigurationEx::sr_type
Optional< int > sr_type
Definition: video_config_i.h:821
agora::rtc::VideoConfigurationEx::intel_cpu_threshold_mhz
Optional< int32_t > intel_cpu_threshold_mhz
Definition: video_config_i.h:802
agora::rtc::VideoConfigurationEx::enable_instant_streaming_mode
Optional< bool > enable_instant_streaming_mode
Definition: video_config_i.h:932
agora::rtc::VideoConfigurationEx::av_enc_video_max_slices
Optional< int > av_enc_video_max_slices
Definition: video_config_i.h:808
agora::rtc::VideoConfigurationEx::vqc_res_min_width
Optional< int > vqc_res_min_width
Definition: video_config_i.h:712
agora::rtc::VideoConfigurationEx::enable_background_hw_decode
Optional< bool > enable_background_hw_decode
Definition: video_config_i.h:772
agora::rtc::VideoConfigurationEx::av_enc_hw_exceptions
Optional< int32_t > av_enc_hw_exceptions
Definition: video_config_i.h:877
agora::rtc::VideoConfigurationEx::operator!=
bool operator!=(const VideoConfigurationEx &o) const
Definition: video_config_i.h:454
agora::rtc::VideoConfigurationEx::video_force_texture_to_i420
Optional< bool > video_force_texture_to_i420
Definition: video_config_i.h:845
agora::rtc::VideoConfigurationEx::av_enc_alpha_data_codec_type
Optional< int > av_enc_alpha_data_codec_type
Definition: video_config_i.h:905
agora::rtc::VideoConfigurationEx::pps_data
Optional< std::string > pps_data
Definition: video_config_i.h:691
agora::rtc::VideoConfigurationEx::av_sw_enc_dump_frame_info
Optional< int > av_sw_enc_dump_frame_info
Definition: video_config_i.h:814
agora::rtc::VideoConfigurationEx::adaptive_op_mode
Optional< bool > adaptive_op_mode
Definition: video_config_i.h:693
agora::rtc::VideoConfigurationEx::enable_pvc_verify
Optional< bool > enable_pvc_verify
Definition: video_config_i.h:817
agora::rtc::VideoConfigurationEx::video_vpr_adaptive_thres
Optional< int32_t > video_vpr_adaptive_thres
Definition: video_config_i.h:829
agora::rtc::VideoConfigurationEx::bitrate_adjust_ratio
Optional< std::string > bitrate_adjust_ratio
Definition: video_config_i.h:754
agora::rtc::VideoConfigurationEx::fps_down_step
Optional< int > fps_down_step
Definition: video_config_i.h:699
agora::rtc::VideoConfigurationEx::video_render_buffer_queue_size
Optional< int32_t > video_render_buffer_queue_size
Definition: video_config_i.h:843
agora::rtc::VideoConfigurationEx::enable_minor_stream_codec_follow_major_stream
Optional< bool > enable_minor_stream_codec_follow_major_stream
Definition: video_config_i.h:931
agora::rtc::VideoConfigurationEx::quick_response_intra_request
Optional< int > quick_response_intra_request
Definition: video_config_i.h:717
agora::rtc::VideoConfigurationEx::vqc_version
Optional< int > vqc_version
Definition: video_config_i.h:701
agora::rtc::VideoConfigurationEx::av_enc_send_sei_alpha
Optional< bool > av_enc_send_sei_alpha
Definition: video_config_i.h:904
agora::rtc::VideoConfigurationEx::scc_auto_framerate
Optional< bool > scc_auto_framerate
Definition: video_config_i.h:839
agora::rtc::VideoConfigurationEx::simulcast_stream_bitrate_string
Optional< std::string > simulcast_stream_bitrate_string
Definition: video_config_i.h:927
agora::rtc::VideoConfigurationEx::direct_cdn_streaming_h264_profile
Optional< int > direct_cdn_streaming_h264_profile
Definition: video_config_i.h:902
agora::rtc::VideoConfigurationEx::force_hw_encoder
Optional< bool > force_hw_encoder
Definition: video_config_i.h:779
agora::rtc::VideoConfigurationEx::av_dec_texture_copy_enable
Optional< bool > av_dec_texture_copy_enable
Definition: video_config_i.h:882
agora::rtc::VideoConfigurationEx::min_bitrate
Optional< int > min_bitrate
Definition: video_config_i.h:684
agora::rtc::VideoConfigurationEx::video_encoder_rc_scene
Optional< int > video_encoder_rc_scene
Definition: video_config_i.h:811
agora::rtc::VideoConfigurationEx::wz265_dec_enable
Optional< bool > wz265_dec_enable
Definition: video_config_i.h:742
agora::rtc::VideoConfigurationEx::initial_hw_encoder_quickly_start
Optional< bool > initial_hw_encoder_quickly_start
Definition: video_config_i.h:914
agora::rtc::VideoConfigurationEx::video_android_capturer_copy_enable
Optional< bool > video_android_capturer_copy_enable
Definition: video_config_i.h:847
agora::rtc::VideoConfigurationEx::frame_dropping_on
Optional< bool > frame_dropping_on
Definition: video_config_i.h:747
agora::rtc::VideoConfigurationEx::av_enc_new_complexity
Optional< bool > av_enc_new_complexity
Definition: video_config_i.h:899
agora::rtc::VideoConfigurationEx::orientation_mode
Optional< int > orientation_mode
Definition: video_config_i.h:687
agora::rtc::VideoConfigurationEx::h264_profile
Optional< int > h264_profile
Definition: video_config_i.h:692
agora::rtc::VideoConfigurationEx::av_enc_profiling
Optional< bool > av_enc_profiling
Definition: video_config_i.h:862
agora::rtc::VideoConfigurationEx::vp8_enc_switch
Optional< bool > vp8_enc_switch
Definition: video_config_i.h:732
agora::rtc::VideoConfigurationEx::enable_video_qoe_assess
Optional< bool > enable_video_qoe_assess
Definition: video_config_i.h:804
agora::rtc::VideoConfigurationEx::h265_dec_enable
Optional< bool > h265_dec_enable
Definition: video_config_i.h:721
agora::rtc::VideoConfigurationEx::av_enc_intra_key_interval
Optional< int32_t > av_enc_intra_key_interval
Definition: video_config_i.h:833
agora::rtc::VideoConfigurationEx::major_stream_encoder_thread_num
Optional< int > major_stream_encoder_thread_num
Definition: video_config_i.h:727
agora::rtc::VideoConfigurationEx::posted_frames_waiting_for_encode
Optional< int > posted_frames_waiting_for_encode
Definition: video_config_i.h:753
agora::rtc::VideoConfigurationEx::vqc_min_framerate
Optional< int > vqc_min_framerate
Definition: video_config_i.h:706
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::VideoConfigurationEx::enc_scc_enable
Optional< bool > enc_scc_enable
Definition: video_config_i.h:730
agora::rtc::VideoConfigurationEx::av_enc_video_width_alignment
Optional< int32_t > av_enc_video_width_alignment
Definition: video_config_i.h:871
agora::rtc::VideoConfigurationEx::vqc_res_min_height
Optional< int > vqc_res_min_height
Definition: video_config_i.h:713
agora::rtc::VideoConfigurationEx::key_frame_interval
Optional< int > key_frame_interval
Definition: video_config_i.h:749
agora::rtc::VideoConfigurationEx::scc_quality_opt
Optional< bool > scc_quality_opt
Definition: video_config_i.h:840
agora::rtc::VideoConfigurationEx::operator==
bool operator==(const VideoConfigurationEx &o) const
Definition: video_config_i.h:240
agora::rtc::VideoConfigurationEx::bitrate_ceiling_ratio
Optional< std::string > bitrate_ceiling_ratio
Definition: video_config_i.h:912
agora::rtc::VideoConfigurationEx::denoising_on
Optional< bool > denoising_on
Definition: video_config_i.h:745
agora::rtc::VideoConfigurationEx::av_enc_param_config
Optional< std::string > av_enc_param_config
Definition: video_config_i.h:864
agora::rtc::VideoConfigurationEx::video_vpr_max_size
Optional< int32_t > video_vpr_max_size
Definition: video_config_i.h:825
agora::rtc::VideoConfigurationEx::default_enable_hw_encoder
Optional< bool > default_enable_hw_encoder
Definition: video_config_i.h:918
agora::rtc::VideoConfigurationEx::roi_max_qp
Optional< int > roi_max_qp
Definition: video_config_i.h:853
agora::rtc::VideoConfigurationEx::enable_video_vpr
Optional< bool > enable_video_vpr
Definition: video_config_i.h:823
agora::rtc::VideoConfigurationEx::video_vpr_frozen_ms_thres
Optional< int32_t > video_vpr_frozen_ms_thres
Definition: video_config_i.h:826
agora::rtc::VideoConfigurationEx::start_bitrate
Optional< int > start_bitrate
Definition: video_config_i.h:682
agora::rtc::VideoConfigurationEx::matrixCoefficients
Optional< int > matrixCoefficients
Definition: video_config_i.h:889
agora::rtc::VideoConfigurationEx::av_enc_screen_sharing_subclass
Optional< int32_t > av_enc_screen_sharing_subclass
Definition: video_config_i.h:870
agora::rtc::VideoConfigurationEx::decoder_thread_num
Optional< int > decoder_thread_num
Definition: video_config_i.h:775
agora::rtc::VideoConfigurationEx::~VideoConfigurationEx
~VideoConfigurationEx()=default
agora::rtc::VideoConfigurationEx::video_vpr_method
Optional< int32_t > video_vpr_method
Definition: video_config_i.h:828
agora::rtc::VideoConfigurationEx::key_frame_interval_intra_request
Optional< int > key_frame_interval_intra_request
Definition: video_config_i.h:895
agora::rtc::VideoConfigurationEx::av_enc_encode_alpha
Optional< bool > av_enc_encode_alpha
Definition: video_config_i.h:907
agora::rtc::VideoConfigurationEx::enable_iptos
Optional< bool > enable_iptos
Definition: video_config_i.h:890
agora::rtc::VideoConfigurationEx::vqc_ios_h265_adjust
Optional< int > vqc_ios_h265_adjust
Definition: video_config_i.h:711
agora::rtc::VideoConfigurationEx::h264_qp_thresholds_high
Optional< int > h264_qp_thresholds_high
Definition: video_config_i.h:761
agora::rtc::VideoConfigurationEx::hw_decoder_provider
Optional< std::string > hw_decoder_provider
Definition: video_config_i.h:774
agora::rtc::VideoConfigurationEx::enable_hw_encoder_quickly_start
Optional< bool > enable_hw_encoder_quickly_start
Definition: video_config_i.h:913
agora::rtc::VideoConfigurationEx::SetAll
void SetAll(const VideoConfigurationEx &change)
Definition: video_config_i.h:30
agora::rtc::VideoConfigurationEx::ToString
std::string ToString() const
Definition: video_config_i.h:456
agora::rtc::VideoConfigurationEx::video_vpr_frozen_rate_thres
Optional< int32_t > video_vpr_frozen_rate_thres
Definition: video_config_i.h:827
agora::rtc::VideoConfigurationEx::complexity
Optional< int > complexity
Definition: video_config_i.h:744
agora::rtc::VideoConfigurationEx::save_encode_bitrate_minor_stream
Optional< bool > save_encode_bitrate_minor_stream
Definition: video_config_i.h:893
agora::rtc::VideoConfigurationEx::use_single_slice_parser
Optional< bool > use_single_slice_parser
Definition: video_config_i.h:886
agora::rtc::VideoConfigurationEx::simulcast_stream_number_of_temporal_layers
Optional< uint8_t > simulcast_stream_number_of_temporal_layers
Definition: video_config_i.h:926
agora::rtc::VideoConfigurationEx::vqc_min_holdtime_auto_resize_zoomout
Optional< int > vqc_min_holdtime_auto_resize_zoomout
Definition: video_config_i.h:709
agora::rtc::VideoConfigurationEx::overuse_detector_version
Optional< int > overuse_detector_version
Definition: video_config_i.h:703
agora::rtc::VideoConfigurationEx::frame_glitching_detect_level
Optional< int > frame_glitching_detect_level
Definition: video_config_i.h:920
agora::rtc::VideoConfigurationEx::codec_type
Optional< int > codec_type
Definition: video_config_i.h:677
agora::rtc::VideoConfigurationEx::video_render_d3d9_texture
Optional< bool > video_render_d3d9_texture
Definition: video_config_i.h:841
agora::rtc::VideoConfigurationEx::h264_qp_thresholds_low
Optional< int > h264_qp_thresholds_low
Definition: video_config_i.h:760
agora::rtc::VideoConfigurationEx::nvdia_cpu_threshold_mhz
Optional< int32_t > nvdia_cpu_threshold_mhz
Definition: video_config_i.h:801
agora::rtc::VideoConfigurationEx::av_enc_video_enable_dequeue_timewait
Optional< bool > av_enc_video_enable_dequeue_timewait
Definition: video_config_i.h:880
agora::rtc::VideoConfigurationEx::enable_bframe
Optional< bool > enable_bframe
Definition: video_config_i.h:909
agora::rtc::VideoConfigurationEx::vdm_not_override_lua_smallvideo_not_use_hwenc_policy
Optional< bool > vdm_not_override_lua_smallvideo_not_use_hwenc_policy
Definition: video_config_i.h:803
agora::rtc::VideoConfigurationEx::number_of_temporal_layers
Optional< uint8_t > number_of_temporal_layers
Definition: video_config_i.h:688
agora::rtc::VideoConfigurationEx::av_enc_codec_type
Optional< uint32_t > av_enc_codec_type
Definition: video_config_i.h:783
agora::rtc::VideoConfigurationEx::av_dec_output_byte_frame_resolution_product_thres
Optional< int > av_dec_output_byte_frame_resolution_product_thres
Definition: video_config_i.h:884
agora::rtc::VideoConfigurationEx::save_encode_bitrate
Optional< bool > save_encode_bitrate
Definition: video_config_i.h:892
agora::rtc::VideoConfigurationEx::max_all_intra_encode_time
Optional< int32_t > max_all_intra_encode_time
Definition: video_config_i.h:934
agora::rtc::VideoConfigurationEx::actual_max_bitrate
Optional< int > actual_max_bitrate
Definition: video_config_i.h:686
agora::rtc::VideoConfigurationEx::retrans_detect_enable
Optional< bool > retrans_detect_enable
Definition: video_config_i.h:830
agora::rtc::VideoConfigurationEx::degradation_preference
Optional< int > degradation_preference
Definition: video_config_i.h:698
agora::rtc::VideoConfigurationEx::video_rotation
Optional< int > video_rotation
Definition: video_config_i.h:836
agora::rtc::VideoConfigurationEx::sr_verify_type
Optional< int > sr_verify_type
Definition: video_config_i.h:819
agora::rtc::VideoConfigurationEx::fec_method
Optional< int > fec_method
Definition: video_config_i.h:718
agora::rtc::VideoConfigurationEx::video_enable_high_definition_strategy
Optional< bool > video_enable_high_definition_strategy
Definition: video_config_i.h:849
agora::rtc::VideoConfigurationEx::video_render_vsync_switch
Optional< bool > video_render_vsync_switch
Definition: video_config_i.h:844
agora::rtc::VideoConfigurationEx::scale_type
Optional< int > scale_type
Definition: video_config_i.h:837
agora::rtc::VideoConfigurationEx::av_dec_sw_a264_enable
Optional< int32_t > av_dec_sw_a264_enable
Definition: video_config_i.h:878
agora::rtc::VideoConfigurationEx::has_intra_request
Optional< bool > has_intra_request
Definition: video_config_i.h:748
agora::rtc::VideoConfigurationEx::av_dec_output_byte_frame
Optional< bool > av_dec_output_byte_frame
Definition: video_config_i.h:883
agora::rtc::VideoConfigurationEx::fec_fix_rate
Optional< int > fec_fix_rate
Definition: video_config_i.h:719
agora::rtc::VideoConfigurationEx::min_encode_keyframe_interval
Optional< int > min_encode_keyframe_interval
Definition: video_config_i.h:897
agora::rtc::VideoConfigurationEx::default_enable_hwenc_win32
Optional< bool > default_enable_hwenc_win32
Definition: video_config_i.h:737
agora::rtc::VideoConfigurationEx::video_enc_min_scc_auto_framerate
Optional< int > video_enc_min_scc_auto_framerate
Definition: video_config_i.h:860
agora::rtc::VideoConfigurationEx::enable_bframe_h265
Optional< bool > enable_bframe_h265
Definition: video_config_i.h:911
agora::rtc::VideoConfigurationEx::minbitrate_ratio
Optional< std::string > minbitrate_ratio
Definition: video_config_i.h:755
agora::rtc::VideoConfigurationEx::loop_filter_disable_idc
Optional< int > loop_filter_disable_idc
Definition: video_config_i.h:751
agora::rtc::VideoConfigurationEx::av_enc_video_hwenc_config
Optional< std::string > av_enc_video_hwenc_config
Definition: video_config_i.h:873
agora::rtc::VideoConfigurationEx::video_switch_soft_decoder_threshold
Optional< int > video_switch_soft_decoder_threshold
Definition: video_config_i.h:896
agora::rtc::VideoConfigurationEx::major_minor_stream_resolution_ratio
Optional< float > major_minor_stream_resolution_ratio
Definition: video_config_i.h:929
agora::rtc::VideoConfigurationEx
Definition: video_config_i.h:25
agora::rtc::VideoConfigurationEx::target_bitrate
Optional< int > target_bitrate
Definition: video_config_i.h:683
agora::rtc::VideoConfigurationEx::number_of_spatial_layers
Optional< uint8_t > number_of_spatial_layers
Definition: video_config_i.h:694
agora::rtc::VideoConfigurationEx::use_keyframe_type_from_parser
Optional< int > use_keyframe_type_from_parser
Definition: video_config_i.h:919
agora::rtc::VideoConfigurationEx::av_dec_hw_hevc_exceptions
Optional< int32_t > av_dec_hw_hevc_exceptions
Definition: video_config_i.h:876
agora::rtc::VideoConfigurationEx::enable_change_encoder_profile
Optional< bool > enable_change_encoder_profile
Definition: video_config_i.h:740
agora::rtc::VideoConfigurationEx::key_force_device_score
Optional< int32_t > key_force_device_score
Definition: video_config_i.h:834
agora::rtc::VideoConfigurationEx::sps_data
Optional< std::string > sps_data
Definition: video_config_i.h:690
agora::rtc::VideoConfigurationEx::reset_framerate_ratio
Optional< int > reset_framerate_ratio
Definition: video_config_i.h:764
agora::rtc::VideoConfigurationEx::av_dec_video_hwdec_config
Optional< std::string > av_dec_video_hwdec_config
Definition: video_config_i.h:874
agora::rtc::VideoConfigurationEx::h265_screen_enable
Optional< int > h265_screen_enable
Definition: video_config_i.h:678
agora::rtc::VideoConfigurationEx::av_enc_vmaf_calc
Optional< bool > av_enc_vmaf_calc
Definition: video_config_i.h:858
agora::rtc::VideoConfigurationEx::av_enc_video_qp_parser_skip
Optional< int > av_enc_video_qp_parser_skip
Definition: video_config_i.h:856
agora::rtc::VideoConfigurationEx::av_enc_bitrate_adjustment_type
Optional< int32_t > av_enc_bitrate_adjustment_type
Definition: video_config_i.h:835
agora::rtc::VideoConfigurationEx::color_space_enable
Optional< bool > color_space_enable
Definition: video_config_i.h:887
agora::rtc::VideoConfigurationEx::enable_follow_major_stream
Optional< bool > enable_follow_major_stream
Definition: video_config_i.h:928
agora::rtc::VideoConfigurationEx::av_enc_video_enable_roi
Optional< bool > av_enc_video_enable_roi
Definition: video_config_i.h:852
agora::rtc::VideoConfigurationEx::av_enc_alpha_data_scale_mode
Optional< int > av_enc_alpha_data_scale_mode
Definition: video_config_i.h:906
agora::rtc::VideoConfigurationEx::dec_mosreport
Optional< int > dec_mosreport
Definition: video_config_i.h:767
agora::rtc::VideoConfigurationEx::pvc_max_support_resolution
Optional< int > pvc_max_support_resolution
Definition: video_config_i.h:816
agora::rtc::VideoConfigurationEx::background_detection_on
Optional< bool > background_detection_on
Definition: video_config_i.h:752
agora::rtc::VideoConfigurationEx::video_vpr_init_size
Optional< int32_t > video_vpr_init_size
Definition: video_config_i.h:824
agora::rtc::VideoConfigurationEx::video_windows_capture_to_texture
Optional< bool > video_windows_capture_to_texture
Definition: video_config_i.h:846
agora::rtc::VideoConfigurationEx::minor_stream_encoder_thread_num
Optional< int > minor_stream_encoder_thread_num
Definition: video_config_i.h:728
agora::rtc::VideoConfigurationEx::enable_fast_first_remote_draw
Optional< bool > enable_fast_first_remote_draw
Definition: video_config_i.h:933
agora::rtc::VideoConfigurationEx::minscore_for_swh265enc
Optional< int > minscore_for_swh265enc
Definition: video_config_i.h:736
agora::rtc::VideoConfigurationEx::hwenc_blacklist
Optional< std::string > hwenc_blacklist
Definition: video_config_i.h:738
agora::rtc::VideoConfigurationEx::av_enc_hw_hevc_exceptions
Optional< int32_t > av_enc_hw_hevc_exceptions
Definition: video_config_i.h:875
agora::rtc::VideoConfigurationEx::frame_width
Optional< int > frame_width
Definition: video_config_i.h:679
agora::rtc::VideoConfigurationEx::av_enc_video_use_a264
Optional< bool > av_enc_video_use_a264
Definition: video_config_i.h:851
agora::rtc::VideoConfigurationEx::max_bitrate
Optional< int > max_bitrate
Definition: video_config_i.h:685
agora::rtc::VideoConfigurationEx::enable_video_sender_frame_dropper
Optional< bool > enable_video_sender_frame_dropper
Definition: video_config_i.h:798
agora::rtc::VideoConfigurationEx::flexible_mode
Optional< bool > flexible_mode
Definition: video_config_i.h:695
agora::rtc::VideoConfigurationEx::fps_est_window_size_ms
Optional< int > fps_est_window_size_ms
Definition: video_config_i.h:917
agora::rtc::VideoConfigurationEx::enable_performance_gating
Optional< bool > enable_performance_gating
Definition: video_config_i.h:930
agora::rtc::VideoConfigurationEx::enable_sr
Optional< bool > enable_sr
Definition: video_config_i.h:820
agora::rtc::VideoConfigurationEx::av_enc_default_complexity
Optional< int > av_enc_default_complexity
Definition: video_config_i.h:900
agora::rtc::VideoConfigurationEx::hw_encoder_provider
Optional< uint32_t > hw_encoder_provider
Definition: video_config_i.h:781
agora::rtc::VideoConfigurationEx::vqc_force_use_version
Optional< int > vqc_force_use_version
Definition: video_config_i.h:702
agora::rtc::VideoConfigurationEx::num_of_encoder_cores
Optional< int > num_of_encoder_cores
Definition: video_config_i.h:697
agora::rtc::VideoConfigurationEx::vqc_quick_adaptNetwork
Optional< bool > vqc_quick_adaptNetwork
Definition: video_config_i.h:705
agora::rtc::VideoConfigurationEx::hwdec_blacklist
Optional< std::string > hwdec_blacklist
Definition: video_config_i.h:739
agora::rtc::VideoConfigurationEx::vqc_min_holdtime_auto_resize_zoomin
Optional< int > vqc_min_holdtime_auto_resize_zoomin
Definition: video_config_i.h:708
agora::rtc::VideoConfigurationEx::video_resolution_auto_adjust_param
Optional< std::string > video_resolution_auto_adjust_param
Definition: video_config_i.h:866
agora::rtc::VideoConfigurationEx::av_enc_video_height_alignment
Optional< int32_t > av_enc_video_height_alignment
Definition: video_config_i.h:872
agora::rtc::VideoConfigurationEx::enable_parser_reject
Optional< bool > enable_parser_reject
Definition: video_config_i.h:901
agora::rtc::VideoConfigurationEx::fake_enc_error_code
Optional< int > fake_enc_error_code
Definition: video_config_i.h:915
agora::rtc::VideoConfigurationEx::reset_bitrate_ratio
Optional< int > reset_bitrate_ratio
Definition: video_config_i.h:763
agora::rtc::VideoConfigurationEx::av_enc_video_force_alignment
Optional< bool > av_enc_video_force_alignment
Definition: video_config_i.h:879
agora::rtc::VideoConfigurationEx::video_skip_enable
Optional< bool > video_skip_enable
Definition: video_config_i.h:898
agora::rtc::VideoConfigurationEx::vqc_qp_adjust
Optional< int > vqc_qp_adjust
Definition: video_config_i.h:710
agora::rtc::VideoConfigurationEx::quality_scale_only_on_average_qp
Optional< bool > quality_scale_only_on_average_qp
Definition: video_config_i.h:759
agora::rtc::VideoConfigurationEx::vqc_settings_by_resolution
Optional< std::string > vqc_settings_by_resolution
Definition: video_config_i.h:707
agora::rtc::VideoConfigurationEx::enable_hw_decoder
Optional< bool > enable_hw_decoder
Definition: video_config_i.h:770
agora::rtc::VideoConfigurationEx::bFrames
Optional< int > bFrames
Definition: video_config_i.h:910
agora::rtc::VideoConfigurationEx::enable_nvdia_first
Optional< bool > enable_nvdia_first
Definition: video_config_i.h:800
agora::rtc::VideoConfigurationEx::av_enc_video_adjustment_reset
Optional< bool > av_enc_video_adjustment_reset
Definition: video_config_i.h:881
agora::rtc::VideoConfigurationEx::use_sent_ts_enable
Optional< bool > use_sent_ts_enable
Definition: video_config_i.h:831
agora::rtc::VideoConfigurationEx::enable_smooth_enc_codec_change
Optional< bool > enable_smooth_enc_codec_change
Definition: video_config_i.h:916
agora::rtc::VideoConfigurationEx::frame_rate
Optional< int > frame_rate
Definition: video_config_i.h:681
agora::rtc::VideoConfigurationEx::roi_qp_offset
Optional< int > roi_qp_offset
Definition: video_config_i.h:854
agora::rtc::VideoConfigurationEx::av_enc_common_rate_control_mode
Optional< uint32_t > av_enc_common_rate_control_mode
Definition: video_config_i.h:796
agora::rtc::VideoConfigurationEx::av1_screen_enable
Optional< bool > av1_screen_enable
Definition: video_config_i.h:726
agora::rtc::VideoConfigurationEx::min_enc_level
Optional< int > min_enc_level
Definition: video_config_i.h:734
agora::rtc::VideoConfigurationEx::video_encoder_rc_limit_value
Optional< int > video_encoder_rc_limit_value
Definition: video_config_i.h:810
agora::rtc::VideoConfigurationEx::frame_height
Optional< int > frame_height
Definition: video_config_i.h:680
agora::rtc::VideoConfigurationEx::save_encode_bitrate_params
Optional< std::string > save_encode_bitrate_params
Definition: video_config_i.h:894
agora::rtc::VideoConfigurationEx::av_enc_common_quality
Optional< uint32_t > av_enc_common_quality
Definition: video_config_i.h:787
agora::rtc::VideoConfigurationEx::videoFullrange
Optional< int > videoFullrange
Definition: video_config_i.h:888
agora::rtc::VideoConfigurationEx::entropy_coding_mode_flag
Optional< int > entropy_coding_mode_flag
Definition: video_config_i.h:750
agora::rtc::VideoConfigurationEx::enable_minor_stream_intra_request
Optional< bool > enable_minor_stream_intra_request
Definition: video_config_i.h:923
agora::rtc::VideoConfigurationEx::av1_camera_enable
Optional< bool > av1_camera_enable
Definition: video_config_i.h:724
agora::rtc::VideoConfigurationEx::enable_sr_verify
Optional< bool > enable_sr_verify
Definition: video_config_i.h:818
agora::rtc::VideoConfigurationEx::enable_hw_encoder
Optional< bool > enable_hw_encoder
Definition: video_config_i.h:778
rtc
Definition: video_node_i.h:28
agora::rtc::VideoConfigurationEx::video_render_d3d9_render_mode
Optional< int32_t > video_render_d3d9_render_mode
Definition: video_config_i.h:842
agora::rtc::VideoConfigurationEx::video_encoder_impair_net_ref_opt
Optional< int > video_encoder_impair_net_ref_opt
Definition: video_config_i.h:812
agora::Optional< int >
agora::rtc::VideoConfigurationEx::interlayer_pred
Optional< int > interlayer_pred
Definition: video_config_i.h:696
agora::rtc::VideoConfigurationEx::low_stream_enable_hw_encoder
Optional< bool > low_stream_enable_hw_encoder
Definition: video_config_i.h:925
agora::rtc::VideoConfigurationEx::av1_dec_enable
Optional< bool > av1_dec_enable
Definition: video_config_i.h:723
agora::rtc::VideoConfigurationEx::automatic_resize_on
Optional< bool > automatic_resize_on
Definition: video_config_i.h:746
agora::rtc::VideoConfigurationEx::enable_pvc
Optional< bool > enable_pvc
Definition: video_config_i.h:815
agora::rtc::VideoConfigurationEx::av_enc_advanced_param_config
Optional< std::string > av_enc_advanced_param_config
Definition: video_config_i.h:868
agora::rtc::VideoConfigurationEx::video_clarity_analysis_flag
Optional< int > video_clarity_analysis_flag
Definition: video_config_i.h:857