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