1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-04-30 15:49:41 +02:00
audacity/lib-src/twolame/doc/html/twolame_8h.html
2013-10-24 04:32:13 +00:00

2532 lines
122 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>twolame: twolame.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">twolame&#160;<span id="projectnumber">0.3.13</span></div>
<div id="projectbrief">MPEGAudioLayer2encoder</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<h1>twolame.h File Reference</h1> </div>
</div>
<div class="contents">
<p><a href="twolame_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a09bd4a4970ba3c49e9f1327daefeb8c1">TWOLAME_SAMPLES_PER_FRAME</a>&#160;&#160;&#160;(1152)</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
twolame_options_struct&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a91879045676d9146c9bfcb8b0a30b57f">TWOLAME_MPEG_mode</a> { <br/>
&#160;&#160;<a class="el" href="twolame_8h.html#a91879045676d9146c9bfcb8b0a30b57fab0b25df193c4be6b5c7bda71166df264">TWOLAME_AUTO_MODE</a> = -1,
<br/>
&#160;&#160;<a class="el" href="twolame_8h.html#a91879045676d9146c9bfcb8b0a30b57fa785df1b22ebb296610b938793906f66d">TWOLAME_STEREO</a> = 0,
<br/>
&#160;&#160;<a class="el" href="twolame_8h.html#a91879045676d9146c9bfcb8b0a30b57fa944018843ef67ac47d3e680c749b2967">TWOLAME_JOINT_STEREO</a>,
<br/>
&#160;&#160;<a class="el" href="twolame_8h.html#a91879045676d9146c9bfcb8b0a30b57fae054f4dcb5762d5c58c3db92e5338601">TWOLAME_DUAL_CHANNEL</a>,
<br/>
&#160;&#160;<a class="el" href="twolame_8h.html#a91879045676d9146c9bfcb8b0a30b57fa482d714be97e4cb21c223850ece06456">TWOLAME_MONO</a>
<br/>
}</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a0f4e287fec57b8ba38e28395996eb6e3">TWOLAME_MPEG_version</a> { <br/>
&#160;&#160;<a class="el" href="twolame_8h.html#a0f4e287fec57b8ba38e28395996eb6e3a89b91170fa0bb8423f45ff7a1b45b1d8">TWOLAME_MPEG2</a> = 0,
<br/>
&#160;&#160;<a class="el" href="twolame_8h.html#a0f4e287fec57b8ba38e28395996eb6e3ae8dc89cc37c6203400e64768eb6b59d5">TWOLAME_MPEG1</a>
<br/>
}</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#af83f4f73e4c57db45269667b4421730e">TWOLAME_Padding</a> { <br/>
&#160;&#160;<a class="el" href="twolame_8h.html#af83f4f73e4c57db45269667b4421730eab2dd0f81e433f7f708622c96466dbff3">TWOLAME_PAD_NO</a> = 0,
<br/>
&#160;&#160;<a class="el" href="twolame_8h.html#af83f4f73e4c57db45269667b4421730eaecf832eac6e75140fc9397b621e590a8">TWOLAME_PAD_ALL</a>
<br/>
}</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a50521fc75f96f949634f8f6536c1be1b">TWOLAME_Emphasis</a> { <br/>
&#160;&#160;<a class="el" href="twolame_8h.html#a50521fc75f96f949634f8f6536c1be1ba73eced6173758db8e4186d07ee510dd1">TWOLAME_EMPHASIS_N</a> = 0,
<br/>
&#160;&#160;<a class="el" href="twolame_8h.html#a50521fc75f96f949634f8f6536c1be1baeca80cfc79ece58fd01e06f974394c6e">TWOLAME_EMPHASIS_5</a> = 1,
<br/>
&#160;&#160;<a class="el" href="twolame_8h.html#a50521fc75f96f949634f8f6536c1be1ba038be927e1993710372565262a73e62d">TWOLAME_EMPHASIS_C</a> = 3
<br/>
}</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ac73aa5af9bd007a90ec39fc2d463f486">get_twolame_version</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a3e82f14e8b2973a4621dd7f599ba6702">get_twolame_url</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a3a0793a526503a0833736287a38722d3">twolame_print_config</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ac4cdab0d6542badab38bb4ddf96957fb">twolame_init</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a479229b288016a4b7b1dd696e4000257">twolame_init_params</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a7656283020d9b131790bf5a99af055c4">twolame_encode_buffer</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, const short int leftpcm[], const short int rightpcm[], int num_samples, unsigned char *mp2buffer, int mp2buffer_size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a578b70ad7abfcc2bbed09ecf661fd66e">twolame_encode_buffer_interleaved</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, const short int pcm[], int num_samples, unsigned char *mp2buffer, int mp2buffer_size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a8e77eb0f22479f8ec1bd4f1b042f9cd9">twolame_encode_buffer_float32</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, const float leftpcm[], const float rightpcm[], int num_samples, unsigned char *mp2buffer, int mp2buffer_size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#aca716bf42f767e889c0505206c3f1160">twolame_encode_buffer_float32_interleaved</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, const float pcm[], int num_samples, unsigned char *mp2buffer, int mp2buffer_size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a3903ae20e7e99b7774c527e3e9ed3ab3">twolame_encode_flush</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, unsigned char *mp2buffer, int mp2buffer_size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a5a9adda3b79826aa841471dda5e87e34">twolame_close</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> **glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#aa98e4d1b7bfdbe4702074f53d7343ac4">twolame_set_verbosity</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int verbosity)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ac791c3826717a0c5c580449f1021e0e5">twolame_get_verbosity</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#aef8212f0d9c29618826274b9685cddf9">twolame_set_mode</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, <a class="el" href="twolame_8h.html#a91879045676d9146c9bfcb8b0a30b57f">TWOLAME_MPEG_mode</a> mode)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="twolame_8h.html#a91879045676d9146c9bfcb8b0a30b57f">TWOLAME_MPEG_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a59ce06e05cfa978689ee3195264190c9">twolame_get_mode</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a4b8302f67ce0c691cd0fbd7c08c79729">twolame_get_mode_name</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ab6d5accf1b38fa49af75b33415dcd89e">twolame_set_version</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, <a class="el" href="twolame_8h.html#a0f4e287fec57b8ba38e28395996eb6e3">TWOLAME_MPEG_version</a> version)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="twolame_8h.html#a0f4e287fec57b8ba38e28395996eb6e3">TWOLAME_MPEG_version</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a1d381b8f8b615aa3a98f2ad19668738a">twolame_get_version</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#aab4b76e8f09388229cc3e6789ef5979e">twolame_get_version_name</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ae6a2eea827688dc46b929536150da3b6">twolame_get_framelength</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a3810cbcbf62700685b54083147a27f7b">twolame_set_psymodel</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int psymodel)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a101e8c94bd34e64c0c25e65866253c58">twolame_get_psymodel</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a0f52f945ac41a45e47555b40e4c29a5f">twolame_set_num_channels</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int num_channels)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ac77ec659a0546bd0393b6e317553fc7f">twolame_get_num_channels</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#aa13250b4af52ce46a76f5dfe1a027697">twolame_set_scale</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, float scale)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a3deeb5e64e08c3347e09205f00d19b97">twolame_get_scale</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a6283594f9de7c332982f34fcf1021e26">twolame_set_scale_left</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, float scale)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ab33a74b3846656f94da0977bbcb2f151">twolame_get_scale_left</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#aa9233c1b394311ed4779d9ace6916308">twolame_set_scale_right</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, float scale)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a0750330f1ac29c88dea28a3945e6f953">twolame_get_scale_right</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#affb3e7a2d178505aa0993d49a6535ed0">twolame_set_in_samplerate</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int samplerate)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#af5005929502db228375bb635b041ed7a">twolame_get_in_samplerate</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a5c364e5741f1f9f490c848733f2031df">twolame_set_out_samplerate</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int samplerate)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a13be375a082dc802e6b408171dc3bb69">twolame_get_out_samplerate</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a544b8b46797b18891eeccaf17e314701">twolame_set_bitrate</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int bitrate)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ad86ca8099646d77e86578f879f16beb1">twolame_get_bitrate</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ad56fa68b723f3232c7feb162c1142a14">twolame_set_brate</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int bitrate)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a961463704f86a2d3f310004be9a3a0b3">twolame_get_brate</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#aaaa5455a98cbba0fafde73c61d6079be">twolame_set_padding</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, <a class="el" href="twolame_8h.html#af83f4f73e4c57db45269667b4421730e">TWOLAME_Padding</a> padding)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="twolame_8h.html#af83f4f73e4c57db45269667b4421730e">TWOLAME_Padding</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a9e2ea760fc280da8edd3b06d6b50efbf">twolame_get_padding</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#af53c80e3221f2030fceeb9acfb21854b">twolame_set_energy_levels</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int energylevels)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#aeea27328604d2906772f9f3b7756fe47">twolame_get_energy_levels</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a8349b49903299a3bfc4d2ae0b5b0cdbd">twolame_set_num_ancillary_bits</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int num)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a2224987bc284c6a6400d485e6dd88351">twolame_get_num_ancillary_bits</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#af234f350ff569bc8b4d10931d9090957">twolame_set_emphasis</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, <a class="el" href="twolame_8h.html#a50521fc75f96f949634f8f6536c1be1b">TWOLAME_Emphasis</a> emphasis)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="twolame_8h.html#a50521fc75f96f949634f8f6536c1be1b">TWOLAME_Emphasis</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a0fe4a766c951b351bad37d1e642c1018">twolame_get_emphasis</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a275b46ca5b225814047bcf145e866ec7">twolame_set_error_protection</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int err_protection)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a2daddd047937e29e73e58714a6c5a254">twolame_get_error_protection</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ad5b45a13a48abddd5a8f0e2e31f15f18">twolame_set_copyright</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int copyright)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ac7f5cd7d52aed6fad33fb96ed7c0e5c9">twolame_get_copyright</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a88fcaeb8df0c785fa752cc13b81c811b">twolame_set_original</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int original)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#af223fb3fd799175a04f9ba4cb87d578e">twolame_get_original</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ad9d4595a2115c6d2d26af0ad35e439e0">twolame_set_VBR</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int vbr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#aa79c3d628f2ed444d4a1326cd87f125b">twolame_get_VBR</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#af220a143ef980c70d7ae17d6113edc20">twolame_set_VBR_level</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, float level)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ab4914da9988dd0f8f6703eba5882a029">twolame_get_VBR_level</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a979fdde10d7ac22a7767412427f18b01">twolame_set_ATH_level</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, float level)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ad524505da0eabb3f8d84ac1d1157e2ee">twolame_get_ATH_level</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a67ac2fef77dd7853374d9e05ebc46210">twolame_set_VBR_max_bitrate_kbps</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int bitrate)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a1faa386043bb3254e633bfbe27349017">twolame_get_VBR_max_bitrate_kbps</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a1093464689803410a5b28eb840d83f4e">twolame_set_quick_mode</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int quickmode)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a95c94c63c625e9bb729a7a5bf1344810">twolame_get_quick_mode</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ad15ae6c585352c6f4285b4353b005f40">twolame_set_quick_count</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int quickcount)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ad09819bcdf05f5d68bddd614d6f85496">twolame_get_quick_count</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ae344176895eb7922a05a003d0ae2f911">twolame_set_DAB</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int dab)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a130b6c716477dab5500097337a41299a">twolame_get_DAB</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a621a6efe085aac5ea36ff70ef719a4cc">twolame_set_DAB_xpad_length</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int length)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a8a9c2b288b674e4b331922cbe66254c0">twolame_get_DAB_xpad_length</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#a168ceb98ea672ce2f461f5d681041be6">twolame_set_DAB_crc_length</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts, int length)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="twolame_8h.html#ada5cb510aa1a32eb9921140b72a9189a">twolame_get_DAB_crc_length</a> (<a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *glopts)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"></div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="a09bd4a4970ba3c49e9f1327daefeb8c1"></a><!-- doxytag: member="twolame.h::TWOLAME_SAMPLES_PER_FRAME" ref="a09bd4a4970ba3c49e9f1327daefeb8c1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define TWOLAME_SAMPLES_PER_FRAME&#160;&#160;&#160;(1152)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Number of samples per frame of Layer 2 MPEG Audio </p>
</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a429c5c35b47d5d7cc34a07e48a82866d"></a><!-- doxytag: member="twolame.h::twolame_options" ref="a429c5c35b47d5d7cc34a07e48a82866d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct twolame_options_struct <a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Opaque data type for the twolame encoder options. </p>
</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="a91879045676d9146c9bfcb8b0a30b57f"></a><!-- doxytag: member="twolame.h::TWOLAME_MPEG_mode" ref="a91879045676d9146c9bfcb8b0a30b57f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="twolame_8h.html#a91879045676d9146c9bfcb8b0a30b57f">TWOLAME_MPEG_mode</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>MPEG modes </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a91879045676d9146c9bfcb8b0a30b57fab0b25df193c4be6b5c7bda71166df264"></a><!-- doxytag: member="TWOLAME_AUTO_MODE" ref="a91879045676d9146c9bfcb8b0a30b57fab0b25df193c4be6b5c7bda71166df264" args="" -->TWOLAME_AUTO_MODE</em>&nbsp;</td><td>
<p>Choose Mode Automatically </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a91879045676d9146c9bfcb8b0a30b57fa785df1b22ebb296610b938793906f66d"></a><!-- doxytag: member="TWOLAME_STEREO" ref="a91879045676d9146c9bfcb8b0a30b57fa785df1b22ebb296610b938793906f66d" args="" -->TWOLAME_STEREO</em>&nbsp;</td><td>
<p>Stereo </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a91879045676d9146c9bfcb8b0a30b57fa944018843ef67ac47d3e680c749b2967"></a><!-- doxytag: member="TWOLAME_JOINT_STEREO" ref="a91879045676d9146c9bfcb8b0a30b57fa944018843ef67ac47d3e680c749b2967" args="" -->TWOLAME_JOINT_STEREO</em>&nbsp;</td><td>
<p>Joint Stereo </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a91879045676d9146c9bfcb8b0a30b57fae054f4dcb5762d5c58c3db92e5338601"></a><!-- doxytag: member="TWOLAME_DUAL_CHANNEL" ref="a91879045676d9146c9bfcb8b0a30b57fae054f4dcb5762d5c58c3db92e5338601" args="" -->TWOLAME_DUAL_CHANNEL</em>&nbsp;</td><td>
<p>Dual Channel </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a91879045676d9146c9bfcb8b0a30b57fa482d714be97e4cb21c223850ece06456"></a><!-- doxytag: member="TWOLAME_MONO" ref="a91879045676d9146c9bfcb8b0a30b57fa482d714be97e4cb21c223850ece06456" args="" -->TWOLAME_MONO</em>&nbsp;</td><td>
<p>Mono </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a0f4e287fec57b8ba38e28395996eb6e3"></a><!-- doxytag: member="twolame.h::TWOLAME_MPEG_version" ref="a0f4e287fec57b8ba38e28395996eb6e3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="twolame_8h.html#a0f4e287fec57b8ba38e28395996eb6e3">TWOLAME_MPEG_version</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>MPEG Version.</p>
<p>MPEG2 is for Lower Sampling Frequencies - LSF &lt; 32000. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a0f4e287fec57b8ba38e28395996eb6e3a89b91170fa0bb8423f45ff7a1b45b1d8"></a><!-- doxytag: member="TWOLAME_MPEG2" ref="a0f4e287fec57b8ba38e28395996eb6e3a89b91170fa0bb8423f45ff7a1b45b1d8" args="" -->TWOLAME_MPEG2</em>&nbsp;</td><td>
<p>MPEG-2 - for sample rates less than 32k </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a0f4e287fec57b8ba38e28395996eb6e3ae8dc89cc37c6203400e64768eb6b59d5"></a><!-- doxytag: member="TWOLAME_MPEG1" ref="a0f4e287fec57b8ba38e28395996eb6e3ae8dc89cc37c6203400e64768eb6b59d5" args="" -->TWOLAME_MPEG1</em>&nbsp;</td><td>
<p>MPEG-1 </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="af83f4f73e4c57db45269667b4421730e"></a><!-- doxytag: member="twolame.h::TWOLAME_Padding" ref="af83f4f73e4c57db45269667b4421730e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="twolame_8h.html#af83f4f73e4c57db45269667b4421730e">TWOLAME_Padding</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Padding types. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="af83f4f73e4c57db45269667b4421730eab2dd0f81e433f7f708622c96466dbff3"></a><!-- doxytag: member="TWOLAME_PAD_NO" ref="af83f4f73e4c57db45269667b4421730eab2dd0f81e433f7f708622c96466dbff3" args="" -->TWOLAME_PAD_NO</em>&nbsp;</td><td>
<p>No Padding </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af83f4f73e4c57db45269667b4421730eaecf832eac6e75140fc9397b621e590a8"></a><!-- doxytag: member="TWOLAME_PAD_ALL" ref="af83f4f73e4c57db45269667b4421730eaecf832eac6e75140fc9397b621e590a8" args="" -->TWOLAME_PAD_ALL</em>&nbsp;</td><td>
<p>Pad all frames </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a50521fc75f96f949634f8f6536c1be1b"></a><!-- doxytag: member="twolame.h::TWOLAME_Emphasis" ref="a50521fc75f96f949634f8f6536c1be1b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="twolame_8h.html#a50521fc75f96f949634f8f6536c1be1b">TWOLAME_Emphasis</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Emphasis types. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a50521fc75f96f949634f8f6536c1be1ba73eced6173758db8e4186d07ee510dd1"></a><!-- doxytag: member="TWOLAME_EMPHASIS_N" ref="a50521fc75f96f949634f8f6536c1be1ba73eced6173758db8e4186d07ee510dd1" args="" -->TWOLAME_EMPHASIS_N</em>&nbsp;</td><td>
<p>No Emphasis </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a50521fc75f96f949634f8f6536c1be1baeca80cfc79ece58fd01e06f974394c6e"></a><!-- doxytag: member="TWOLAME_EMPHASIS_5" ref="a50521fc75f96f949634f8f6536c1be1baeca80cfc79ece58fd01e06f974394c6e" args="" -->TWOLAME_EMPHASIS_5</em>&nbsp;</td><td>
<p>50/15 ms </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a50521fc75f96f949634f8f6536c1be1ba038be927e1993710372565262a73e62d"></a><!-- doxytag: member="TWOLAME_EMPHASIS_C" ref="a50521fc75f96f949634f8f6536c1be1ba038be927e1993710372565262a73e62d" args="" -->TWOLAME_EMPHASIS_C</em>&nbsp;</td><td>
<p>CCIT J.17 </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ac73aa5af9bd007a90ec39fc2d463f486"></a><!-- doxytag: member="twolame.h::get_twolame_version" ref="ac73aa5af9bd007a90ec39fc2d463f486" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* get_twolame_version </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the version number of the TwoLAME library. eg "0.3.1".</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The version number as a C string </dd></dl>
</div>
</div>
<a class="anchor" id="a3e82f14e8b2973a4621dd7f599ba6702"></a><!-- doxytag: member="twolame.h::get_twolame_url" ref="a3e82f14e8b2973a4621dd7f599ba6702" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* get_twolame_url </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the URL of the TwoLAME homepage. eg "http://www.twolame.org/".</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The url as a C string </dd></dl>
</div>
</div>
<a class="anchor" id="a3a0793a526503a0833736287a38722d3"></a><!-- doxytag: member="twolame.h::twolame_print_config" ref="a3a0793a526503a0833736287a38722d3" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void twolame_print_config </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Print the library version and encoder parameter settings to STDERR.</p>
<p>Will display differnent ammounts of information depending on the verbosity setting. If verbosity is set to 0 then no message will be displayed.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>Options pointer created by <a class="el" href="twolame_8h.html#ac4cdab0d6542badab38bb4ddf96957fb">twolame_init()</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ac4cdab0d6542badab38bb4ddf96957fb"></a><!-- doxytag: member="twolame.h::twolame_init" ref="ac4cdab0d6542badab38bb4ddf96957fb" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a>* twolame_init </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Initialise the twolame encoder.</p>
<p>Sets defaults for all parameters. Will return NULL if malloc() failed, otherwise returns a pointer which you then need to pass to all future API calls.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to your new options data structure </dd></dl>
</div>
</div>
<a class="anchor" id="a479229b288016a4b7b1dd696e4000257"></a><!-- doxytag: member="twolame.h::twolame_init_params" ref="a479229b288016a4b7b1dd696e4000257" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_init_params </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Prepare to start encoding.</p>
<p>You must call <a class="el" href="twolame_8h.html#a479229b288016a4b7b1dd696e4000257">twolame_init_params()</a> before you start encoding. It will check call your parameters to make sure they are valid, as well as allocating buffers and initising internally used variables.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>Options pointer created by <a class="el" href="twolame_8h.html#ac4cdab0d6542badab38bb4ddf96957fb">twolame_init()</a> </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if all patameters are valid, non-zero if something is invalid </dd></dl>
</div>
</div>
<a class="anchor" id="a7656283020d9b131790bf5a99af055c4"></a><!-- doxytag: member="twolame.h::twolame_encode_buffer" ref="a7656283020d9b131790bf5a99af055c4" args="(twolame_options *glopts, const short int leftpcm[], const short int rightpcm[], int num_samples, unsigned char *mp2buffer, int mp2buffer_size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_encode_buffer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const short int&#160;</td>
<td class="paramname"><em>leftpcm</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const short int&#160;</td>
<td class="paramname"><em>rightpcm</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_samples</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned char *&#160;</td>
<td class="paramname"><em>mp2buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mp2buffer_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Encode some 16-bit PCM audio to MP2.</p>
<p>Takes 16-bit PCM audio samples from seperate left and right buffers and places encoded audio into mp2buffer.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>twolame options pointer </td></tr>
<tr><td class="paramname">leftpcm</td><td>Left channel audio samples </td></tr>
<tr><td class="paramname">rightpcm</td><td>Right channel audio samples </td></tr>
<tr><td class="paramname">num_samples</td><td>Number of samples per channel </td></tr>
<tr><td class="paramname">mp2buffer</td><td>Buffer to place encoded audio into </td></tr>
<tr><td class="paramname">mp2buffer_size</td><td>Size of the output buffer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes put in output buffer or a negative value on error </dd></dl>
</div>
</div>
<a class="anchor" id="a578b70ad7abfcc2bbed09ecf661fd66e"></a><!-- doxytag: member="twolame.h::twolame_encode_buffer_interleaved" ref="a578b70ad7abfcc2bbed09ecf661fd66e" args="(twolame_options *glopts, const short int pcm[], int num_samples, unsigned char *mp2buffer, int mp2buffer_size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_encode_buffer_interleaved </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const short int&#160;</td>
<td class="paramname"><em>pcm</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_samples</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned char *&#160;</td>
<td class="paramname"><em>mp2buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mp2buffer_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Encode some 16-bit PCM audio to MP2.</p>
<p>Takes interleaved 16-bit PCM audio samples from a single buffer and places encoded audio into mp2buffer.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>twolame options pointer </td></tr>
<tr><td class="paramname">pcm</td><td>Audio samples for left AND right channels </td></tr>
<tr><td class="paramname">num_samples</td><td>Number of samples per channel </td></tr>
<tr><td class="paramname">mp2buffer</td><td>Buffer to place encoded audio into </td></tr>
<tr><td class="paramname">mp2buffer_size</td><td>Size of the output buffer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes put in output buffer or a negative value on error </dd></dl>
</div>
</div>
<a class="anchor" id="a8e77eb0f22479f8ec1bd4f1b042f9cd9"></a><!-- doxytag: member="twolame.h::twolame_encode_buffer_float32" ref="a8e77eb0f22479f8ec1bd4f1b042f9cd9" args="(twolame_options *glopts, const float leftpcm[], const float rightpcm[], int num_samples, unsigned char *mp2buffer, int mp2buffer_size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_encode_buffer_float32 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float&#160;</td>
<td class="paramname"><em>leftpcm</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float&#160;</td>
<td class="paramname"><em>rightpcm</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_samples</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned char *&#160;</td>
<td class="paramname"><em>mp2buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mp2buffer_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Encode some 32-bit PCM audio to MP2.</p>
<p>Takes 32-bit floating point PCM audio samples from seperate left and right buffers and places encoded audio into mp2buffer.</p>
<p>Note: the 32-bit samples are currently scaled down to 16-bit samples internally.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>twolame options pointer </td></tr>
<tr><td class="paramname">leftpcm</td><td>Left channel audio samples </td></tr>
<tr><td class="paramname">rightpcm</td><td>Right channel audio samples </td></tr>
<tr><td class="paramname">num_samples</td><td>Number of samples per channel </td></tr>
<tr><td class="paramname">mp2buffer</td><td>Buffer to place encoded audio into </td></tr>
<tr><td class="paramname">mp2buffer_size</td><td>Size of the output buffer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes put in output buffer or a negative value on error </dd></dl>
</div>
</div>
<a class="anchor" id="aca716bf42f767e889c0505206c3f1160"></a><!-- doxytag: member="twolame.h::twolame_encode_buffer_float32_interleaved" ref="aca716bf42f767e889c0505206c3f1160" args="(twolame_options *glopts, const float pcm[], int num_samples, unsigned char *mp2buffer, int mp2buffer_size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_encode_buffer_float32_interleaved </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float&#160;</td>
<td class="paramname"><em>pcm</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_samples</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned char *&#160;</td>
<td class="paramname"><em>mp2buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mp2buffer_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Encode some 32-bit PCM audio to MP2.</p>
<p>Takes 32-bit floating point PCM audio samples from a single buffer and places encoded audio into mp2buffer.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>twolame options pointer </td></tr>
<tr><td class="paramname">pcm</td><td>Audio samples for left AND right channels </td></tr>
<tr><td class="paramname">num_samples</td><td>Number of samples per channel </td></tr>
<tr><td class="paramname">mp2buffer</td><td>Buffer to place encoded audio into </td></tr>
<tr><td class="paramname">mp2buffer_size</td><td>Size of the output buffer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes put in output buffer or a negative value on error </dd></dl>
</div>
</div>
<a class="anchor" id="a3903ae20e7e99b7774c527e3e9ed3ab3"></a><!-- doxytag: member="twolame.h::twolame_encode_flush" ref="a3903ae20e7e99b7774c527e3e9ed3ab3" args="(twolame_options *glopts, unsigned char *mp2buffer, int mp2buffer_size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_encode_flush </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned char *&#160;</td>
<td class="paramname"><em>mp2buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mp2buffer_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Encode any remains buffered PCM audio to MP2.</p>
<p>Encodes any remaining audio samples in the libtwolame internal sample buffer. This function will return at most a single frame of MPEG Audio, and at least 0 frames.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>twolame options pointer </td></tr>
<tr><td class="paramname">mp2buffer</td><td>Buffer to place encoded audio into </td></tr>
<tr><td class="paramname">mp2buffer_size</td><td>Size of the output buffer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of bytes put in output buffer or a negative value on error </dd></dl>
</div>
</div>
<a class="anchor" id="a5a9adda3b79826aa841471dda5e87e34"></a><!-- doxytag: member="twolame.h::twolame_close" ref="a5a9adda3b79826aa841471dda5e87e34" args="(twolame_options **glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void twolame_close </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> **&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Shut down the twolame encoder.</p>
<p>Shuts down the twolame encoder and frees all memory that it previously allocated. You should call this once you have finished all your encoding. This function will set your glopts pointer to NULL for you.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa98e4d1b7bfdbe4702074f53d7343ac4"></a><!-- doxytag: member="twolame.h::twolame_set_verbosity" ref="aa98e4d1b7bfdbe4702074f53d7343ac4" args="(twolame_options *glopts, int verbosity)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_verbosity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>verbosity</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the verbosity of the encoder.</p>
<p>Sets how verbose the encoder is with the debug and informational messages it displays. The higher the number, the more messages it will display. Set to 0 for no status messages to STDERR ( error messages will still be displayed ).</p>
<p>Default: 1</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">verbosity</td><td>integer between 0 and 10 </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="ac791c3826717a0c5c580449f1021e0e5"></a><!-- doxytag: member="twolame.h::twolame_get_verbosity" ref="ac791c3826717a0c5c580449f1021e0e5" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_verbosity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the verbosity of the encoder.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>integer indicating the verbosity of the encoder (0-10) </dd></dl>
</div>
</div>
<a class="anchor" id="aef8212f0d9c29618826274b9685cddf9"></a><!-- doxytag: member="twolame.h::twolame_set_mode" ref="aef8212f0d9c29618826274b9685cddf9" args="(twolame_options *glopts, TWOLAME_MPEG_mode mode)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_mode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a91879045676d9146c9bfcb8b0a30b57f">TWOLAME_MPEG_mode</a>&#160;</td>
<td class="paramname"><em>mode</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the MPEG Audio Mode (Mono, Stereo, etc) for the output stream.</p>
<p>Default: TWOLAME_AUTO_MODE</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">mode</td><td>the mode to set to </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a59ce06e05cfa978689ee3195264190c9"></a><!-- doxytag: member="twolame.h::twolame_get_mode" ref="a59ce06e05cfa978689ee3195264190c9" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="twolame_8h.html#a91879045676d9146c9bfcb8b0a30b57f">TWOLAME_MPEG_mode</a> twolame_get_mode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the MPEG Audio mode of the output stream.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the MPEG audio mode </dd></dl>
</div>
</div>
<a class="anchor" id="a4b8302f67ce0c691cd0fbd7c08c79729"></a><!-- doxytag: member="twolame.h::twolame_get_mode_name" ref="a4b8302f67ce0c691cd0fbd7c08c79729" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* twolame_get_mode_name </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get a string name for the current MPEG Audio mode.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the name of the MPEG audio mode as a string </dd></dl>
</div>
</div>
<a class="anchor" id="ab6d5accf1b38fa49af75b33415dcd89e"></a><!-- doxytag: member="twolame.h::twolame_set_version" ref="ab6d5accf1b38fa49af75b33415dcd89e" args="(twolame_options *glopts, TWOLAME_MPEG_version version)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_version </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a0f4e287fec57b8ba38e28395996eb6e3">TWOLAME_MPEG_version</a>&#160;</td>
<td class="paramname"><em>version</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the MPEG version of the MPEG audio stream.</p>
<p>Default: TWOLAME_MPEG1</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">version</td><td>the version to set to </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a1d381b8f8b615aa3a98f2ad19668738a"></a><!-- doxytag: member="twolame.h::twolame_get_version" ref="a1d381b8f8b615aa3a98f2ad19668738a" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="twolame_8h.html#a0f4e287fec57b8ba38e28395996eb6e3">TWOLAME_MPEG_version</a> twolame_get_version </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the MPEG version of the output stream.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the MPEG version </dd></dl>
</div>
</div>
<a class="anchor" id="aab4b76e8f09388229cc3e6789ef5979e"></a><!-- doxytag: member="twolame.h::twolame_get_version_name" ref="aab4b76e8f09388229cc3e6789ef5979e" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* twolame_get_version_name </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get a string name for the current MPEG version.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the name of the MPEG version as a string </dd></dl>
</div>
</div>
<a class="anchor" id="ae6a2eea827688dc46b929536150da3b6"></a><!-- doxytag: member="twolame.h::twolame_get_framelength" ref="ae6a2eea827688dc46b929536150da3b6" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_framelength </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the number of bytes per MPEG audio frame, for current settings.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of bytes per frame </dd></dl>
</div>
</div>
<a class="anchor" id="a3810cbcbf62700685b54083147a27f7b"></a><!-- doxytag: member="twolame.h::twolame_set_psymodel" ref="a3810cbcbf62700685b54083147a27f7b" args="(twolame_options *glopts, int psymodel)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_psymodel </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>psymodel</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the Psychoacoustic Model used to encode the audio.</p>
<p>Default: 3</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">psymodel</td><td>the psychoacoustic model number </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a101e8c94bd34e64c0c25e65866253c58"></a><!-- doxytag: member="twolame.h::twolame_get_psymodel" ref="a101e8c94bd34e64c0c25e65866253c58" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_psymodel </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the Psychoacoustic Model used to encode the audio.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the psychoacoustic model number </dd></dl>
</div>
</div>
<a class="anchor" id="a0f52f945ac41a45e47555b40e4c29a5f"></a><!-- doxytag: member="twolame.h::twolame_set_num_channels" ref="a0f52f945ac41a45e47555b40e4c29a5f" args="(twolame_options *glopts, int num_channels)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_num_channels </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_channels</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the number of channels in the input stream.</p>
<p>If this is different the number of channels in the output stream (set by mode) then the encoder will automatically downmix/upmix the audio.</p>
<p>Default: 2</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">num_channels</td><td>the number of input channels </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="ac77ec659a0546bd0393b6e317553fc7f"></a><!-- doxytag: member="twolame.h::twolame_get_num_channels" ref="ac77ec659a0546bd0393b6e317553fc7f" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_num_channels </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the number of channels in the input stream.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of channels </dd></dl>
</div>
</div>
<a class="anchor" id="aa13250b4af52ce46a76f5dfe1a027697"></a><!-- doxytag: member="twolame.h::twolame_set_scale" ref="aa13250b4af52ce46a76f5dfe1a027697" args="(twolame_options *glopts, float scale)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_scale </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the scaling level for audio before encoding.</p>
<p>Set to 0 to disable.</p>
<p>Default: 0</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">scale</td><td>the amount to scale by </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a3deeb5e64e08c3347e09205f00d19b97"></a><!-- doxytag: member="twolame.h::twolame_get_scale" ref="a3deeb5e64e08c3347e09205f00d19b97" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float twolame_get_scale </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the scaling level for audio before encoding.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the amount to scale audio sample by </dd></dl>
</div>
</div>
<a class="anchor" id="a6283594f9de7c332982f34fcf1021e26"></a><!-- doxytag: member="twolame.h::twolame_set_scale_left" ref="a6283594f9de7c332982f34fcf1021e26" args="(twolame_options *glopts, float scale)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_scale_left </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the scaling level for left channel audio before encoding.</p>
<p>Set to 0 to disable.</p>
<p>Default: 0</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">scale</td><td>the amount to scale by </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="ab33a74b3846656f94da0977bbcb2f151"></a><!-- doxytag: member="twolame.h::twolame_get_scale_left" ref="ab33a74b3846656f94da0977bbcb2f151" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float twolame_get_scale_left </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the scaling level for audio left channel before encoding.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the amount to scale left channel audio samples by </dd></dl>
</div>
</div>
<a class="anchor" id="aa9233c1b394311ed4779d9ace6916308"></a><!-- doxytag: member="twolame.h::twolame_set_scale_right" ref="aa9233c1b394311ed4779d9ace6916308" args="(twolame_options *glopts, float scale)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_scale_right </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>scale</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the scaling level for right channel audio before encoding.</p>
<p>Set to 0 to disable.</p>
<p>Default: 0</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">scale</td><td>the amount to scale by </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a0750330f1ac29c88dea28a3945e6f953"></a><!-- doxytag: member="twolame.h::twolame_get_scale_right" ref="a0750330f1ac29c88dea28a3945e6f953" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float twolame_get_scale_right </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the scaling level for audio right channel before encoding.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the amount to scale right channel audio samples by </dd></dl>
</div>
</div>
<a class="anchor" id="affb3e7a2d178505aa0993d49a6535ed0"></a><!-- doxytag: member="twolame.h::twolame_set_in_samplerate" ref="affb3e7a2d178505aa0993d49a6535ed0" args="(twolame_options *glopts, int samplerate)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_in_samplerate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>samplerate</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the samplerate of the PCM audio input.</p>
<p>Default: 44100</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">samplerate</td><td>the samplerate in Hz </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="af5005929502db228375bb635b041ed7a"></a><!-- doxytag: member="twolame.h::twolame_get_in_samplerate" ref="af5005929502db228375bb635b041ed7a" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_in_samplerate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the samplerate of the PCM audio input.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the input samplerate </dd></dl>
</div>
</div>
<a class="anchor" id="a5c364e5741f1f9f490c848733f2031df"></a><!-- doxytag: member="twolame.h::twolame_set_out_samplerate" ref="a5c364e5741f1f9f490c848733f2031df" args="(twolame_options *glopts, int samplerate)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_out_samplerate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>samplerate</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the samplerate of the MPEG audio output.</p>
<p>Default: 44100</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">samplerate</td><td>the samplerate in Hz </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a13be375a082dc802e6b408171dc3bb69"></a><!-- doxytag: member="twolame.h::twolame_get_out_samplerate" ref="a13be375a082dc802e6b408171dc3bb69" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_out_samplerate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the samplerate of the MPEG audio output.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the output samplerate </dd></dl>
</div>
</div>
<a class="anchor" id="a544b8b46797b18891eeccaf17e314701"></a><!-- doxytag: member="twolame.h::twolame_set_bitrate" ref="a544b8b46797b18891eeccaf17e314701" args="(twolame_options *glopts, int bitrate)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_bitrate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>bitrate</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the bitrate of the MPEG audio output stream.</p>
<p>Default: 192</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">bitrate</td><td>the bitrate in kbps </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="ad86ca8099646d77e86578f879f16beb1"></a><!-- doxytag: member="twolame.h::twolame_get_bitrate" ref="ad86ca8099646d77e86578f879f16beb1" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_bitrate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the bitrate of the MPEG audio output.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the output bitrate in kbps </dd></dl>
</div>
</div>
<a class="anchor" id="ad56fa68b723f3232c7feb162c1142a14"></a><!-- doxytag: member="twolame.h::twolame_set_brate" ref="ad56fa68b723f3232c7feb162c1142a14" args="(twolame_options *glopts, int bitrate)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_brate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>bitrate</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the bitrate of the MPEG audio output stream (LAME style).</p>
<p>same as <a class="el" href="twolame_8h.html#a544b8b46797b18891eeccaf17e314701">twolame_set_bitrate()</a> </p>
</div>
</div>
<a class="anchor" id="a961463704f86a2d3f310004be9a3a0b3"></a><!-- doxytag: member="twolame.h::twolame_get_brate" ref="a961463704f86a2d3f310004be9a3a0b3" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_brate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the bitrate of the MPEG audio output stream (LAME style).</p>
<p>same as <a class="el" href="twolame_8h.html#ad86ca8099646d77e86578f879f16beb1">twolame_get_bitrate()</a> </p>
</div>
</div>
<a class="anchor" id="aaaa5455a98cbba0fafde73c61d6079be"></a><!-- doxytag: member="twolame.h::twolame_set_padding" ref="aaaa5455a98cbba0fafde73c61d6079be" args="(twolame_options *glopts, TWOLAME_Padding padding)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_padding </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="twolame_8h.html#af83f4f73e4c57db45269667b4421730e">TWOLAME_Padding</a>&#160;</td>
<td class="paramname"><em>padding</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set frame padding for the MPEG audio output stream.</p>
<p>i.e. adjust frame sizes to achieve overall target bitrate</p>
<p>Default: TWOLAME_PAD_NO</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">padding</td><td>the padding type </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a9e2ea760fc280da8edd3b06d6b50efbf"></a><!-- doxytag: member="twolame.h::twolame_get_padding" ref="a9e2ea760fc280da8edd3b06d6b50efbf" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="twolame_8h.html#af83f4f73e4c57db45269667b4421730e">TWOLAME_Padding</a> twolame_get_padding </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the padding type of the MPEG audio output.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the output bitrate in kbps </dd></dl>
</div>
</div>
<a class="anchor" id="af53c80e3221f2030fceeb9acfb21854b"></a><!-- doxytag: member="twolame.h::twolame_set_energy_levels" ref="af53c80e3221f2030fceeb9acfb21854b" args="(twolame_options *glopts, int energylevels)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_energy_levels </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>energylevels</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Enable/Disable Energy Level Extension.</p>
<p>Enable writing the peak PCM level (energy level) at the end of each MPEG audio frame (in the ancillary bits). This function will automatically call <a class="el" href="twolame_8h.html#a8349b49903299a3bfc4d2ae0b5b0cdbd">twolame_set_num_ancillary_bits()</a> to set the required number of ancillary bits for this feature.</p>
<p>The energy level extension is commonly used in the broadcast industry for visualising the audio in editing applications without decoding.</p>
<p>Default: FALSE</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">energylevels</td><td>energy level extension state (TRUE/FALSE) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="aeea27328604d2906772f9f3b7756fe47"></a><!-- doxytag: member="twolame.h::twolame_get_energy_levels" ref="aeea27328604d2906772f9f3b7756fe47" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_energy_levels </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the Energy Level Extension state.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>state of the Energy Level Extension (TRUE/FALSE) </dd></dl>
</div>
</div>
<a class="anchor" id="a8349b49903299a3bfc4d2ae0b5b0cdbd"></a><!-- doxytag: member="twolame.h::twolame_set_num_ancillary_bits" ref="a8349b49903299a3bfc4d2ae0b5b0cdbd" args="(twolame_options *glopts, int num)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_num_ancillary_bits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set number of Ancillary Bits at end of frame.</p>
<p>Default: 0</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">num</td><td>number of bits to reserve </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a2224987bc284c6a6400d485e6dd88351"></a><!-- doxytag: member="twolame.h::twolame_get_num_ancillary_bits" ref="a2224987bc284c6a6400d485e6dd88351" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_num_ancillary_bits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the number of Ancillary Bits at end of frame.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of Ancillary Bits at end of frame </dd></dl>
</div>
</div>
<a class="anchor" id="af234f350ff569bc8b4d10931d9090957"></a><!-- doxytag: member="twolame.h::twolame_set_emphasis" ref="af234f350ff569bc8b4d10931d9090957" args="(twolame_options *glopts, TWOLAME_Emphasis emphasis)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_emphasis </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a50521fc75f96f949634f8f6536c1be1b">TWOLAME_Emphasis</a>&#160;</td>
<td class="paramname"><em>emphasis</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the type of pre-emphasis to be applied to the decoded audio.</p>
<p>Default: TWOLAME_EMPHASIS_N</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">emphasis</td><td>the type of pre-emphasis </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a0fe4a766c951b351bad37d1e642c1018"></a><!-- doxytag: member="twolame.h::twolame_get_emphasis" ref="a0fe4a766c951b351bad37d1e642c1018" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="twolame_8h.html#a50521fc75f96f949634f8f6536c1be1b">TWOLAME_Emphasis</a> twolame_get_emphasis </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the type of pre-emphasis to be applied to the decoded audio.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the type of pre-emphasis </dd></dl>
</div>
</div>
<a class="anchor" id="a275b46ca5b225814047bcf145e866ec7"></a><!-- doxytag: member="twolame.h::twolame_set_error_protection" ref="a275b46ca5b225814047bcf145e866ec7" args="(twolame_options *glopts, int err_protection)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_error_protection </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>err_protection</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Enable/Disable CRC Error Protection.</p>
<p>Default: FALSE</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">err_protection</td><td>error protection state (TRUE/FALSE) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a2daddd047937e29e73e58714a6c5a254"></a><!-- doxytag: member="twolame.h::twolame_get_error_protection" ref="a2daddd047937e29e73e58714a6c5a254" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_error_protection </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the CRC Error Protection state.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>state of Error Protection (TRUE/FALSE) </dd></dl>
</div>
</div>
<a class="anchor" id="ad5b45a13a48abddd5a8f0e2e31f15f18"></a><!-- doxytag: member="twolame.h::twolame_set_copyright" ref="ad5b45a13a48abddd5a8f0e2e31f15f18" args="(twolame_options *glopts, int copyright)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_copyright </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>copyright</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the MPEG Audio Copyright flag.</p>
<p>Indicates that MPEG stream is copyrighted.</p>
<p>Default: FALSE</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">copyright</td><td>copyright flag state (TRUE/FALSE) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="ac7f5cd7d52aed6fad33fb96ed7c0e5c9"></a><!-- doxytag: member="twolame.h::twolame_get_copyright" ref="ac7f5cd7d52aed6fad33fb96ed7c0e5c9" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_copyright </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the copright flag state</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>state of the copyright flag (TRUE/FALSE) </dd></dl>
</div>
</div>
<a class="anchor" id="a88fcaeb8df0c785fa752cc13b81c811b"></a><!-- doxytag: member="twolame.h::twolame_set_original" ref="a88fcaeb8df0c785fa752cc13b81c811b" args="(twolame_options *glopts, int original)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_original </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>original</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the MPEG Audio Original flag.</p>
<p>Default: FALSE</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">original</td><td>original flag state (TRUE/FALSE) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="af223fb3fd799175a04f9ba4cb87d578e"></a><!-- doxytag: member="twolame.h::twolame_get_original" ref="af223fb3fd799175a04f9ba4cb87d578e" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_original </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the origianl flag state.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>state of the original flag (TRUE/FALSE) </dd></dl>
</div>
</div>
<a class="anchor" id="ad9d4595a2115c6d2d26af0ad35e439e0"></a><!-- doxytag: member="twolame.h::twolame_set_VBR" ref="ad9d4595a2115c6d2d26af0ad35e439e0" args="(twolame_options *glopts, int vbr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_VBR </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vbr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Enable/Disable VBR (Variable Bit Rate) mode.</p>
<p>Default: FALSE</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">vbr</td><td>VBR state (TRUE/FALSE) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="aa79c3d628f2ed444d4a1326cd87f125b"></a><!-- doxytag: member="twolame.h::twolame_get_VBR" ref="aa79c3d628f2ed444d4a1326cd87f125b" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_VBR </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the VBR state.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>state of VBR (TRUE/FALSE) </dd></dl>
</div>
</div>
<a class="anchor" id="af220a143ef980c70d7ae17d6113edc20"></a><!-- doxytag: member="twolame.h::twolame_set_VBR_level" ref="af220a143ef980c70d7ae17d6113edc20" args="(twolame_options *glopts, float level)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_VBR_level </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>level</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the level/quality of the VBR audio.</p>
<p>The level value can is a measurement of quality - the higher the level the higher the average bitrate of the resultant file.</p>
<p>Default: 5.0</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">level</td><td>quality level (-10 to 10) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="ab4914da9988dd0f8f6703eba5882a029"></a><!-- doxytag: member="twolame.h::twolame_get_VBR_level" ref="ab4914da9988dd0f8f6703eba5882a029" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float twolame_get_VBR_level </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the level/quality of the VBR audio.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>quality value for VBR </dd></dl>
</div>
</div>
<a class="anchor" id="a979fdde10d7ac22a7767412427f18b01"></a><!-- doxytag: member="twolame.h::twolame_set_ATH_level" ref="a979fdde10d7ac22a7767412427f18b01" args="(twolame_options *glopts, float level)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_ATH_level </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>level</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the adjustment (in dB) applied to the ATH for Psycho models 3 and 4.</p>
<p>Default: 0.0</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">level</td><td>adjustment level in db </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="ad524505da0eabb3f8d84ac1d1157e2ee"></a><!-- doxytag: member="twolame.h::twolame_get_ATH_level" ref="ad524505da0eabb3f8d84ac1d1157e2ee" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float twolame_get_ATH_level </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the adjustment (in dB) applied to the ATH for Psycho models 3 and 4.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>adjustment level in db </dd></dl>
</div>
</div>
<a class="anchor" id="a67ac2fef77dd7853374d9e05ebc46210"></a><!-- doxytag: member="twolame.h::twolame_set_VBR_max_bitrate_kbps" ref="a67ac2fef77dd7853374d9e05ebc46210" args="(twolame_options *glopts, int bitrate)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_VBR_max_bitrate_kbps </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>bitrate</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the upper bitrate for VBR</p>
<p>Default: 0 (off)</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">bitrate</td><td>upper bitrate for VBR </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a1faa386043bb3254e633bfbe27349017"></a><!-- doxytag: member="twolame.h::twolame_get_VBR_max_bitrate_kbps" ref="a1faa386043bb3254e633bfbe27349017" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_VBR_max_bitrate_kbps </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the upper bitrate for VBR.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the upper bitrate for VBR </dd></dl>
</div>
</div>
<a class="anchor" id="a1093464689803410a5b28eb840d83f4e"></a><!-- doxytag: member="twolame.h::twolame_set_quick_mode" ref="a1093464689803410a5b28eb840d83f4e" args="(twolame_options *glopts, int quickmode)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_quick_mode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>quickmode</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Enable/Disable the quick mode for psycho model calculation.</p>
<p>Default: FALSE</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">quickmode</td><td>the state of quick mode (TRUE/FALSE) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a95c94c63c625e9bb729a7a5bf1344810"></a><!-- doxytag: member="twolame.h::twolame_get_quick_mode" ref="a95c94c63c625e9bb729a7a5bf1344810" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_quick_mode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the state of quick mode.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the state of quick mode (TRUE/FALSE) </dd></dl>
</div>
</div>
<a class="anchor" id="ad15ae6c585352c6f4285b4353b005f40"></a><!-- doxytag: member="twolame.h::twolame_set_quick_count" ref="ad15ae6c585352c6f4285b4353b005f40" args="(twolame_options *glopts, int quickcount)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_quick_count </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>quickcount</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set how often the psy model is calculated.</p>
<p>Default: 10</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">quickcount</td><td>number of frames between calculations </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="ad09819bcdf05f5d68bddd614d6f85496"></a><!-- doxytag: member="twolame.h::twolame_get_quick_count" ref="ad09819bcdf05f5d68bddd614d6f85496" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_quick_count </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the how often the psy model is calculated.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of frames between calculations </dd></dl>
</div>
</div>
<a class="anchor" id="ae344176895eb7922a05a003d0ae2f911"></a><!-- doxytag: member="twolame.h::twolame_set_DAB" ref="ae344176895eb7922a05a003d0ae2f911" args="(twolame_options *glopts, int dab)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_DAB </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dab</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Enable/Disable the Eureka 147 DAB extensions for MP2.</p>
<p>Default: FALSE</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">dab</td><td>state of DAB extensions (TRUE/FALSE) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a130b6c716477dab5500097337a41299a"></a><!-- doxytag: member="twolame.h::twolame_get_DAB" ref="a130b6c716477dab5500097337a41299a" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_DAB </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the state of the DAB extensions</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the state of DAB (TRUE/FALSE) </dd></dl>
</div>
</div>
<a class="anchor" id="a621a6efe085aac5ea36ff70ef719a4cc"></a><!-- doxytag: member="twolame.h::twolame_set_DAB_xpad_length" ref="a621a6efe085aac5ea36ff70ef719a4cc" args="(twolame_options *glopts, int length)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_DAB_xpad_length </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>length</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the number of bytes to reserve for DAB XPAD data.</p>
<p>Default: 0</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">length</td><td>number of bytes to reserve </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="a8a9c2b288b674e4b331922cbe66254c0"></a><!-- doxytag: member="twolame.h::twolame_get_DAB_xpad_length" ref="a8a9c2b288b674e4b331922cbe66254c0" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_DAB_xpad_length </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the number of bytes reserved for DAB XPAD data.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of XPAD bytes </dd></dl>
</div>
</div>
<a class="anchor" id="a168ceb98ea672ce2f461f5d681041be6"></a><!-- doxytag: member="twolame.h::twolame_set_DAB_crc_length" ref="a168ceb98ea672ce2f461f5d681041be6" args="(twolame_options *glopts, int length)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_set_DAB_crc_length </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>length</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set the CRC error protection length for DAB.</p>
<p>Default: 2</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
<tr><td class="paramname">length</td><td>length of DAB CRC </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, non-zero on failure </dd></dl>
</div>
</div>
<a class="anchor" id="ada5cb510aa1a32eb9921140b72a9189a"></a><!-- doxytag: member="twolame.h::twolame_get_DAB_crc_length" ref="ada5cb510aa1a32eb9921140b72a9189a" args="(twolame_options *glopts)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int twolame_get_DAB_crc_length </td>
<td>(</td>
<td class="paramtype"><a class="el" href="twolame_8h.html#a429c5c35b47d5d7cc34a07e48a82866d">twolame_options</a> *&#160;</td>
<td class="paramname"><em>glopts</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the CRC error protection length for DAB.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">glopts</td><td>pointer to twolame options pointer </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>length of DAB CRC </dd></dl>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Fri Jan 21 2011 18:17:03 for twolame by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>