int width;
int height; // Flag indicating if the content is screen or not. bool is_screen; // 0-63
int max_quantizer;
int min_quantizer;
int64_t target_bandwidth;
int64_t buf_initial_sz;
int64_t buf_optimal_sz;
int64_t buf_sz;
int undershoot_pct;
int overshoot_pct;
int max_intra_bitrate_pct;
int max_inter_bitrate_pct;
int frame_drop_thresh;
int max_consec_drop_ms; double framerate;
int layer_target_bitrate[kAomAV1MaxLayers];
int ts_rate_decimator[kAomAV1MaxTemporalLayers];
int aq_mode; // Number of spatial layers
int ss_number_layers; // Number of temporal layers
int ts_number_layers;
int max_quantizers[kAomAV1MaxLayers];
int min_quantizers[kAomAV1MaxLayers];
int scaling_factor_num[kAomAV1MaxSpatialLayers];
int scaling_factor_den[kAomAV1MaxSpatialLayers];
} AomAV1RateControlRtcConfig;
using AV1LoopfilterLevel = AomAV1LoopfilterLevel; using AV1CdefInfo = AomAV1CdefInfo; using AV1SegmentationData = AomAV1SegmentationData; using AV1FrameParamsRTC = AomAV1FrameParamsRTC; using AV1RateControlRtcConfig = AomAV1RateControlRtcConfig;
bool UpdateRateControl(const AV1RateControlRtcConfig &rc_cfg); // GetQP() needs to be called after ComputeQP() to get the latest QP
int GetQP() const; // GetLoopfilterLevel() needs to be called after ComputeQP()
AV1LoopfilterLevel GetLoopfilterLevel() const; // GetCdefInfo() needs to be called after ComputeQP()
AV1CdefInfo GetCdefInfo() const; // Returns the segmentation map used for cyclic refresh, based on 4x4 blocks. bool GetSegmentationData(AV1SegmentationData *segmentation_data) const; // ComputeQP returns the QP if the frame is not dropped (kOk return), // otherwise it returns kDrop and subsequent GetQP and PostEncodeUpdate // are not to be called (av1_rc_postencode_update_drop_frame is already // called via ComputeQP if drop is decided).
FrameDropDecision ComputeQP(const AV1FrameParamsRTC &frame_params); // Feedback to rate control with the size of current encoded frame void PostEncodeUpdate(uint64_t encoded_frame_size);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.