annotate src/libvorbis-1.3.3/doc/vorbisenc/examples.html @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 05aa0afa9217
children
rev   line source
Chris@1 1 <html>
Chris@1 2
Chris@1 3 <head>
Chris@1 4 <title>libvorbisenc - Documentation</title>
Chris@1 5 <link rel=stylesheet href="style.css" type="text/css">
Chris@1 6 </head>
Chris@1 7
Chris@1 8 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
Chris@1 9 <table border=0 width=100%>
Chris@1 10 <tr>
Chris@1 11 <td><p class=tiny>libvorbisenc documentation</p></td>
Chris@1 12 <td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
Chris@1 13 </tr>
Chris@1 14 </table>
Chris@1 15
Chris@1 16 <h1>Libvorbisenc Setup Examples</h1>
Chris@1 17
Chris@1 18 VBR is always the recommended mode for Vorbis encoding when
Chris@1 19 there's no need to impose bitrate constraints. True VBR encoding will
Chris@1 20 always produce the most consistent quality output as well as the
Chris@1 21 highest quality for a the bits used.
Chris@1 22
Chris@1 23 <p>The following code examples prepare a
Chris@1 24 <a href="../libvorbis/vorbis_info.html">vorbis_info</a> structure for encoding
Chris@1 25 use with libvorbis.<p>
Chris@1 26
Chris@1 27 <h2>Example: encoding using a VBR quality mode</h2>
Chris@1 28
Chris@1 29 <table border=0 width=100% color=black cellspacing=0 cellpadding=7>
Chris@1 30 <tr bgcolor=#cccccc><td><pre><b>
Chris@1 31 vorbis_info_init(&vi);
Chris@1 32
Chris@1 33 /*********************************************************************
Chris@1 34 Encoding using a VBR quality mode. The usable range is -.1
Chris@1 35 (lowest quality, smallest file) to 1.0 (highest quality, largest file).
Chris@1 36 Example quality mode .4: 44kHz stereo coupled, roughly 128kbps VBR
Chris@1 37 *********************************************************************/
Chris@1 38
Chris@1 39 ret = vorbis_encode_init_vbr(&vi,2,44100,.4);
Chris@1 40
Chris@1 41 /*********************************************************************
Chris@1 42 do not continue if setup failed; this can happen if we ask for a
Chris@1 43 mode that libVorbis does not support (eg, too low a quality mode, etc,
Chris@1 44 will return 'OV_EIMPL')
Chris@1 45 *********************************************************************/
Chris@1 46
Chris@1 47 if(ret) exit(1);
Chris@1 48 </b></pre></td></tr></table>
Chris@1 49
Chris@1 50 <h2>Example: encoding using average bitrate (ABR)</h2>
Chris@1 51
Chris@1 52 <table border=0 width=100% color=black cellspacing=0 cellpadding=7>
Chris@1 53 <tr bgcolor=#cccccc><td><pre><b>
Chris@1 54 vorbis_info_init(&vi);
Chris@1 55
Chris@1 56 /*********************************************************************
Chris@1 57 Encoding using an average bitrate mode (ABR).
Chris@1 58 example: 44kHz stereo coupled, average 128kbps ABR
Chris@1 59 *********************************************************************/
Chris@1 60
Chris@1 61 ret = vorbis_encode_init(&vi,2,44100,-1,128000,-1);
Chris@1 62
Chris@1 63 /*********************************************************************
Chris@1 64 do not continue if setup failed; this can happen if we ask for a
Chris@1 65 mode that libVorbis does not support (eg, too low a bitrate, etc,
Chris@1 66 will return 'OV_EIMPL')
Chris@1 67 *********************************************************************/
Chris@1 68
Chris@1 69 if(ret) exit(1);
Chris@1 70 </b></pre></td></tr></table>
Chris@1 71
Chris@1 72 <h2>Example: encoding using constant bitrate (CBR)</h2>
Chris@1 73
Chris@1 74 <table border=0 width=100% color=black cellspacing=0 cellpadding=7>
Chris@1 75 <tr bgcolor=#cccccc><td><pre><b>
Chris@1 76 vorbis_info_init(&vi);
Chris@1 77
Chris@1 78 /*********************************************************************
Chris@1 79 Encoding using a constant bitrate mode (CBR).
Chris@1 80 example: 44kHz stereo coupled, average 128kbps CBR
Chris@1 81 *********************************************************************/
Chris@1 82
Chris@1 83 ret = vorbis_encode_init(&vi,2,44100,128000,128000,128000);
Chris@1 84
Chris@1 85 /*********************************************************************
Chris@1 86 do not continue if setup failed; this can happen if we ask for a
Chris@1 87 mode that libVorbis does not support (eg, too low a bitrate, etc,
Chris@1 88 will return 'OV_EIMPL')
Chris@1 89 *********************************************************************/
Chris@1 90
Chris@1 91 if(ret) exit(1);
Chris@1 92 </b></pre></td></tr></table>
Chris@1 93
Chris@1 94 <h2>Example: encoding using VBR selected by approximate bitrate</h2>
Chris@1 95
Chris@1 96 <table border=0 width=100% color=black cellspacing=0 cellpadding=7>
Chris@1 97 <tr bgcolor=#cccccc><td><pre><b>
Chris@1 98 vorbis_info_init(&vi);
Chris@1 99
Chris@1 100 /*********************************************************************
Chris@1 101 Encode using a quality mode, but select that quality mode by asking for
Chris@1 102 an approximate bitrate. This is not ABR, it is true VBR, but selected
Chris@1 103 using the bitrate interface, and then turning bitrate management off:
Chris@1 104 *********************************************************************/
Chris@1 105
Chris@1 106 ret = ( vorbis_encode_setup_managed(&vi,2,44100,-1,128000,-1) ||
Chris@1 107 vorbis_encode_ctl(&vi,OV_ECTL_RATEMANAGE2_SET,NULL) ||
Chris@1 108 vorbis_encode_setup_init(&vi));
Chris@1 109
Chris@1 110 /*********************************************************************
Chris@1 111 do not continue if setup failed; this can happen if we ask for a
Chris@1 112 mode that libVorbis does not support (eg, too low a bitrate, etc,
Chris@1 113 will return 'OV_EIMPL')
Chris@1 114 *********************************************************************/
Chris@1 115
Chris@1 116 if(ret) exit(1);
Chris@1 117 </b></pre></td></tr></table>
Chris@1 118
Chris@1 119 <br><br>
Chris@1 120 <hr noshade>
Chris@1 121 <table border=0 width=100%>
Chris@1 122 <tr valign=top>
Chris@1 123 <td><p class=tiny>copyright &copy; 2000-2010 Xiph.Org</p></td>
Chris@1 124 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
Chris@1 125 </tr><tr>
Chris@1 126 <td><p class=tiny>libvorbisenc documentation</p></td>
Chris@1 127 <td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
Chris@1 128 </tr>
Chris@1 129 </table>
Chris@1 130
Chris@1 131 </body>
Chris@1 132
Chris@1 133 </html>