Chris@1: Chris@1: Chris@1: Chris@1: libvorbisenc - Documentation Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1:

libvorbisenc documentation

libvorbisenc version 1.3.2 - 20101101

Chris@1: Chris@1:

Libvorbisenc Setup Examples

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

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

Chris@1: Chris@1:

Example: encoding using a VBR quality mode

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

Example: encoding using average bitrate (ABR)

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

Example: encoding using constant bitrate (CBR)

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

Example: encoding using VBR selected by approximate bitrate

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

Chris@1:
Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1: Chris@1:

copyright © 2000-2010 Xiph.Org

Ogg Vorbis

libvorbisenc documentation

libvorbisenc version 1.3.2 - 20101101

Chris@1: Chris@1: Chris@1: Chris@1: