Agora C++ API Reference for All Platforms
|
13 #include "AgoraBase.h"
14 #include "AgoraOptional.h"
16 #if defined(WEBRTC_WIN)
17 #define NEW_LINE "\r\n"
31 #define SET_FROM(X) SetFrom(&X, change.X)
45 SET_FROM(number_of_bframe_temporal_layers);
68 SET_FROM(frame_max_size);
185 #define BEGIN_COMPARE() bool b = true
186 #define ADD_COMPARE(X) b = (b && (X == o.X))
187 #define END_COMPARE()
200 ADD_COMPARE(number_of_bframe_temporal_layers);
223 ADD_COMPARE(frame_max_size);
346 #define ADD_STRING(X) ost << ToStringIfSet(#X, X)
348 std::ostringstream ost;
361 ADD_STRING(number_of_bframe_temporal_layers);
384 ADD_STRING(frame_max_size);
501 std::string ret = ost.str();
502 auto index = ret.rfind(
",");
503 if (index != ret.npos) {
504 ret = ret.substr(0, index);
508 return "{" NEW_LINE + ret +
"}";
705 std::string ToStringIfSet(
const char* key,
const Optional<T>& val)
const {
709 str =
"\t\"" + str +
"\"";
711 str += std::to_string(*val);
722 str =
"\t\"" + str +
"\"";
731 std::string ToStringIfSet(
const char* key,
const Optional<bool>& val)
const {
735 str =
"\t\"" + str +
"\"";
737 str += *val ?
"true" :
"false";
744 template <
typename T>
745 static void SetFrom(Optional<T>* s,
const Optional<T>& o) {
Optional< int > fps_up_step
Definition: video_config_i.h:534
Optional< uint8_t > minor_stream_number_of_temporal_layers
Definition: video_config_i.h:522
VideoConfigurationEx()=default
Optional< int > h264_hw_min_res_level
Definition: video_config_i.h:626
Optional< int > sr_type
Definition: video_config_i.h:634
Optional< int32_t > intel_cpu_threshold_mhz
Definition: video_config_i.h:621
Optional< int > av_enc_video_max_slices
Definition: video_config_i.h:628
bool operator!=(const VideoConfigurationEx &o) const
Definition: video_config_i.h:343
Optional< int > av_enc_alpha_data_codec_type
Definition: video_config_i.h:699
Optional< std::string > pps_data
Definition: video_config_i.h:525
Optional< int > h265_min_enc_level
Definition: video_config_i.h:560
Optional< bool > adaptive_op_mode
Definition: video_config_i.h:527
Optional< int32_t > video_vpr_adaptive_thres
Definition: video_config_i.h:644
Optional< std::string > bitrate_adjust_ratio
Definition: video_config_i.h:577
Optional< int > fps_down_step
Definition: video_config_i.h:533
Optional< int32_t > video_render_buffer_queue_size
Definition: video_config_i.h:659
Optional< int > quick_response_intra_request
Definition: video_config_i.h:547
Optional< int > vqc_version
Definition: video_config_i.h:535
Optional< int > PvcConfig
Definition: video_config_i.h:632
Optional< bool > scc_auto_framerate
Definition: video_config_i.h:655
Optional< int > direct_cdn_streaming_h264_profile
Definition: video_config_i.h:696
Optional< int > min_bitrate
Definition: video_config_i.h:517
Optional< bool > wz265_dec_enable
Definition: video_config_i.h:565
Optional< bool > frame_dropping_on
Definition: video_config_i.h:570
Optional< bool > av_enc_new_complexity
Definition: video_config_i.h:693
Optional< int > orientation_mode
Definition: video_config_i.h:520
Optional< int > h264_profile
Definition: video_config_i.h:526
Optional< bool > av_enc_profiling
Definition: video_config_i.h:667
Optional< bool > vp8_enc_switch
Definition: video_config_i.h:558
Optional< bool > enable_video_qoe_assess
Definition: video_config_i.h:624
Optional< bool > h265_dec_enable
Definition: video_config_i.h:551
Optional< int32_t > av_enc_intra_key_interval
Definition: video_config_i.h:649
Optional< int > posted_frames_waiting_for_encode
Definition: video_config_i.h:576
Optional< int > av1_encoder_thread_num
Definition: video_config_i.h:556
Optional< int > vqc_min_framerate
Definition: video_config_i.h:539
Definition: AgoraAtomicOps.h:21
Optional< int32_t > av_enc_video_width_alignment
Definition: video_config_i.h:672
Optional< int > key_frame_interval
Definition: video_config_i.h:572
Optional< bool > scc_quality_opt
Definition: video_config_i.h:656
bool operator==(const VideoConfigurationEx &o) const
Definition: video_config_i.h:184
Optional< bool > denoising_on
Definition: video_config_i.h:568
Optional< std::string > av_enc_param_config
Definition: video_config_i.h:669
Optional< int32_t > video_vpr_max_size
Definition: video_config_i.h:640
Optional< bool > enable_video_vpr
Definition: video_config_i.h:638
Optional< int32_t > video_vpr_frozen_ms_thres
Definition: video_config_i.h:641
Optional< int > start_bitrate
Definition: video_config_i.h:515
Optional< int > matrixCoefficients
Definition: video_config_i.h:684
Optional< int32_t > av_enc_screen_sharing_subclass
Definition: video_config_i.h:671
~VideoConfigurationEx()=default
Optional< int32_t > video_vpr_method
Definition: video_config_i.h:643
Optional< int > key_frame_interval_intra_request
Definition: video_config_i.h:689
Optional< bool > enable_iptos
Definition: video_config_i.h:685
Optional< int > vqc_ios_h265_adjust
Definition: video_config_i.h:543
Optional< int > h264_qp_thresholds_high
Definition: video_config_i.h:584
Optional< std::string > hw_decoder_provider
Definition: video_config_i.h:594
void SetAll(const VideoConfigurationEx &change)
Definition: video_config_i.h:30
std::string ToString() const
Definition: video_config_i.h:345
Optional< int32_t > video_vpr_frozen_rate_thres
Definition: video_config_i.h:642
Optional< int > complexity
Definition: video_config_i.h:567
Optional< bool > use_single_slice_parser
Definition: video_config_i.h:681
Optional< int > vqc_min_holdtime_auto_resize_zoomout
Definition: video_config_i.h:541
Optional< int > overuse_detector_version
Definition: video_config_i.h:536
Optional< int > codec_type
Definition: video_config_i.h:511
Optional< bool > video_render_d3d9_texture
Definition: video_config_i.h:657
Optional< int > h264_qp_thresholds_low
Definition: video_config_i.h:583
Optional< int32_t > nvdia_cpu_threshold_mhz
Definition: video_config_i.h:620
Optional< bool > enable_bframe
Definition: video_config_i.h:701
Optional< bool > vdm_not_override_lua_smallvideo_not_use_hwenc_policy
Definition: video_config_i.h:622
Optional< uint8_t > number_of_temporal_layers
Definition: video_config_i.h:521
Optional< uint32_t > av_enc_codec_type
Definition: video_config_i.h:602
Optional< bool > save_encode_bitrate
Definition: video_config_i.h:687
Optional< int > actual_max_bitrate
Definition: video_config_i.h:519
Optional< bool > retrans_detect_enable
Definition: video_config_i.h:645
Optional< int > degradation_preference
Definition: video_config_i.h:532
Optional< int > video_rotation
Definition: video_config_i.h:652
Optional< int > fec_method
Definition: video_config_i.h:548
Optional< bool > isScreenSharingJbEnabled
Definition: video_config_i.h:636
Optional< int > scale_type
Definition: video_config_i.h:653
Optional< bool > has_intra_request
Definition: video_config_i.h:571
Optional< bool > av_dec_output_byte_frame
Definition: video_config_i.h:679
Optional< int > fec_fix_rate
Definition: video_config_i.h:549
Optional< int > min_encode_keyframe_interval
Definition: video_config_i.h:691
Optional< int > video_enc_min_scc_auto_framerate
Definition: video_config_i.h:665
Optional< int > h264_hwenc
Definition: video_config_i.h:598
Optional< bool > PvcSupport
Definition: video_config_i.h:631
Optional< std::string > minbitrate_ratio
Definition: video_config_i.h:578
Optional< int > loop_filter_disable_idc
Definition: video_config_i.h:574
Optional< std::string > av_enc_video_hwenc_config
Definition: video_config_i.h:674
Optional< int > video_switch_soft_decoder_threshold
Definition: video_config_i.h:690
Definition: video_config_i.h:25
Optional< int > target_bitrate
Definition: video_config_i.h:516
Optional< uint8_t > number_of_spatial_layers
Definition: video_config_i.h:528
Optional< int32_t > av_dec_hw_hevc_exceptions
Definition: video_config_i.h:677
Optional< bool > enable_change_encoder_profile
Definition: video_config_i.h:563
Optional< int32_t > key_force_device_score
Definition: video_config_i.h:650
Optional< std::string > sps_data
Definition: video_config_i.h:524
Optional< std::string > av_dec_video_hwdec_config
Definition: video_config_i.h:675
Optional< bool > av_enc_vmaf_calc
Definition: video_config_i.h:663
Optional< int32_t > av_enc_bitrate_adjustment_type
Definition: video_config_i.h:651
Optional< bool > color_space_enable
Definition: video_config_i.h:682
Optional< int > dec_mosreport
Definition: video_config_i.h:587
Optional< bool > background_detection_on
Definition: video_config_i.h:575
Optional< bool > JBMinDelayForRDCEnable
Definition: video_config_i.h:637
Optional< int32_t > video_vpr_init_size
Definition: video_config_i.h:639
Optional< int > minscore_for_swh265enc
Definition: video_config_i.h:562
Optional< int32_t > av_enc_hw_hevc_exceptions
Definition: video_config_i.h:676
Optional< int > frame_width
Definition: video_config_i.h:512
Optional< bool > av_enc_video_use_a264
Definition: video_config_i.h:661
Optional< bool > enable_video_freeze_diagnose
Definition: video_config_i.h:623
Optional< int > max_bitrate
Definition: video_config_i.h:518
Optional< bool > enable_video_sender_frame_dropper
Definition: video_config_i.h:617
Optional< bool > flexible_mode
Definition: video_config_i.h:529
Optional< bool > enable_sr
Definition: video_config_i.h:633
Optional< int > av_enc_default_complexity
Definition: video_config_i.h:694
Optional< uint32_t > hw_encoder_provider
Definition: video_config_i.h:600
Optional< int > num_of_encoder_cores
Definition: video_config_i.h:531
Optional< bool > vqc_quick_adaptNetwork
Definition: video_config_i.h:538
Optional< int > vqc_min_holdtime_auto_resize_zoomin
Definition: video_config_i.h:540
Optional< int32_t > av_enc_video_height_alignment
Definition: video_config_i.h:673
Optional< bool > enable_parser_reject
Definition: video_config_i.h:695
Optional< bool > av_enc_video_force_alignment
Definition: video_config_i.h:678
Optional< bool > video_skip_enable
Definition: video_config_i.h:692
Optional< int > vqc_qp_adjust
Definition: video_config_i.h:542
Optional< bool > quality_scale_only_on_average_qp
Definition: video_config_i.h:582
Optional< bool > enable_hw_decoder
Definition: video_config_i.h:590
Optional< int > bFrames
Definition: video_config_i.h:702
Optional< bool > enable_nvdia_first
Definition: video_config_i.h:619
Optional< int > pvc_one_model
Definition: video_config_i.h:630
Optional< bool > use_sent_ts_enable
Definition: video_config_i.h:646
Optional< int > frame_rate
Definition: video_config_i.h:514
Optional< uint32_t > av_enc_common_rate_control_mode
Definition: video_config_i.h:615
Optional< bool > av_enc_send_alpha_data
Definition: video_config_i.h:698
Optional< bool > av1_screen_enable
Definition: video_config_i.h:555
Optional< int > frame_height
Definition: video_config_i.h:513
Optional< std::string > save_encode_bitrate_params
Definition: video_config_i.h:688
Optional< uint32_t > av_enc_common_quality
Definition: video_config_i.h:606
Optional< int > videoFullrange
Definition: video_config_i.h:683
Optional< int > entropy_coding_mode_flag
Definition: video_config_i.h:573
Optional< bool > enable_minor_stream_intra_request
Definition: video_config_i.h:648
Optional< bool > av1_camera_enable
Definition: video_config_i.h:554
Optional< bool > enable_hw_encoder
Definition: video_config_i.h:597
Definition: video_node_i.h:25
Optional< int32_t > video_render_d3d9_render_mode
Definition: video_config_i.h:658
Optional< int > interlayer_pred
Definition: video_config_i.h:530
Optional< bool > low_stream_enable_hw_encoder
Definition: video_config_i.h:592
Optional< bool > av1_dec_enable
Definition: video_config_i.h:553
Optional< bool > automatic_resize_on
Definition: video_config_i.h:569
Optional< bool > enable_pvc
Definition: video_config_i.h:629