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)
201 #define BEGIN_COMPARE() bool b = true
202 #define ADD_COMPARE(X) b = (b && (X == o.X))
203 #define END_COMPARE()
379 #define ADD_STRING(X) ost << ToStringIfSet(#X, X)
381 std::ostringstream ost;
547 std::string ret = ost.str();
548 auto index = ret.rfind(
",");
549 if (index != ret.npos) {
550 ret = ret.substr(0, index);
554 return "{" NEW_LINE + ret +
"}";
1010 std::string ToStringIfSet(
const char* key,
const Optional<T>& val)
const {
1014 str =
"\t\"" + str +
"\"";
1016 str += std::to_string(*val);
1027 str =
"\t\"" + str +
"\"";
1036 std::string ToStringIfSet(
const char* key,
const Optional<bool>& val)
const {
1040 str =
"\t\"" + str +
"\"";
1042 str += *val ?
"true" :
"false";
1049 template <
typename T>
1050 static void SetFrom(Optional<T>* s,
const Optional<T>& o) {
Optional< int > fps_up_step
Definition: video_config_i.h:577
VideoConfigurationEx()=default
Optional< int > h264_hw_min_res_level
Definition: video_config_i.h:985
Optional< uint32_t > av_dec_video_acceleration_vc1
Definition: video_config_i.h:679
Optional< int32_t > intel_cpu_threshold_mhz
Definition: video_config_i.h:981
Optional< std::string > av_enc_mpv_quant_matrix_intra
Definition: video_config_i.h:961
Optional< uint32_t > av_enc_video_header_hours
Definition: video_config_i.h:748
Optional< int > av_enc_video_max_slices
Definition: video_config_i.h:987
Optional< uint32_t > av_enc_mpv_scene_detection
Definition: video_config_i.h:974
Optional< uint32_t > av_enc_video_header_minutes
Definition: video_config_i.h:750
Optional< uint32_t > av_enc_video_input_color_transfer_function
Definition: video_config_i.h:797
bool operator!=(const VideoConfigurationEx &o) const
Definition: video_config_i.h:376
Optional< std::string > pps_data
Definition: video_config_i.h:568
Optional< bool > av_enc_mpv_generate_header_pic_disp_ext
Definition: video_config_i.h:916
Optional< bool > av_enc_video_field_swap
Definition: video_config_i.h:736
Optional< bool > adaptive_op_mode
Definition: video_config_i.h:570
Optional< uint32_t > av_dec_video_fast_decode_mode
Definition: video_config_i.h:684
Optional< std::string > bitrate_adjust_ratio
Definition: video_config_i.h:600
Optional< int > fps_down_step
Definition: video_config_i.h:576
Optional< uint32_t > av_enc_mpv_frame_field_mode
Definition: video_config_i.h:914
Optional< uint32_t > av_enc_video_max_keyframe_distance
Definition: video_config_i.h:810
Optional< std::string > av_dec_common_input_format
Definition: video_config_i.h:616
Optional< uint32_t > av_enc_video_input_chroma_subsampling
Definition: video_config_i.h:761
Optional< uint32_t > av_enc_video_input_color_lighting
Definition: video_config_i.h:769
Optional< uint32_t > av_enc_mpv_default_b_picture_count
Definition: video_config_i.h:910
Optional< uint32_t > av_enc_common_buffer_in_level
Definition: video_config_i.h:625
Optional< int > vqc_version
Definition: video_config_i.h:578
Optional< bool > av_enc_mpvgop_open
Definition: video_config_i.h:926
Optional< int > av_enc_common_max_bit_rate
Definition: video_config_i.h:636
Optional< uint32_t > av_enc_common_buffer_size
Definition: video_config_i.h:629
Optional< int > min_bitrate
Definition: video_config_i.h:563
Optional< uint32_t > av_dec_video_sw_power_level
Definition: video_config_i.h:703
Optional< uint32_t > av_enc_video_coded_video_access_unit_size
Definition: video_config_i.h:720
Optional< int > av_enc_common_mean_bit_rate
Definition: video_config_i.h:638
Optional< bool > frame_dropping_on
Definition: video_config_i.h:593
Optional< int > orientation_mode
Definition: video_config_i.h:565
Optional< uint32_t > av_enc_mpv_intra_vlc_table
Definition: video_config_i.h:937
Optional< int > h264_profile
Definition: video_config_i.h:569
Optional< uint32_t > av_enc_mpv_level
Definition: video_config_i.h:943
Optional< bool > av_enc_video_inverse_telecine_enable
Definition: video_config_i.h:806
Optional< uint32_t > av_enc_video_input_color_primaries
Definition: video_config_i.h:786
Optional< std::string > av_dec_mmcss_class
Definition: video_config_i.h:620
Optional< std::string > av_enc_mpv_quant_matrix_non_intra
Definition: video_config_i.h:963
Optional< int > posted_frames_waiting_for_encode
Definition: video_config_i.h:599
Optional< bool > av_dec_video_thumbnail_generation_mode
Definition: video_config_i.h:705
Optional< uint32_t > av_dec_video_acceleration_h264
Definition: video_config_i.h:673
Optional< int > vqc_min_framerate
Definition: video_config_i.h:581
Definition: AgoraAtomicOps.h:21
Optional< int32_t > av_enc_video_width_alignment
Definition: video_config_i.h:1003
Optional< uint32_t > av_enc_video_output_chroma_resolution
Definition: video_config_i.h:823
Optional< int > key_frame_interval
Definition: video_config_i.h:595
bool operator==(const VideoConfigurationEx &o) const
Definition: video_config_i.h:200
Optional< bool > av_enc_mpv_add_seq_end_code
Definition: video_config_i.h:908
Optional< uint32_t > av_enc_video_header_drop_frame
Definition: video_config_i.h:744
Optional< uint32_t > av_enc_mpv_profile
Definition: video_config_i.h:950
Optional< bool > denoising_on
Definition: video_config_i.h:591
Optional< uint32_t > av_enc_mpvgops_in_seq
Definition: video_config_i.h:928
Optional< bool > av_enc_video_source_is_bw
Definition: video_config_i.h:906
Optional< uint32_t > av_enc_video_input_chroma_resolution
Definition: video_config_i.h:759
Optional< uint32_t > av_enc_input_video_system
Definition: video_config_i.h:714
Optional< std::string > av_enc_codec_type
Definition: video_config_i.h:623
Optional< uint32_t > av_enc_video_display_dimension
Definition: video_config_i.h:726
Optional< int32_t > video_vpr_max_size
Definition: video_config_i.h:991
Optional< bool > av_enc_common_low_latency
Definition: video_config_i.h:634
Optional< bool > enable_video_vpr
Definition: video_config_i.h:989
Optional< int32_t > video_vpr_frozen_ms_thres
Definition: video_config_i.h:992
Optional< int > start_bitrate
Definition: video_config_i.h:561
~VideoConfigurationEx()=default
Optional< int > av_enc_common_mean_bit_rate_interval
Definition: video_config_i.h:640
Optional< int > dmfec_min_level
Definition: video_config_i.h:588
Optional< int > vqc_ios_h265_adjust
Definition: video_config_i.h:585
Optional< int > h264_qp_thresholds_high
Definition: video_config_i.h:607
void SetAll(const VideoConfigurationEx &change)
Definition: video_config_i.h:30
std::string ToString() const
Definition: video_config_i.h:378
Optional< uint32_t > av_enc_video_header_frames
Definition: video_config_i.h:746
Optional< uint32_t > av_enc_video_output_color_transfer_function
Definition: video_config_i.h:866
Optional< int32_t > video_vpr_frozen_rate_thres
Definition: video_config_i.h:993
Optional< int > complexity
Definition: video_config_i.h:590
Optional< uint32_t > av_enc_video_pixel_aspect_ratio
Definition: video_config_i.h:899
Optional< bool > use_single_slice_parser
Definition: video_config_i.h:1002
Optional< uint32_t > av_dec_video_software_deinterlace_mode
Definition: video_config_i.h:699
Optional< int > vqc_min_holdtime_auto_resize_zoomout
Definition: video_config_i.h:583
Optional< uint32_t > av_enc_common_buffer_out_level
Definition: video_config_i.h:627
Optional< int > codec_type
Definition: video_config_i.h:557
Optional< uint32_t > av_enc_video_encode_offset_origin
Definition: video_config_i.h:734
Optional< uint64_t > av_enc_video_output_frame_rate
Definition: video_config_i.h:884
Optional< int > dm_wsize
Definition: video_config_i.h:587
Optional< int > h264_qp_thresholds_low
Definition: video_config_i.h:606
Optional< int32_t > nvdia_cpu_threshold_mhz
Definition: video_config_i.h:980
Optional< std::string > av_dec_common_output_format
Definition: video_config_i.h:618
Optional< std::string > av_enc_common_format_constraint
Definition: video_config_i.h:631
Optional< bool > vdm_not_override_lua_smallvideo_not_use_hwenc_policy
Definition: video_config_i.h:982
Optional< uint8_t > number_of_temporal_layers
Definition: video_config_i.h:566
Optional< bool > av_enc_mpv_generate_header_seq_ext
Definition: video_config_i.h:922
Optional< uint64_t > av_enc_video_no_of_fields_to_skip
Definition: video_config_i.h:816
Optional< bool > retrans_detect_enable
Definition: video_config_i.h:995
Optional< int > degradation_preference
Definition: video_config_i.h:575
Optional< int > video_rotation
Definition: video_config_i.h:996
Optional< std::string > av_enc_mpv_quant_matrix_chroma_non_intra
Definition: video_config_i.h:959
Optional< int > fec_method
Definition: video_config_i.h:586
Optional< bool > av_enc_mpv_generate_header_pic_ext
Definition: video_config_i.h:918
Optional< bool > has_intra_request
Definition: video_config_i.h:594
Optional< bool > av_dec_output_byte_frame
Definition: video_config_i.h:1006
Optional< uint32_t > av_dec_video_acceleration_mpeg2
Definition: video_config_i.h:676
Optional< std::string > minbitrate_ratio
Definition: video_config_i.h:601
Optional< int > loop_filter_disable_idc
Definition: video_config_i.h:597
Definition: video_config_i.h:25
Optional< int > target_bitrate
Definition: video_config_i.h:562
Optional< bool > av_enc_common_real_time
Definition: video_config_i.h:661
Optional< uint8_t > number_of_spatial_layers
Definition: video_config_i.h:571
Optional< bool > av_enc_mpv_use_concealment_motion_vectors
Definition: video_config_i.h:977
Optional< bool > av_enc_mpv_generate_header_seq_scale_ext
Definition: video_config_i.h:924
Optional< uint32_t > av_enc_mux_output_stream_type
Definition: video_config_i.h:669
Optional< std::string > sps_data
Definition: video_config_i.h:567
Optional< uint32_t > av_enc_video_encode_dimension
Definition: video_config_i.h:730
Optional< uint32_t > av_enc_video_output_color_lighting
Definition: video_config_i.h:838
Optional< bool > av_enc_mpv_generate_header_seq_disp_ext
Definition: video_config_i.h:920
Optional< bool > av_enc_vmaf_calc
Definition: video_config_i.h:1000
Optional< uint32_t > av_enc_mpvq_scale_type
Definition: video_config_i.h:955
Optional< uint32_t > av_enc_video_output_color_nominal_range
Definition: video_config_i.h:844
Optional< uint32_t > av_enc_video_output_frame_rate_conversion
Definition: video_config_i.h:890
Optional< bool > background_detection_on
Definition: video_config_i.h:598
Optional< uint32_t > av_enc_video_input_color_transfer_matrix
Definition: video_config_i.h:804
Optional< int32_t > video_vpr_init_size
Definition: video_config_i.h:990
Optional< uint32_t > av_enc_video_output_chroma_subsampling
Definition: video_config_i.h:830
Optional< uint32_t > av_enc_common_quality_vs_speed
Definition: video_config_i.h:650
Optional< uint32_t > av_dec_video_input_scan_type
Definition: video_config_i.h:690
Optional< uint32_t > av_enc_video_input_color_nominal_range
Definition: video_config_i.h:775
Optional< uint32_t > av_dec_video_pixel_aspect_ratio
Definition: video_config_i.h:693
Optional< int > frame_width
Definition: video_config_i.h:558
Optional< bool > av_enc_video_use_a264
Definition: video_config_i.h:998
Optional< bool > enable_video_freeze_diagnose
Definition: video_config_i.h:983
Optional< int > max_bitrate
Definition: video_config_i.h:564
Optional< bool > enable_video_sender_frame_dropper
Definition: video_config_i.h:976
Optional< bool > flexible_mode
Definition: video_config_i.h:572
Optional< bool > av_dec_video_drop_pic_with_missing_ref
Definition: video_config_i.h:681
Optional< uint32_t > av_enc_video_output_color_transfer_matrix
Definition: video_config_i.h:873
Optional< int > num_of_encoder_cores
Definition: video_config_i.h:574
Optional< uint32_t > av_enc_mpvgop_size
Definition: video_config_i.h:930
Optional< bool > vqc_quick_adaptNetwork
Definition: video_config_i.h:580
Optional< int > vqc_min_holdtime_auto_resize_zoomin
Definition: video_config_i.h:582
Optional< int32_t > av_enc_video_height_alignment
Definition: video_config_i.h:1004
Optional< bool > av_enc_video_force_alignment
Definition: video_config_i.h:1005
Optional< int > vqc_qp_adjust
Definition: video_config_i.h:584
Optional< bool > quality_scale_only_on_average_qp
Definition: video_config_i.h:605
Optional< bool > enable_hw_decoder
Definition: video_config_i.h:612
Optional< bool > enable_nvdia_first
Definition: video_config_i.h:979
Optional< uint32_t > av_enc_mpv_intra_dc_precision
Definition: video_config_i.h:932
Optional< bool > av_enc_common_stream_end_handling
Definition: video_config_i.h:664
Optional< uint32_t > av_enc_video_cbr_motion_tradeoff
Definition: video_config_i.h:718
Optional< uint32_t > av_enc_video_header_seconds
Definition: video_config_i.h:752
Optional< std::string > av_enc_mpv_quant_matrix_chroma_intra
Definition: video_config_i.h:957
Optional< uint32_t > av_enc_video_output_color_primaries
Definition: video_config_i.h:855
Optional< int > frame_rate
Definition: video_config_i.h:560
Optional< uint32_t > av_enc_common_rate_control_mode
Definition: video_config_i.h:659
Optional< uint32_t > av_enc_video_inverse_telecine_threshold
Definition: video_config_i.h:808
Optional< uint32_t > av_enc_mpv_scan_pattern
Definition: video_config_i.h:968
Optional< uint32_t > av_enc_video_source_film_content
Definition: video_config_i.h:904
Optional< int > av_enc_common_min_bit_rate
Definition: video_config_i.h:642
Optional< uint32_t > av_enc_video_no_of_fields_to_encode
Definition: video_config_i.h:813
Optional< int > frame_height
Definition: video_config_i.h:559
Optional< uint32_t > av_enc_common_quality
Definition: video_config_i.h:646
Optional< uint32_t > av_enc_video_output_scan_type
Definition: video_config_i.h:896
Optional< int > entropy_coding_mode_flag
Definition: video_config_i.h:596
Optional< std::string > hw_encoder_provider
Definition: video_config_i.h:614
Optional< bool > enable_hw_encoder
Definition: video_config_i.h:610
Definition: video_node_i.h:27
Optional< uint32_t > av_enc_video_force_source_scan_type
Definition: video_config_i.h:741
Optional< bool > av_enc_video_default_upper_field_dominant
Definition: video_config_i.h:722
Optional< int > interlayer_pred
Definition: video_config_i.h:573
Optional< bool > automatic_resize_on
Definition: video_config_i.h:592