210 lines · 4.8 KB · HTML
RawDownload
<html> <head><title>FAAC - ISO/MPEG 2/4 AAC Encoder Library</title></head> <body> <h3><center>FAAC - ISO/MPEG 2/4 AAC Encoder Library version 1.0<br>(<a href="http://www.audiocoding.com/">www.audiocoding.com</a>)</center></h3> <h4>Contents</h4><menu> <li><a href="#scope">Scope</a> <li><a href="#interface">Interface description</a> <li><a href="#usage">Usage</a> <menu>  <li><a href="#callseq">Calling sequence</a> </menu> <li><a href="#funcref">Function reference</a> <menu>  <li><a href="#init">Initialization / De-initialization</a>  <menu>   <li><a href="#encopen">faacEncOpen()</a>   <li><a href="#encclose">faacEncClose()</a>  </menu>  <li><a href="#encconf">Encoder configuration</a>  <menu>   <li><a href="#getconf">faacEncGetCurrentConfiguration()</a>   <li><a href="#setconfig">faacEncSetConfiguration()</a>  </menu>  <li><a href="#encfunc">Encoding functions</a>  <menu>   <li><a href="#encenc">faacEncEncode()</a>  </menu> </menu>  <li><a href="#datastruct">Data structures reference</a>  <menu>  <li><a href="#encconfig">faacEncConfiguration</a>  </menu></menu>  <a name="scope"><h4>Scope</h4>This document describes the interface and usage of theFAAC - ISO/MPEG 2/4 AAC Encoder LibraryDeveloped for the Freeware Advanced Audio Coding project. <a name="interface"><h4>Interface description</h4>The ISO/MPEG 2/4 AAC Encoder Library provides a high-levelinterface for encoding MPEG2 and MPEG4 ISO AAC files. Thefollowing header file is provided for usage in C/C++ programs:<br><br> <b>faac.h</b>: function prototypes<br><br> The encoder core resides in a statically linkable library called libfaac.lib <i>(Microsoft Window</i>s) or libfaac.a <i>(UNI</i>X). Thereare various example programs that show how to use the library. <a name="usage"><h4>Usage</h4> <a name="callseq"><h4>Calling sequence</h4> For encoding AAC bitstreams the following calling sequence ismandatory:<br> <menu><li>Call <i>faacEncOpen()</i> for every encoder instance you need.<li>To set encoder options, call <i>faacEncGetCurrentConfiguration()</i>, change the parameters in the structure accessible by the returned pointer and then call <i>faacEncSetConfiguration()</i>.<li>As long as there are still samples left to encode, call <i>faacEncEncode()</i> to encode the data. The encoder returns the bitstream data in a client-supplied buffer.<li> Once you call <i>faacEncEncode()</i> with zero samples of input the flushing process is initiated; afterwards you may call <i>faacEncEncode()</i> with zero samples input only.<br> <i>faacEncEncode()</i> will continue to write out data until all audio samples have been encoded.<li> Once  <i>faacEncEncode()</i>	has returned with zero bytes written,	call <i>faacEncClose()</i>	to destroy this encoder instance.</menu> <a name="funcref"><h4>Function reference</h4> <a name="init"><h4>Initialization / De-initialization</h4> <a name="encopen"><h5><i>faacEncOpen()</i></h5> <pre><b>Prototype</b>faacEncHandle FAACAPI faacEncOpen(unsigned long sampleRate,unsigned int numChannels,unsigned long *inputSamples,unsigned long *maxOutputBytes);<b>Description</b>Open and initialize one instance of the encoder.<b>Parameters</b><li><i>sampleRate</i>	The samplerate of the encoder input data.<li><i>numChannels</i>	The number of channels of the encoder input data.<li><i>inputSamples</i>	Receives the total number of samples that should be fed to	faacEncEncode() in each call.<li><i>maxOutputBytes</i>	Receives the maximum number of bytes that can be in the	output buffer after a call to faacEncEncode().<b>Return value</b>An initialized encoder handle. If anything goes wrong NULL is returned.</pre> <a name="encclose"><h5><i>faacEncClose()</i></h5><pre><b>Prototype</b>void FAACAPI faacEncClose(faacEncHandle hEncoder);<b>Description</b>Closes an encoder instance.<b>Parameters</b><li>hEncoder	An encoder handle returned by faacEncOpen().</pre> <a name="encconf"><h4>Encoder configuration</h4> <a name="getconf"><h5><i>faacEncGetCurrentConfiguration()</i></h5> <pre><b>Prototype</b>faacEncConfigurationPtr FAACAPIfaacEncGetCurrentConfiguration(faacEncHandle hEncoder);<b>Description</b>Get a pointer to a structure describing the current encoderconfiguration. You may change this structure and feed it into<i>faacEncSetConfiguration()</i>.</pre> <a name="setconf"><h5><i>faacEncSetConfiguration()</i></h4> <pre><b>Prototype</b>int FAACAPI faacEncSetConfiguration(faacDecHandle hDecoder,faacEncConfigurationPtr config);<b>Description</b>Set a new encoder configuration. SeefaacEncGetCurrentConfiguration().</pre>  <a name=""><h4></h4><a name=""><h4></h4>   <center><br><i>Copyright &copy; 2001,2003 <a href="http://www.audiocoding.com/">AudioCoding.com</a>. All rights reserved.</i></center> </body> </html>   

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t