libvorbisenc documentation

libvorbisenc release 1.1 - 20040709

Libvorbisenc API changes 1.0 through 1.1

This document describes API additions to libvorbisenc between release 1.0 and 1.1.

1.0.1

The programming API and binary application ABI are unchanged and fully forward/backward compatible between release 1.0 and 1.0.1. Libvorbis, libvorbisenc and libvorbisfile must match versions amongst themselves, however.

1.1

The binary ABI from release 1.0.1 to 1.1 is backward compatible; applications linked against libvorbis/libvorbisenc 1.0 and 1.0.1 will continue to function correctly when upgrading the libvorbis and libvorbisenc dynamic libraries without re-linking.

Release 1.1 adds several possible requests to the libvorbisenc vorbis_encode_ctl() call in order to reflect the shift to bit-reservoir style bitrate management. In addition, several vorbis_encode_ctl() requests are deprecated (but functional) as they are redered semantically obsolete by the new bitrate management.

Deprecated in 1.1

These calls are still available to older codebases to preserve compatability; the fields of the ovectl_ratemanage_arg argument are mapped as closely as possible to the fields of the new ovectl_ratemanage2_arg structure.
OV_ECTL_RATEMANAGE_GET:
Use OV_ECTL_RATEMANAGE2_GET instead.
OV_ECTL_RATEMANAGE_SET:
Use OV_ECTL_RATEMANAGE2_SET instead.
OV_ECTL_RATEMANAGE_AVG:
Use OV_ECTL_RATEMANAGE2_SET instead.
OV_ECTL_RATEMANAGE_HARD:
Use OV_ECTL_RATEMANAGE2_SET instead.

Newly added in 1.1

The following calls are added in 1.1 to semantically reflect movement to a bit-reservoir-based bitrate management scheme by introducing the ovectl_ratemanage2_arg structure in order to better represent the abilities of the bitrate manager.

OV_ECTL_RATEMANAGE2_GET
Used to query the current state of bitrate management setup.
OV_ECTL_RATEMANAGE2_SET
Used to set or alter bitrate management settings.



copyright © 2000-2004 vorbis team

Ogg Vorbis
team@vorbis.org

libvorbisenc documentation

libvorbisenc release 1.1 - 20040709