1159b3361Sopenharmony_ci<html> 2159b3361Sopenharmony_ci 3159b3361Sopenharmony_ci<head> 4159b3361Sopenharmony_ci<meta http-equiv="Content-Type" 5159b3361Sopenharmony_cicontent="text/html; charset=iso-8859-1"> 6159b3361Sopenharmony_ci<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0"> 7159b3361Sopenharmony_ci<title>Lame-</title> 8159b3361Sopenharmony_ci</head> 9159b3361Sopenharmony_ci 10159b3361Sopenharmony_ci<body bgcolor="#FFFFFF"> 11159b3361Sopenharmony_ci 12159b3361Sopenharmony_ci<p align="center"> </p> 13159b3361Sopenharmony_ci 14159b3361Sopenharmony_ci<p align="center"><font size="7">Lame-enc DLL</font> <br> 15159b3361Sopenharmony_ci<font size="5">Interface version 1.32</font> (and above)<br> 16159b3361Sopenharmony_ci(Lame engine version: 3.93 or higher) <br> 17159b3361Sopenharmony_ci<font size="6">Programmers Manual</font></p> 18159b3361Sopenharmony_ci 19159b3361Sopenharmony_ci<p align="center"><i>The lame_enc.dll and this manual is 20159b3361Sopenharmony_cicopyright by Albert L Faber<br> 21159b3361Sopenharmony_ciOriginally the the DLL interface is modeled after the BladeEnc 22159b3361Sopenharmony_ciDLL interface<br> 23159b3361Sopenharmony_ciwhich is copyrighted by Tord Jansson and Jukka Poikolainen<br> 24159b3361Sopenharmony_ciThis document and the DLL interface may be distributed freely</i> 25159b3361Sopenharmony_ci<br> 26159b3361Sopenharmony_ci<i>as long as modifications are released under the LGPL license.</i> 27159b3361Sopenharmony_ci</p> 28159b3361Sopenharmony_ci 29159b3361Sopenharmony_ci<p align="center"> </p> 30159b3361Sopenharmony_ci 31159b3361Sopenharmony_ci<p align="center"><b>Homepage</b>: <a 32159b3361Sopenharmony_cihref="http://www.cdex.n3.net">http://www.cdex.n3.net</a><br> 33159b3361Sopenharmony_ci<b>E-mail:</b> mailto: <a 34159b3361Sopenharmony_cihref="mailto:afaber@users.sourceforge.net">afaber@users.sourceforge.net</a> 35159b3361Sopenharmony_ci</p> 36159b3361Sopenharmony_ci 37159b3361Sopenharmony_ci<p><br> 38159b3361Sopenharmony_ci<br> 39159b3361Sopenharmony_ci<br> 40159b3361Sopenharmony_ci<br> 41159b3361Sopenharmony_ci</p> 42159b3361Sopenharmony_ci 43159b3361Sopenharmony_ci<p><font size="5">Distribution</font> </p> 44159b3361Sopenharmony_ci 45159b3361Sopenharmony_ci<p>People and companies who wants to distribute 46159b3361Sopenharmony_cilame_enc.dll with their commercial products are free to do so as 47159b3361Sopenharmony_cifar as I'm concerned (LGPL license), but should be aware that 48159b3361Sopenharmony_cilame_enc.dll might infringe certain MP3 related software patents 49159b3361Sopenharmony_ciheld by Fraunhofer IIS in certain countries. </p> 50159b3361Sopenharmony_ci 51159b3361Sopenharmony_ci<p><br> 52159b3361Sopenharmony_ci </p> 53159b3361Sopenharmony_ci 54159b3361Sopenharmony_ci<p><font size="5">Disclaimer</font> </p> 55159b3361Sopenharmony_ci 56159b3361Sopenharmony_ci<p>lame_enc.dll and this manual is distributed 'as is' with no 57159b3361Sopenharmony_ciwarranty of any kind. The Author is not to be held responsible 58159b3361Sopenharmony_cifor the result of any use or misuse of this product. <br> 59159b3361Sopenharmony_ci <br> 60159b3361Sopenharmony_ci </p> 61159b3361Sopenharmony_ci 62159b3361Sopenharmony_ci<p><font size="5">Current Bugs and Limitations</font> </p> 63159b3361Sopenharmony_ci 64159b3361Sopenharmony_ci<p>Although the interface is designed to be able to handle 65159b3361Sopenharmony_cimultiple parallel streams it can't be done yet due to limitations 66159b3361Sopenharmony_ciin the engine, only one stream is allowed. <br> 67159b3361Sopenharmony_ci </p> 68159b3361Sopenharmony_ci 69159b3361Sopenharmony_ci<p><font size="5">Future Compatibility</font> </p> 70159b3361Sopenharmony_ci 71159b3361Sopenharmony_ci<p>This interface should be compatible with all future versions 72159b3361Sopenharmony_ciof lame_enc.DLL without any need to recompile your programs. You 73159b3361Sopenharmony_cishould therefore <b>not</b> check the version number upon start 74159b3361Sopenharmony_ciand prevent users from running your program with a later version 75159b3361Sopenharmony_ciof lame_enc.DLL. <br> 76159b3361Sopenharmony_ci </p> 77159b3361Sopenharmony_ci 78159b3361Sopenharmony_ci<hr> 79159b3361Sopenharmony_ci 80159b3361Sopenharmony_ci<p><font size="5">How to use the DLL</font> </p> 81159b3361Sopenharmony_ci 82159b3361Sopenharmony_ci<p>1. Fill in a <a href="#The BE_CONFIG Structure">BE_CONFIG </a>structure 83159b3361Sopenharmony_ciand send it to <a href="#beInitStream()">beInitStream()</a>. Make 84159b3361Sopenharmony_cisure that BE_ERR_SUCCESSFUL is returned. </p> 85159b3361Sopenharmony_ci 86159b3361Sopenharmony_ci<p>2. Reserve at least the amount of memory returned in 87159b3361Sopenharmony_cidwBufferSize as your output buffer. </p> 88159b3361Sopenharmony_ci 89159b3361Sopenharmony_ci<p>3. Call <a href="#beEncodeChunk()">beEncodeChunk()</a> until 90159b3361Sopenharmony_ciyou've encoded everything you want. </p> 91159b3361Sopenharmony_ci 92159b3361Sopenharmony_ci<p>4. Call <a href="#beDeinitStream()">beDeinitStream()</a> to 93159b3361Sopenharmony_cimake sure that all encoded data is flushed out before closing the 94159b3361Sopenharmony_cistream. </p> 95159b3361Sopenharmony_ci 96159b3361Sopenharmony_ci<p>5. Close the stream using <a href="#beCloseStream()">beCloseStream() 97159b3361Sopenharmony_ci</a></p> 98159b3361Sopenharmony_ci 99159b3361Sopenharmony_ci<p>6. Finally, call the <a href="#beWriteVBRHeader()">beWriteVBRHeader()</a> 100159b3361Sopenharmony_cifunctions, to insert the INFO tag MP3 Header. This is an 101159b3361Sopenharmony_ciextension of the Xing VBR tag which is also used for CBR 102159b3361Sopenharmony_ciencodings. This call can only be omitted if the INFO tag was 103159b3361Sopenharmony_ciexplicilty disabled in the BE_CONFIG Structure.</p> 104159b3361Sopenharmony_ci 105159b3361Sopenharmony_ci<p>A handy feature is the available <a 106159b3361Sopenharmony_cihref="#Lame_enc.dll debug option">Lame_enc.dll debug option</a>, 107159b3361Sopenharmony_ciwhich will dump the important lame internal settings to a text 108159b3361Sopenharmony_cifile.<br> 109159b3361Sopenharmony_ci </p> 110159b3361Sopenharmony_ci 111159b3361Sopenharmony_ci<p> </p> 112159b3361Sopenharmony_ci 113159b3361Sopenharmony_ci<p><font size="5">Return Values</font> </p> 114159b3361Sopenharmony_ci 115159b3361Sopenharmony_ci<p>See the header-file for a complete list of function return 116159b3361Sopenharmony_civalues. All functions should return BE_ERR_SUCCESSFUL unless 117159b3361Sopenharmony_cisomething went wrong. <br> 118159b3361Sopenharmony_ci </p> 119159b3361Sopenharmony_ci 120159b3361Sopenharmony_ci<hr> 121159b3361Sopenharmony_ci 122159b3361Sopenharmony_ci<h1><a name="Type definitions"><font size="5">Type definitions</font></a></h1> 123159b3361Sopenharmony_ci 124159b3361Sopenharmony_ci<p>The DLL is by default compiled with the MS Visual C/C++ 125159b3361Sopenharmony_cicompiler, which has the following type definitions:</p> 126159b3361Sopenharmony_ci 127159b3361Sopenharmony_ci<table border="0"> 128159b3361Sopenharmony_ci <tr> 129159b3361Sopenharmony_ci <td>Type </td> 130159b3361Sopenharmony_ci <td>Description</td> 131159b3361Sopenharmony_ci </tr> 132159b3361Sopenharmony_ci <tr> 133159b3361Sopenharmony_ci <td>CHAR</td> 134159b3361Sopenharmony_ci <td>signed char (8 bits)</td> 135159b3361Sopenharmony_ci </tr> 136159b3361Sopenharmony_ci <tr> 137159b3361Sopenharmony_ci <td>BYTE</td> 138159b3361Sopenharmony_ci <td>unsigned char (8 bits)</td> 139159b3361Sopenharmony_ci </tr> 140159b3361Sopenharmony_ci <tr> 141159b3361Sopenharmony_ci <td>SHORT</td> 142159b3361Sopenharmony_ci <td>signed short (16 bits)</td> 143159b3361Sopenharmony_ci </tr> 144159b3361Sopenharmony_ci <tr> 145159b3361Sopenharmony_ci <td>WORD</td> 146159b3361Sopenharmony_ci <td>unsigned short (16 bits)</td> 147159b3361Sopenharmony_ci </tr> 148159b3361Sopenharmony_ci <tr> 149159b3361Sopenharmony_ci <td>INT</td> 150159b3361Sopenharmony_ci <td>signed long (32 bits)</td> 151159b3361Sopenharmony_ci </tr> 152159b3361Sopenharmony_ci <tr> 153159b3361Sopenharmony_ci <td>LONG</td> 154159b3361Sopenharmony_ci <td>signed long (32 bits)</td> 155159b3361Sopenharmony_ci </tr> 156159b3361Sopenharmony_ci <tr> 157159b3361Sopenharmony_ci <td>BOOL</td> 158159b3361Sopenharmony_ci <td>signed long (32 bits) (YES, 32 bits for a one bit 159159b3361Sopenharmony_ci value)<br> 160159b3361Sopenharmony_ci TRUE = 0<br> 161159b3361Sopenharmony_ci FALSE=-1</td> 162159b3361Sopenharmony_ci </tr> 163159b3361Sopenharmony_ci <tr> 164159b3361Sopenharmony_ci <td>DWORD</td> 165159b3361Sopenharmony_ci <td>unsigned long (32 bits)</td> 166159b3361Sopenharmony_ci </tr> 167159b3361Sopenharmony_ci <tr> 168159b3361Sopenharmony_ci <td>FLOAT</td> 169159b3361Sopenharmony_ci <td>floating point (32 bits)</td> 170159b3361Sopenharmony_ci </tr> 171159b3361Sopenharmony_ci <tr> 172159b3361Sopenharmony_ci <td>DOUBLE</td> 173159b3361Sopenharmony_ci <td>float point (64 bits)</td> 174159b3361Sopenharmony_ci </tr> 175159b3361Sopenharmony_ci <tr> 176159b3361Sopenharmony_ci <td>LPCSTR</td> 177159b3361Sopenharmony_ci <td>const char* (32 bits pointer to zero terminated 178159b3361Sopenharmony_ci character string)</td> 179159b3361Sopenharmony_ci </tr> 180159b3361Sopenharmony_ci</table> 181159b3361Sopenharmony_ci 182159b3361Sopenharmony_ci<p>Within the lame_enc.dll All the structure elements are one 183159b3361Sopenharmony_cibyte alligned (due to backwards compatibility with BladEnc.DLL!</p> 184159b3361Sopenharmony_ci 185159b3361Sopenharmony_ci<p> </p> 186159b3361Sopenharmony_ci 187159b3361Sopenharmony_ci<hr> 188159b3361Sopenharmony_ci 189159b3361Sopenharmony_ci<h1><a name="The BE_CONFIG Structure"><font size="5">The 190159b3361Sopenharmony_ciBE_CONFIG Structure </font></a></h1> 191159b3361Sopenharmony_ci 192159b3361Sopenharmony_ci<p><font size="3">Currently there the BE_CONFIG structure has to 193159b3361Sopenharmony_civarians, the old MP3 config structure that is truly compatible 194159b3361Sopenharmony_ciwith the old BladeEnc interface, and the new defined LHV1 195159b3361Sopenharmony_cistructure, which can set far more options in the lame encoder</font></p> 196159b3361Sopenharmony_ci 197159b3361Sopenharmony_ci<p> </p> 198159b3361Sopenharmony_ci 199159b3361Sopenharmony_ci<h2><font size="5">The MP3 BE_CONFIG - structure (OBSOLETE)</font></h2> 200159b3361Sopenharmony_ci 201159b3361Sopenharmony_ci<p>This is the old structure as it was originally defined by the 202159b3361Sopenharmony_ciBladeEnc.DLL interface. However, I do highly recommend to use the 203159b3361Sopenharmony_cinew Lame specific config structure, since it gives you more 204159b3361Sopenharmony_cicontrol over the Lame encoder settings.</p> 205159b3361Sopenharmony_ci 206159b3361Sopenharmony_ci<p>These are the members of the BE_CONFIG structure you need to 207159b3361Sopenharmony_cifill in before you call beInitStream(): <br> 208159b3361Sopenharmony_ci </p> 209159b3361Sopenharmony_ci 210159b3361Sopenharmony_ci<table border="0"> 211159b3361Sopenharmony_ci <tr> 212159b3361Sopenharmony_ci <td><b>dwConfig</b></td> 213159b3361Sopenharmony_ci <td>Specifies what kind of output you want. Since only 214159b3361Sopenharmony_ci MP3 currently is supported you must set this to <b>BE_CONFIG_MP3</b></td> 215159b3361Sopenharmony_ci </tr> 216159b3361Sopenharmony_ci <tr> 217159b3361Sopenharmony_ci <td><b>format.mp3.dwSampleRate</b> </td> 218159b3361Sopenharmony_ci <td>Samplerate in Hz for MP3 file. This can be set to 219159b3361Sopenharmony_ci either <b>32000</b>, <b>44100</b> or <b>48000</b>.</td> 220159b3361Sopenharmony_ci </tr> 221159b3361Sopenharmony_ci <tr> 222159b3361Sopenharmony_ci <td><b>format.mp3.byMode</b></td> 223159b3361Sopenharmony_ci <td>Stereomode for MP3 file. This can be either <b>BE_MP3_MODE_STEREO</b>, 224159b3361Sopenharmony_ci <b>BE_MP3_MODE_DUALCHANNEL</b> or <b>BE_MP3_MODE_MONO.</b></td> 225159b3361Sopenharmony_ci </tr> 226159b3361Sopenharmony_ci <tr> 227159b3361Sopenharmony_ci <td><b>format.mp3.bitrate</b></td> 228159b3361Sopenharmony_ci <td>Bitrate (i.e. size) of MP3 file in kBit/s. Allowed 229159b3361Sopenharmony_ci bitrates are: <b>32, 40, 48, 56, 64, 80, 96, 112, 128, 230159b3361Sopenharmony_ci 160, 192, 224, 256</b> and <b>320</b>.</td> 231159b3361Sopenharmony_ci </tr> 232159b3361Sopenharmony_ci <tr> 233159b3361Sopenharmony_ci <td><b>format.mp3.bCopyright</b></td> 234159b3361Sopenharmony_ci <td>If this is set to TRUE the Copyright bit in the MP3 235159b3361Sopenharmony_ci stream will be set.</td> 236159b3361Sopenharmony_ci </tr> 237159b3361Sopenharmony_ci <tr> 238159b3361Sopenharmony_ci <td><b>format.mp3.bCRC</b></td> 239159b3361Sopenharmony_ci <td>Set this to TRUE in order to enable CRC-checksum in 240159b3361Sopenharmony_ci the bitstream.</td> 241159b3361Sopenharmony_ci </tr> 242159b3361Sopenharmony_ci <tr> 243159b3361Sopenharmony_ci <td><b>format.mp3.bOriginal</b></td> 244159b3361Sopenharmony_ci <td>If this is set to TRUE the Original bit in the MP3 245159b3361Sopenharmony_ci stream will be set.</td> 246159b3361Sopenharmony_ci </tr> 247159b3361Sopenharmony_ci <tr> 248159b3361Sopenharmony_ci <td><b>format.mp3.bPrivate</b></td> 249159b3361Sopenharmony_ci <td>If this is set to TRUE the Private bit in the MP3 250159b3361Sopenharmony_ci stream will be set.</td> 251159b3361Sopenharmony_ci </tr> 252159b3361Sopenharmony_ci</table> 253159b3361Sopenharmony_ci 254159b3361Sopenharmony_ci<p> </p> 255159b3361Sopenharmony_ci 256159b3361Sopenharmony_ci<h2><font size="5">The LHV1 BE_CONFIG - structure (recommended)</font></h2> 257159b3361Sopenharmony_ci 258159b3361Sopenharmony_ci<p>These are the members of the LHV1 BE_CONFIG structure, you 259159b3361Sopenharmony_cineed to fill in before you call beInitStream(): <br> 260159b3361Sopenharmony_ci</p> 261159b3361Sopenharmony_ci 262159b3361Sopenharmony_ci<table border="0"> 263159b3361Sopenharmony_ci <tr> 264159b3361Sopenharmony_ci <td><b>dwConfig</b></td> 265159b3361Sopenharmony_ci <td>Specifies what kind of output you want. Since only 266159b3361Sopenharmony_ci MP3 currently is supported you must set this to <b>BE_CONFIG_LAME</b></td> 267159b3361Sopenharmony_ci </tr> 268159b3361Sopenharmony_ci <tr> 269159b3361Sopenharmony_ci <td> </td> 270159b3361Sopenharmony_ci <td> </td> 271159b3361Sopenharmony_ci </tr> 272159b3361Sopenharmony_ci <tr> 273159b3361Sopenharmony_ci <td><b>format.LHV1.dwStructVersion</b></td> 274159b3361Sopenharmony_ci <td>Indicates the version number of the structure, 275159b3361Sopenharmony_ci current version number is 1</td> 276159b3361Sopenharmony_ci </tr> 277159b3361Sopenharmony_ci <tr> 278159b3361Sopenharmony_ci <td><b>format.LHV1.dwStructSize</b></td> 279159b3361Sopenharmony_ci <td>Specifies the size of the BE_CONFIG structure 280159b3361Sopenharmony_ci (currently 331 bytes)</td> 281159b3361Sopenharmony_ci </tr> 282159b3361Sopenharmony_ci <tr> 283159b3361Sopenharmony_ci <td> </td> 284159b3361Sopenharmony_ci <td> </td> 285159b3361Sopenharmony_ci </tr> 286159b3361Sopenharmony_ci <tr> 287159b3361Sopenharmony_ci <td><b>format.LHV1.dwSampleRate</b> </td> 288159b3361Sopenharmony_ci <td>Samplerate in Hz for MP3 file. This can be set to 289159b3361Sopenharmony_ci either:<br> 290159b3361Sopenharmony_ci <b>32000</b>, <b>44100</b> or <b>48000</b> for MPEG-I<br> 291159b3361Sopenharmony_ci <b>16000</b>, <b>22050</b> or <b>24000</b> for MPEG-I<br> 292159b3361Sopenharmony_ci <b>8000</b>, <b>11025</b> or <b>12000</b> for MPEG-II.5</td> 293159b3361Sopenharmony_ci </tr> 294159b3361Sopenharmony_ci <tr> 295159b3361Sopenharmony_ci <td><b>format.LHV1.dwReSampleRate</b></td> 296159b3361Sopenharmony_ci <td>Specifies to which sample rate the input stream has 297159b3361Sopenharmony_ci to be resampled, if set to 0, the encoder will decide 298159b3361Sopenharmony_ci which ReSample rate to use</td> 299159b3361Sopenharmony_ci </tr> 300159b3361Sopenharmony_ci <tr> 301159b3361Sopenharmony_ci <td><b>format.LHV1.nMode</b></td> 302159b3361Sopenharmony_ci <td>Stereomode for MP3 file. This can be either <b>BE_MP3_MODE_STEREO</b>, 303159b3361Sopenharmony_ci <b>BE_MP3_MODE_JSTEREO, BE_MP3_MODE_DUALCHANNEL</b> or <b>BE_MP3_MODE_MONO.</b></td> 304159b3361Sopenharmony_ci </tr> 305159b3361Sopenharmony_ci <tr> 306159b3361Sopenharmony_ci <td><strong>format.LHV1.dwBitrate</strong></td> 307159b3361Sopenharmony_ci <td>For CBR, this specifies the actual bitrate, for VBR, 308159b3361Sopenharmony_ci it specifies the minimum bitrate<br> 309159b3361Sopenharmony_ci Allowed bitrates are: <b>32, 40, 48, 56, 64, 80, 96, 112, 310159b3361Sopenharmony_ci 128, 160, 192, 224, 256</b> and <b>320</b>.for MPEG-I<br> 311159b3361Sopenharmony_ci Allowed bitrates are: <b>8, 16, 24, 32, 40, 48, 56, 64, 312159b3361Sopenharmony_ci 80, 96, 112, 128, 144 </b>and<b> 160</b>.for MPEG-II<p><strong>Note:</strong> 313159b3361Sopenharmony_ci dwBitrate is used as the minimum bitrate in the case of 314159b3361Sopenharmony_ci using a VBR mode.</p> 315159b3361Sopenharmony_ci </td> 316159b3361Sopenharmony_ci </tr> 317159b3361Sopenharmony_ci <tr> 318159b3361Sopenharmony_ci <td><strong>format.LHV1.dwMaxBitrate</strong></td> 319159b3361Sopenharmony_ci <td>When VBR mode is enabled, it specifies the maximum 320159b3361Sopenharmony_ci allowed bitrate (see also dwBitrate to specify the minium 321159b3361Sopenharmony_ci bitrate), for CBR mode this setting is ignored.</td> 322159b3361Sopenharmony_ci </tr> 323159b3361Sopenharmony_ci <tr> 324159b3361Sopenharmony_ci <td><strong>format.LHV1.nPreset</strong></td> 325159b3361Sopenharmony_ci <td>Keep in mind that the presets can overwrite some of 326159b3361Sopenharmony_ci the other settings, since it is called right before the 327159b3361Sopenharmony_ci encoder is initialized<br> 328159b3361Sopenharmony_ci <table border="0"> 329159b3361Sopenharmony_ci <tr> 330159b3361Sopenharmony_ci <td>The nPreset option can be set to one of the 331159b3361Sopenharmony_ci following presets values::</td> 332159b3361Sopenharmony_ci </tr> 333159b3361Sopenharmony_ci </table> 334159b3361Sopenharmony_ci <p>LQP_NOPRESET (don't use any presets)<br> 335159b3361Sopenharmony_ci LQP_NORMAL_QUALITY (quality is set to 5)<br> 336159b3361Sopenharmony_ci LQP_LOW_QUALITY (quality is set to 9)<br> 337159b3361Sopenharmony_ci LQP_HIGH_QUALITY (quality is set to 2)<br> 338159b3361Sopenharmony_ci LQP_VOICE_QUALITY (use for voice encoding)<br> 339159b3361Sopenharmony_ci LQP_R3MIX (r3mix preset option)<br> 340159b3361Sopenharmony_ci LQP_VERYHIGH_QUALITY (quality is set to 0)<br> 341159b3361Sopenharmony_ci LQP_STANDARD (lame command line alt-preset standard)<br> 342159b3361Sopenharmony_ci LQP_FAST_STANDARD (lame command line alt-preset fast 343159b3361Sopenharmony_ci standard)<br> 344159b3361Sopenharmony_ci LQP_EXTREME (lame command line alt-preset extreme)<br> 345159b3361Sopenharmony_ci LQP_FAST_EXTREME (lame command line alt-preset fast 346159b3361Sopenharmony_ci extreme)<br> 347159b3361Sopenharmony_ci LQP_INSANE (lame command line alt-preset insane)<br> 348159b3361Sopenharmony_ci LQP_ABR (lame command line alt-preset abr)<br> 349159b3361Sopenharmony_ci LQP_CBR(lame command line alt-preset cbr)<br> 350159b3361Sopenharmony_ci <br> 351159b3361Sopenharmony_ci <strong>(old lame preset options)</strong><br> 352159b3361Sopenharmony_ci LQP_PHONE <br> 353159b3361Sopenharmony_ci LQP_SW<br> 354159b3361Sopenharmony_ci LQP_AM<br> 355159b3361Sopenharmony_ci LQP_FM<br> 356159b3361Sopenharmony_ci LQP_VOICE<br> 357159b3361Sopenharmony_ci LQP_RADIO<br> 358159b3361Sopenharmony_ci LQP_TAPE<br> 359159b3361Sopenharmony_ci LQP_HIFI<br> 360159b3361Sopenharmony_ci LQP_CD<br> 361159b3361Sopenharmony_ci LQP_STUDIO</p> 362159b3361Sopenharmony_ci </td> 363159b3361Sopenharmony_ci </tr> 364159b3361Sopenharmony_ci <tr> 365159b3361Sopenharmony_ci <td> </td> 366159b3361Sopenharmony_ci </tr> 367159b3361Sopenharmony_ci <tr> 368159b3361Sopenharmony_ci <td><b>format.LHV1.bCopyright</b></td> 369159b3361Sopenharmony_ci <td>If this is set to TRUE the Copyright bit in the MP3 370159b3361Sopenharmony_ci stream will be set.</td> 371159b3361Sopenharmony_ci </tr> 372159b3361Sopenharmony_ci <tr> 373159b3361Sopenharmony_ci <td><b>format.LHV1.bCRC</b></td> 374159b3361Sopenharmony_ci <td>Set this to TRUE in order to enable CRC-checksum in 375159b3361Sopenharmony_ci the bitstream.</td> 376159b3361Sopenharmony_ci </tr> 377159b3361Sopenharmony_ci <tr> 378159b3361Sopenharmony_ci <td><b>format.LHV1.bOriginal</b></td> 379159b3361Sopenharmony_ci <td>If this is set to TRUE the Original bit in the MP3 380159b3361Sopenharmony_ci stream will be set.</td> 381159b3361Sopenharmony_ci </tr> 382159b3361Sopenharmony_ci <tr> 383159b3361Sopenharmony_ci <td><b>format.LHV1.bPrivate</b></td> 384159b3361Sopenharmony_ci <td>If this is set to TRUE the Private bit in the MP3 385159b3361Sopenharmony_ci stream will be set.</td> 386159b3361Sopenharmony_ci </tr> 387159b3361Sopenharmony_ci <tr> 388159b3361Sopenharmony_ci <td> </td> 389159b3361Sopenharmony_ci <td> </td> 390159b3361Sopenharmony_ci </tr> 391159b3361Sopenharmony_ci <tr> 392159b3361Sopenharmony_ci <td><strong>format.LHV1.nVbrMethod</strong></td> 393159b3361Sopenharmony_ci <td>Sepecifes if the VBR method to use, currently the 394159b3361Sopenharmony_ci following settings are supported:<p><font size="3">VBR_METHOD_NONE 395159b3361Sopenharmony_ci (don't use VBR, use CBR encoding instead),<br> 396159b3361Sopenharmony_ci VBR_METHOD_DEFAULT (default VBR method)<br> 397159b3361Sopenharmony_ci VBR_METHOD_OLD (old VBR method, proven to be reliable)<br> 398159b3361Sopenharmony_ci VBR_METHOD_NEW (new VBR method, faster than 399159b3361Sopenharmony_ci VBR_METHOD_OLD)<br> 400159b3361Sopenharmony_ci VBR_METHOD_MTRH (depreciated, same as VBR_METHOD_NEW)<br> 401159b3361Sopenharmony_ci VBR_METHOD_ABR (Average Bitrate Encoding, see also </font><strong>format.LHV1.dwVbrAbr_bps</strong><font 402159b3361Sopenharmony_ci size="3">)</font></p> 403159b3361Sopenharmony_ci </td> 404159b3361Sopenharmony_ci </tr> 405159b3361Sopenharmony_ci <tr> 406159b3361Sopenharmony_ci <td><strong>format.LHV1.bWriteVBRHeader</strong></td> 407159b3361Sopenharmony_ci <td>Sepecifes if the a XING VBR header should be written 408159b3361Sopenharmony_ci or not. When this option is enabled, you have to call the 409159b3361Sopenharmony_ci <font size="3">beWriteVBRHeader function when encoding 410159b3361Sopenharmony_ci has been completed. Keep in mind that the VBR info tag 411159b3361Sopenharmony_ci can also be written for CBR encoded files, the TAG info 412159b3361Sopenharmony_ci can be useful for additional info like encoder delay and 413159b3361Sopenharmony_ci the like.</font></td> 414159b3361Sopenharmony_ci </tr> 415159b3361Sopenharmony_ci <tr> 416159b3361Sopenharmony_ci <td><strong>format.LHV1.bEnableVBR</strong></td> 417159b3361Sopenharmony_ci <td>Specifies if VBR encoding option shall be used or 418159b3361Sopenharmony_ci not, possible values are TRUE/FALSE</td> 419159b3361Sopenharmony_ci </tr> 420159b3361Sopenharmony_ci <tr> 421159b3361Sopenharmony_ci <td><strong>format.LHV1.nVBRQuality</strong></td> 422159b3361Sopenharmony_ci <td>Quality option if VBR is enabled (0=highest quality, 423159b3361Sopenharmony_ci 9 is lowest quality)</td> 424159b3361Sopenharmony_ci </tr> 425159b3361Sopenharmony_ci <tr> 426159b3361Sopenharmony_ci <td><strong>format.LHV1.dwVbrAbr_bps</strong></td> 427159b3361Sopenharmony_ci <td>If the Average Bit Rate is specified, the lame 428159b3361Sopenharmony_ci encoder ignores the nVBRQuality settings (However, <strong>bEnableVBR</strong> 429159b3361Sopenharmony_ci must be set to TRUE and the <strong>format.LHV1.nVbrMethod 430159b3361Sopenharmony_ci </strong>parameter should be set to<strong> </strong><font 431159b3361Sopenharmony_ci size="3"><strong>VBR_METHOD_ABR</strong>). The allowed 432159b3361Sopenharmony_ci range for the </font><strong>format.LHV1.dwVbrAbr_bps </strong>parameter<strong> 433159b3361Sopenharmony_ci </strong>any integer value <font size="3">between:</font><p><strong>MPEG-I:</strong> 434159b3361Sopenharmony_ci 32000 .. 320000 bps<b><br> 435159b3361Sopenharmony_ci </b><strong>MPEG-II:</strong> 8000 .. 160000 bps</p> 436159b3361Sopenharmony_ci </td> 437159b3361Sopenharmony_ci </tr> 438159b3361Sopenharmony_ci <tr> 439159b3361Sopenharmony_ci <td> </td> 440159b3361Sopenharmony_ci <td> </td> 441159b3361Sopenharmony_ci </tr> 442159b3361Sopenharmony_ci <tr> 443159b3361Sopenharmony_ci <td><strong>format.LHV1.bNoBitRes</strong></td> 444159b3361Sopenharmony_ci <td>Disables the bit-resorvoir and disables the insertion 445159b3361Sopenharmony_ci of padded frames</td> 446159b3361Sopenharmony_ci </tr> 447159b3361Sopenharmony_ci <tr> 448159b3361Sopenharmony_ci <td><strong>format.LHV1.nQuality</strong></td> 449159b3361Sopenharmony_ci <td>Quality Setting, HIGH BYTE should be NOT LOW byte, 450159b3361Sopenharmony_ci otherwhise quality is set to 5. This is done to be 451159b3361Sopenharmony_ci backward compatible. So to set quality to 3, you have to 452159b3361Sopenharmony_ci set the nQuality parameter to 0xFC03.</td> 453159b3361Sopenharmony_ci </tr> 454159b3361Sopenharmony_ci <tr> 455159b3361Sopenharmony_ci <td><b>format.mp3.btReserved</b></td> 456159b3361Sopenharmony_ci <td>For future use, set all elements to zero</td> 457159b3361Sopenharmony_ci </tr> 458159b3361Sopenharmony_ci</table> 459159b3361Sopenharmony_ci 460159b3361Sopenharmony_ci<p> </p> 461159b3361Sopenharmony_ci 462159b3361Sopenharmony_ci<p> </p> 463159b3361Sopenharmony_ci 464159b3361Sopenharmony_ci<hr> 465159b3361Sopenharmony_ci 466159b3361Sopenharmony_ci<h1><a name="beInitStream()"><font size="5">beInitStream()</font></a> 467159b3361Sopenharmony_ci</h1> 468159b3361Sopenharmony_ci 469159b3361Sopenharmony_ci<table border="0" cellspacing="16" width="100%"> 470159b3361Sopenharmony_ci <tr> 471159b3361Sopenharmony_ci <td valign="top" width="20%"><b>Synopsis:</b></td> 472159b3361Sopenharmony_ci <td valign="top" width="80%">BE_ERR beInitStream( 473159b3361Sopenharmony_ci PBE_CONFIG <i>pbeConfig</i>, PDWORD <i>dwSamples</i>, 474159b3361Sopenharmony_ci PDWORD <i>dwBufferSize</i>, PHBE_STREAM <i>phbeStream</i> 475159b3361Sopenharmony_ci )</td> 476159b3361Sopenharmony_ci </tr> 477159b3361Sopenharmony_ci <tr> 478159b3361Sopenharmony_ci <td valign="top" width="20%"><b>Parameters:</b></td> 479159b3361Sopenharmony_ci <td valign="top" width="80%"><table border="0" 480159b3361Sopenharmony_ci cellspacing="10" width="100%"> 481159b3361Sopenharmony_ci <tr> 482159b3361Sopenharmony_ci <td valign="top" width="20%"><i>pbeConfig</i></td> 483159b3361Sopenharmony_ci <td>Pointer at the struct containing encoder 484159b3361Sopenharmony_ci settings.</td> 485159b3361Sopenharmony_ci </tr> 486159b3361Sopenharmony_ci <tr> 487159b3361Sopenharmony_ci <td valign="top"><i>dwSamples</i></td> 488159b3361Sopenharmony_ci <td>Pointer at double word where number of 489159b3361Sopenharmony_ci samples to send to each <i>beEncodeChunk()</i> is 490159b3361Sopenharmony_ci returned.</td> 491159b3361Sopenharmony_ci </tr> 492159b3361Sopenharmony_ci <tr> 493159b3361Sopenharmony_ci <td valign="top"><i>dwBufferSize</i></td> 494159b3361Sopenharmony_ci <td>Pointer at double word where minimum size in 495159b3361Sopenharmony_ci bytes of output buffer is returned.</td> 496159b3361Sopenharmony_ci </tr> 497159b3361Sopenharmony_ci <tr> 498159b3361Sopenharmony_ci <td valign="top"><i>phbeStream</i></td> 499159b3361Sopenharmony_ci <td>Pointer at integer where Stream handle is 500159b3361Sopenharmony_ci returned.</td> 501159b3361Sopenharmony_ci </tr> 502159b3361Sopenharmony_ci </table> 503159b3361Sopenharmony_ci </td> 504159b3361Sopenharmony_ci </tr> 505159b3361Sopenharmony_ci <tr> 506159b3361Sopenharmony_ci <td valign="top" width="20%"><b>Description:</b></td> 507159b3361Sopenharmony_ci <td valign="top" width="80%">This function is the first 508159b3361Sopenharmony_ci to call before starting an encoding stream.</td> 509159b3361Sopenharmony_ci </tr> 510159b3361Sopenharmony_ci</table> 511159b3361Sopenharmony_ci 512159b3361Sopenharmony_ci<hr> 513159b3361Sopenharmony_ci 514159b3361Sopenharmony_ci<h1><a name="beEncodeChunk()"><font size="5">beEncodeChunk()</font> 515159b3361Sopenharmony_ci</a></h1> 516159b3361Sopenharmony_ci 517159b3361Sopenharmony_ci<table border="0" cellspacing="16" width="100%"> 518159b3361Sopenharmony_ci <tr> 519159b3361Sopenharmony_ci <td valign="top" width="20%"><b>Synopsis:</b></td> 520159b3361Sopenharmony_ci <td valign="top" width="80%">BE_ERR beEncodeChunk( 521159b3361Sopenharmony_ci HBE_STREAM <i>hbeStream</i>, DWORD <i>nSamples</i>, 522159b3361Sopenharmony_ci PSHORT <i>pSamples</i>, PBYTE <i>pOutput</i>, PDWORD <i>pdwOutput</i> 523159b3361Sopenharmony_ci )</td> 524159b3361Sopenharmony_ci </tr> 525159b3361Sopenharmony_ci <tr> 526159b3361Sopenharmony_ci <td valign="top" width="20%"><b>Parameters:</b></td> 527159b3361Sopenharmony_ci <td valign="top"><table border="0" cellspacing="10" 528159b3361Sopenharmony_ci width="100%"> 529159b3361Sopenharmony_ci <tr> 530159b3361Sopenharmony_ci <td valign="top" width="20%"><i>hbeStream</i></td> 531159b3361Sopenharmony_ci <td width="80%">Handle of the stream.</td> 532159b3361Sopenharmony_ci </tr> 533159b3361Sopenharmony_ci <tr> 534159b3361Sopenharmony_ci <td valign="top" width="90"><i>nSamples</i></td> 535159b3361Sopenharmony_ci <td>Number of samples to be encoded for this 536159b3361Sopenharmony_ci call. This should be identical to what is 537159b3361Sopenharmony_ci returned by <i>beInitStream()</i>, unless you are 538159b3361Sopenharmony_ci encoding the last chunk, which might be smaller.</td> 539159b3361Sopenharmony_ci </tr> 540159b3361Sopenharmony_ci <tr> 541159b3361Sopenharmony_ci <td valign="top" width="90"><i>pSamples</i></td> 542159b3361Sopenharmony_ci <td>Pointer at the 16-bit signed samples to be 543159b3361Sopenharmony_ci encoded. These should be in stereo when encoding 544159b3361Sopenharmony_ci a stereo MP3 and mono when encoding a mono MP3.</td> 545159b3361Sopenharmony_ci </tr> 546159b3361Sopenharmony_ci <tr> 547159b3361Sopenharmony_ci <td valign="top" width="90"><i>pOutput</i></td> 548159b3361Sopenharmony_ci <td>Where to write the encoded data. This buffer 549159b3361Sopenharmony_ci should be at least of the minimum size returned 550159b3361Sopenharmony_ci by <i>beInitStream()</i>.</td> 551159b3361Sopenharmony_ci </tr> 552159b3361Sopenharmony_ci <tr> 553159b3361Sopenharmony_ci <td valign="top" width="90"><i>pdwOutput</i></td> 554159b3361Sopenharmony_ci <td>Where to return number of bytes of encoded 555159b3361Sopenharmony_ci data written. The amount of data written might 556159b3361Sopenharmony_ci vary from chunk to chunk.</td> 557159b3361Sopenharmony_ci </tr> 558159b3361Sopenharmony_ci </table> 559159b3361Sopenharmony_ci </td> 560159b3361Sopenharmony_ci </tr> 561159b3361Sopenharmony_ci <tr> 562159b3361Sopenharmony_ci <td valign="top" width="20%"><b>Description:</b></td> 563159b3361Sopenharmony_ci <td valign="top">Encodes a chunk of samples. <i>Please 564159b3361Sopenharmony_ci note that if you have set the output to generate mono MP3 565159b3361Sopenharmony_ci files you must feed beEncodeChunk() with mono samples!</i></td> 566159b3361Sopenharmony_ci </tr> 567159b3361Sopenharmony_ci</table> 568159b3361Sopenharmony_ci 569159b3361Sopenharmony_ci<hr> 570159b3361Sopenharmony_ci 571159b3361Sopenharmony_ci<h1><a name="beDeinitStream()"><font size="5">beDeinitStream()</font> 572159b3361Sopenharmony_ci</a></h1> 573159b3361Sopenharmony_ci 574159b3361Sopenharmony_ci<table border="0" cellspacing="16" width="100%"> 575159b3361Sopenharmony_ci <tr> 576159b3361Sopenharmony_ci <td valign="top" width="20%"><b>Synopsis:</b></td> 577159b3361Sopenharmony_ci <td valign="top" width="80%">BE_ERR beDeinitStream( 578159b3361Sopenharmony_ci HBE_STREAM <i>hbeStream</i>, PBYTE <i>pOutput</i>, PDWORD 579159b3361Sopenharmony_ci <i>pdwOutput</i> )</td> 580159b3361Sopenharmony_ci </tr> 581159b3361Sopenharmony_ci <tr> 582159b3361Sopenharmony_ci <td valign="top" width="20%"><b>Parameters:</b></td> 583159b3361Sopenharmony_ci <td valign="top"><table border="0" cellspacing="10" 584159b3361Sopenharmony_ci width="100%"> 585159b3361Sopenharmony_ci <tr> 586159b3361Sopenharmony_ci <td valign="top" width="20%"><i>hbeStream</i></td> 587159b3361Sopenharmony_ci <td width="80%">Handle of the stream.</td> 588159b3361Sopenharmony_ci </tr> 589159b3361Sopenharmony_ci <tr> 590159b3361Sopenharmony_ci <td valign="top"><i>pOutput</i></td> 591159b3361Sopenharmony_ci <td>Where to write the encoded data. This buffer 592159b3361Sopenharmony_ci should be at least of the minimum size returned 593159b3361Sopenharmony_ci by <i>beInitStream()</i>.</td> 594159b3361Sopenharmony_ci </tr> 595159b3361Sopenharmony_ci <tr> 596159b3361Sopenharmony_ci <td><i>pdwOutput</i></td> 597159b3361Sopenharmony_ci <td>Where to return number of bytes of encoded 598159b3361Sopenharmony_ci data written.</td> 599159b3361Sopenharmony_ci </tr> 600159b3361Sopenharmony_ci </table> 601159b3361Sopenharmony_ci </td> 602159b3361Sopenharmony_ci </tr> 603159b3361Sopenharmony_ci <tr> 604159b3361Sopenharmony_ci <td valign="top" width="20%"><b>Description:</b></td> 605159b3361Sopenharmony_ci <td valign="top">This function should be called after 606159b3361Sopenharmony_ci encoding the last chunk in order to flush the encoder. It 607159b3361Sopenharmony_ci writes any encoded data that still might be left inside 608159b3361Sopenharmony_ci the encoder to the output buffer. This function should 609159b3361Sopenharmony_ci NOT be called unless you have encoded all of the chunks 610159b3361Sopenharmony_ci in your stream.</td> 611159b3361Sopenharmony_ci </tr> 612159b3361Sopenharmony_ci</table> 613159b3361Sopenharmony_ci 614159b3361Sopenharmony_ci<hr> 615159b3361Sopenharmony_ci 616159b3361Sopenharmony_ci<h1><a name="beCloseStream()"><font size="5">beCloseStream()</font></a> 617159b3361Sopenharmony_ci</h1> 618159b3361Sopenharmony_ci 619159b3361Sopenharmony_ci<table border="0" cellspacing="16" width="100%"> 620159b3361Sopenharmony_ci <tr> 621159b3361Sopenharmony_ci <td valign="top" width="20%"><b>Synopsis:</b></td> 622159b3361Sopenharmony_ci <td valign="top">BE_ERR beCloseStream( HBE_STREAM <i>hbeStream</i> 623159b3361Sopenharmony_ci )</td> 624159b3361Sopenharmony_ci </tr> 625159b3361Sopenharmony_ci <tr> 626159b3361Sopenharmony_ci <td valign="top" width="90"><b>Parameters:</b></td> 627159b3361Sopenharmony_ci <td valign="top"><table border="0" cellspacing="10" 628159b3361Sopenharmony_ci width="100%"> 629159b3361Sopenharmony_ci <tr> 630159b3361Sopenharmony_ci <td width="20%"><i>hbeStream</i></td> 631159b3361Sopenharmony_ci <td>Handle of the stream.</td> 632159b3361Sopenharmony_ci </tr> 633159b3361Sopenharmony_ci </table> 634159b3361Sopenharmony_ci </td> 635159b3361Sopenharmony_ci </tr> 636159b3361Sopenharmony_ci <tr> 637159b3361Sopenharmony_ci <td valign="top" width="90"><b>Description:</b></td> 638159b3361Sopenharmony_ci <td valign="top">Last function to be called when finished 639159b3361Sopenharmony_ci encoding a stream. Should unlike <i>beDeinitStream()</i> 640159b3361Sopenharmony_ci also be called if the encoding is canceled.</td> 641159b3361Sopenharmony_ci </tr> 642159b3361Sopenharmony_ci</table> 643159b3361Sopenharmony_ci 644159b3361Sopenharmony_ci<hr> 645159b3361Sopenharmony_ci 646159b3361Sopenharmony_ci<h1><a name="beVersion()"><font size="5">beVersion()</font> </a></h1> 647159b3361Sopenharmony_ci 648159b3361Sopenharmony_ci<table border="0" cellspacing="16" width="100%"> 649159b3361Sopenharmony_ci <tr> 650159b3361Sopenharmony_ci <td valign="top" width="20%"><b>Synopsis:</b></td> 651159b3361Sopenharmony_ci <td valign="top">VOID beVersion( PBE_VERSION <i>pbeVersion</i> 652159b3361Sopenharmony_ci )</td> 653159b3361Sopenharmony_ci </tr> 654159b3361Sopenharmony_ci <tr> 655159b3361Sopenharmony_ci <td valign="top"><b>Parameters:</b></td> 656159b3361Sopenharmony_ci <td valign="top"><table border="0" cellspacing="10" 657159b3361Sopenharmony_ci width="100%"> 658159b3361Sopenharmony_ci <tr> 659159b3361Sopenharmony_ci <td valign="top" width="20%"><i>pbeVersion</i></td> 660159b3361Sopenharmony_ci <td>Pointer at struct where version number, 661159b3361Sopenharmony_ci release date and URL for homepage is returned.</td> 662159b3361Sopenharmony_ci </tr> 663159b3361Sopenharmony_ci </table> 664159b3361Sopenharmony_ci </td> 665159b3361Sopenharmony_ci </tr> 666159b3361Sopenharmony_ci <tr> 667159b3361Sopenharmony_ci <td valign="top"><b>Description:</b></td> 668159b3361Sopenharmony_ci <td valign="top">Returns information like version numbers 669159b3361Sopenharmony_ci (both of the DLL and encoding engine), release date and 670159b3361Sopenharmony_ci URL for lame_enc's homepage. All this information should 671159b3361Sopenharmony_ci be made available to the user of your product through a 672159b3361Sopenharmony_ci dialog box or something similar.</td> 673159b3361Sopenharmony_ci </tr> 674159b3361Sopenharmony_ci</table> 675159b3361Sopenharmony_ci 676159b3361Sopenharmony_ci<p> </p> 677159b3361Sopenharmony_ci 678159b3361Sopenharmony_ci<hr> 679159b3361Sopenharmony_ci 680159b3361Sopenharmony_ci<p> </p> 681159b3361Sopenharmony_ci 682159b3361Sopenharmony_ci<h1><a name="beWriteVBRHeader()"><font size="5">beWriteVBRHeader()</font> 683159b3361Sopenharmony_ci</a></h1> 684159b3361Sopenharmony_ci 685159b3361Sopenharmony_ci<table border="0" cellspacing="16" width="100%"> 686159b3361Sopenharmony_ci <tr> 687159b3361Sopenharmony_ci <td valign="top" width="20%"><b>Synopsis:</b></td> 688159b3361Sopenharmony_ci <td valign="top">VOID beWriteVBRHeader( LPCSTR <i>pszMP3FileName</i> 689159b3361Sopenharmony_ci )</td> 690159b3361Sopenharmony_ci </tr> 691159b3361Sopenharmony_ci <tr> 692159b3361Sopenharmony_ci <td valign="top"><b>Parameters:</b></td> 693159b3361Sopenharmony_ci <td valign="top"><table border="0" cellspacing="10" 694159b3361Sopenharmony_ci width="100%"> 695159b3361Sopenharmony_ci <tr> 696159b3361Sopenharmony_ci <td valign="top" width="20%"><i>pszMP3FileName</i></td> 697159b3361Sopenharmony_ci <td>Const Pointer zero terminated string, that 698159b3361Sopenharmony_ci contains the MP3 file name.</td> 699159b3361Sopenharmony_ci </tr> 700159b3361Sopenharmony_ci </table> 701159b3361Sopenharmony_ci </td> 702159b3361Sopenharmony_ci </tr> 703159b3361Sopenharmony_ci <tr> 704159b3361Sopenharmony_ci <td valign="top"><b>Description:</b></td> 705159b3361Sopenharmony_ci <td valign="top">Writes a Xing Header in front of the MP3 706159b3361Sopenharmony_ci file. Make sure that the MP3 file is closed, and the the 707159b3361Sopenharmony_ci beConfig.format.LHV1.bWriteVBRHeader has been set to 708159b3361Sopenharmony_ci TRUE. In addition, it is always save to call 709159b3361Sopenharmony_ci beWriteVBRHeader after the encoding has been finished, 710159b3361Sopenharmony_ci even when the beConfig.format.LHV1.bWriteVBRHeader is not 711159b3361Sopenharmony_ci set to TRUE</td> 712159b3361Sopenharmony_ci </tr> 713159b3361Sopenharmony_ci</table> 714159b3361Sopenharmony_ci 715159b3361Sopenharmony_ci<p> </p> 716159b3361Sopenharmony_ci 717159b3361Sopenharmony_ci<p> </p> 718159b3361Sopenharmony_ci 719159b3361Sopenharmony_ci<hr> 720159b3361Sopenharmony_ci 721159b3361Sopenharmony_ci<p> </p> 722159b3361Sopenharmony_ci 723159b3361Sopenharmony_ci<h1><a name="Lame_enc.dll debug option">Lame_enc.dll debug option</a></h1> 724159b3361Sopenharmony_ci 725159b3361Sopenharmony_ci<p>The lame_enc.dll has a built-in debug option, that dumps all 726159b3361Sopenharmony_cithe important internal settings to a text file. To enable this 727159b3361Sopenharmony_cifeature, create a text file in the Windows directory which is 728159b3361Sopenharmony_cinamed lame_enc.ini, and should contain the following two lines</p> 729159b3361Sopenharmony_ci 730159b3361Sopenharmony_ci<p>[debug]<br> 731159b3361Sopenharmony_ciWriteLogFile=1</p> 732159b3361Sopenharmony_ci 733159b3361Sopenharmony_ci<p>Save this text file, and each time you encode a file, the 734159b3361Sopenharmony_cisettings are added to a file name lame_enc.txt, that is located 735159b3361Sopenharmony_ciin the same directory as the lame_enc.dll</p> 736159b3361Sopenharmony_ci 737159b3361Sopenharmony_ci<p> </p> 738159b3361Sopenharmony_ci 739159b3361Sopenharmony_ci<p><br> 740159b3361Sopenharmony_ci </p> 741159b3361Sopenharmony_ci</body> 742159b3361Sopenharmony_ci</html> 743