cannam@86: cannam@86: cannam@86: cannam@86: libvorbisenc - Documentation cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86:

libvorbisenc documentation

libvorbisenc version 1.3.2 - 20101101

cannam@86: cannam@86:

Libvorbisenc Setup Examples

cannam@86: cannam@86: VBR is always the recommended mode for Vorbis encoding when cannam@86: there's no need to impose bitrate constraints. True VBR encoding will cannam@86: always produce the most consistent quality output as well as the cannam@86: highest quality for a the bits used. cannam@86: cannam@86:

The following code examples prepare a cannam@86: vorbis_info structure for encoding cannam@86: use with libvorbis.

cannam@86: cannam@86:

Example: encoding using a VBR quality mode

cannam@86: cannam@86: cannam@86:
 
cannam@86:    vorbis_info_init(&vi);
cannam@86: 
cannam@86:   /*********************************************************************
cannam@86:    Encoding using a VBR quality mode.  The usable range is -.1
cannam@86:    (lowest quality, smallest file) to 1.0 (highest quality, largest file).
cannam@86:    Example quality mode .4: 44kHz stereo coupled, roughly 128kbps VBR 
cannam@86:    *********************************************************************/
cannam@86:   
cannam@86:    ret = vorbis_encode_init_vbr(&vi,2,44100,.4);
cannam@86: 
cannam@86:   /*********************************************************************
cannam@86:    do not continue if setup failed; this can happen if we ask for a
cannam@86:    mode that libVorbis does not support (eg, too low a quality mode, etc,
cannam@86:    will return 'OV_EIMPL')
cannam@86:    *********************************************************************/
cannam@86: 
cannam@86:    if(ret) exit(1);
cannam@86: 
cannam@86: cannam@86:

Example: encoding using average bitrate (ABR)

cannam@86: cannam@86: cannam@86:
 
cannam@86:    vorbis_info_init(&vi);
cannam@86: 
cannam@86:   /*********************************************************************
cannam@86:    Encoding using an average bitrate mode (ABR).
cannam@86:    example: 44kHz stereo coupled, average 128kbps ABR 
cannam@86:    *********************************************************************/
cannam@86:   
cannam@86:    ret = vorbis_encode_init(&vi,2,44100,-1,128000,-1);
cannam@86: 
cannam@86:   /*********************************************************************
cannam@86:    do not continue if setup failed; this can happen if we ask for a
cannam@86:    mode that libVorbis does not support (eg, too low a bitrate, etc,
cannam@86:    will return 'OV_EIMPL')
cannam@86:    *********************************************************************/
cannam@86: 
cannam@86:    if(ret) exit(1);
cannam@86: 
cannam@86: cannam@86:

Example: encoding using constant bitrate (CBR)

cannam@86: cannam@86: cannam@86:
 
cannam@86:    vorbis_info_init(&vi);
cannam@86: 
cannam@86:   /*********************************************************************
cannam@86:    Encoding using a constant bitrate mode (CBR).
cannam@86:    example: 44kHz stereo coupled, average 128kbps CBR 
cannam@86:    *********************************************************************/
cannam@86:   
cannam@86:    ret = vorbis_encode_init(&vi,2,44100,128000,128000,128000);
cannam@86: 
cannam@86:   /*********************************************************************
cannam@86:    do not continue if setup failed; this can happen if we ask for a
cannam@86:    mode that libVorbis does not support (eg, too low a bitrate, etc,
cannam@86:    will return 'OV_EIMPL')
cannam@86:    *********************************************************************/
cannam@86: 
cannam@86:    if(ret) exit(1);
cannam@86: 
cannam@86: cannam@86:

Example: encoding using VBR selected by approximate bitrate

cannam@86: cannam@86: cannam@86:
 
cannam@86:    vorbis_info_init(&vi);
cannam@86: 
cannam@86:   /*********************************************************************
cannam@86:    Encode using a quality mode, but select that quality mode by asking for
cannam@86:    an approximate bitrate.  This is not ABR, it is true VBR, but selected
cannam@86:    using the bitrate interface, and then turning bitrate management off:
cannam@86:    *********************************************************************/
cannam@86: 
cannam@86:    ret = ( vorbis_encode_setup_managed(&vi,2,44100,-1,128000,-1) ||
cannam@86:            vorbis_encode_ctl(&vi,OV_ECTL_RATEMANAGE2_SET,NULL) ||
cannam@86:            vorbis_encode_setup_init(&vi));
cannam@86: 
cannam@86:   /*********************************************************************
cannam@86:    do not continue if setup failed; this can happen if we ask for a
cannam@86:    mode that libVorbis does not support (eg, too low a bitrate, etc,
cannam@86:    will return 'OV_EIMPL')
cannam@86:    *********************************************************************/
cannam@86: 
cannam@86:    if(ret) exit(1);
cannam@86: 
cannam@86: cannam@86:

cannam@86:
cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86: cannam@86:

copyright © 2000-2010 Xiph.Org

Ogg Vorbis

libvorbisenc documentation

libvorbisenc version 1.3.2 - 20101101

cannam@86: cannam@86: cannam@86: cannam@86: