Chris@1:
Chris@1: The ovectl_ratemanage2_arg structure is used with vorbis_encode_ctl() and the OV_ECTL_RATEMANAGE2_GET and
Chris@1: OV_ECTL_RATEMANAGE2_SET calls in order to query and modify specifics
Chris@1: of the encoder's bitrate management configuration.
Chris@1:
Chris@1:
Chris@1:
Chris@1:
Chris@1:
Chris@1:
Chris@1:
struct ovectl_ratemanage2_arg {
Chris@1: int management_active;
Chris@1:
Chris@1: long bitrate_limit_min_kbps;
Chris@1: long bitrate_limit_max_kbps;
Chris@1: long bitrate_limit_reservoir_bits;
Chris@1: double bitrate_limit_reservoir_bias;
Chris@1:
Chris@1: long bitrate_average_kbps;
Chris@1: double bitrate_average_damping;
Chris@1: };
Chris@1:
Chris@1:
Chris@1:
Chris@1:
Chris@1:
Relevant Struct Members
Chris@1:
Chris@1:
management_active
Chris@1:
nonzero if bitrate management is active
Chris@1:
Chris@1:
bitrate_limit_min_kbps
Chris@1:
Lower allowed bitrate limit in kilobits per second
Chris@1:
bitrate_limit_max_kbps
Chris@1:
Upper allowed bitrate limit in kilobits per second
Chris@1:
bitrate_limit_reservoir_bits
Chris@1:
Size of the bitrate reservoir in bits
Chris@1:
bitrate_limit_reservoir_bias
Chris@1:
Chris@1:
Regulates the bitrate reservoir's preferred fill level in a range
Chris@1: from 0.0 to 1.0; 0.0 tries to bank bits to buffer against future
Chris@1: bitrate spikes, 1.0 buffers against future sudden drops in
Chris@1: instantaneous bitrate. Default is 0.1
Chris@1:
Chris@1:
bitrate_average_kbps
Chris@1:
Average bitrate setting in kilobits per second
Chris@1:
Chris@1:
bitrate_average_damping
Slew rate limit setting
Chris@1: for average bitrate adjustment; sets the minimum time in seconds the
Chris@1: bitrate tracker may swing from one extreme to the other when boosting
Chris@1: or damping average bitrate.