< Error concealment: Processing method. \n
0: Spectral muting. \n
1: Noise substitution (see ::CONCEAL_NOISE).
\n 2: Energy interpolation (adds additional
signal delay of one frame, see
::CONCEAL_INTER. only some AOTs are
supported). \n
< MPEG-4 / MPEG-D DRC: Scaling factor
for attenuating gain values. Same as
::AAC_DRC_BOOST_FACTOR but for
attenuating DRC factors.
< Defines the time in ms after which all
the bitstream associated meta-data (DRC,
downmix coefficients, …) will be reset
to default if no update has been
received. Negative values disable the
feature.
< Signal level limiting attack time
in ms. Default configuration is 15
ms. Adjustable range from 1 ms to 15
ms.
< Signal level limiting release time
in ms. Default configuration is 50
ms. Adjustable time must be larger
than 0 ms.
< Quadrature Mirror Filter (QMF) Bank processing
mode. \n -1: Use internal default. Implies MPEG
Surround partially complex accordingly. \n 0:
Use complex QMF data mode. \n 1: Use real (low
power) QMF data mode. \n
< MPEG-D DRC: Request a DRC effect type for
selection of a DRC set.\n Supported indices
are:\n -1: DRC off. Completely disables
MPEG-D DRC.\n 0: None (default). Disables
MPEG-D DRC, but automatically enables DRC
if necessary to prevent clipping.\n 1: Late
night\n 2: Noisy environment\n 3: Limited
playback range\n 4: Low playback level\n 5:
Dialog enhancement\n 6: General
compression. Used for generally enabling
MPEG-D DRC without particular request.\n
< Ancillary data to be embedded into bitstream.
< Audio input buffer, interleaved INT_PCM samples.
< Setup structure for embedding meta data.
< Buffer holds bitstream output data.
< Initialize all.
< Do not trigger initialization.
< Reset all encoder modules history buffer.
< End of file reached.
< The encoding process was interrupted by an
unexpected error.
< AAC library initialization error.
< General initialization error.
< MPS library initialization error.
< SBR library initialization error.
< Transport library initialization error.
< Configuration not provided.
< Memory allocation failed.
< No error happened. All fine.
< Parameter not available.
< Film light.
< Film standard.
< Music light.
< Music standard.
< None.
< Speech.
< Core encoder audio bandwidth:
< Total encoder bitrate. This parameter is
mandatory and interacts with ::AACENC_BITRATEMODE.
< Bitrate mode. Configuration can be different
kind of bitrate configurations:
< Set explicit channel mode. Channel mode must
match with number of input channels.
< Configure Meta Data. See ::AACENC_MetaData
for further details:
< ——
< Configure protection in transport layer:
< Audio input data sampling rate. Encoder
supports following sampling rates: 8000, 11025,
12000, 16000, 22050, 24000, 32000, 44100,
48000, 64000, 88200, 96000
< Configure SBR independently of the chosen Audio
Object Type ::AUDIO_OBJECT_TYPE. This parameter
is for ELD audio object type only.
< Transport type to be used. See ::TRANSPORT_TYPE
in FDK_audio.h. Following types can be configured
in encoder library:
< The embedded CRC did not match.
< The parsed bitstream value is out of
range. Most probably the bitstream is
corrupt, or the system crashed.
< An invalid codebook was signaled.
Most probably the bitstream is corrupt,
or the system crashed.
< The decoder needs to be restarted,
since the required configuration change
cannot be performed.
< The input buffer ran out of bits.
< Error while parsing the bitstream. Most
probably it is corrupted, or the system
crashed.
< The parameter could not be set. Either
the value was out of range or the
parameter does not exist.
< Error while reading TNS data. Most
probably the bitstream is corrupt or the
system crashed.
< More than the allowed number of
ancillary data elements should be
written to buffer.
< The registered ancillary data
buffer is too small to receive the
parsed data.
< The transport decoder had
synchronization problems. Do not
exit decoding. Just feed new
bitstream data.
< A CCE element was found which is not
supported. Most probably the bitstream is
corrupt, or has a wrong format.
< A LFE element was found which is not
supported. Most probably the bitstream is
corrupt, or has a wrong format.
< The sample rate specified in
the configuration is not
supported.
< DRC parameter handling
disabled, all parameters are
applied as requested.
< Back speaker position (at normal height)
< Bottom back speaker = (ACT_BACK |ACT_BOTTOM)
< Top back speaker = (ACT_BACK |ACT_TOP)
< Front speaker position (at normal height)
< Bottom front speaker = (ACT_FRONT|ACT_BOTTOM)
< Top front speaker = (ACT_FRONT|ACT_TOP)
< Low frequency effect speaker postion (front)
< Side speaker position (at normal height)
< Bottom side speaker = (ACT_SIDE |ACT_BOTTOM)
< Top side speaker = (ACT_SIDE |ACT_TOP)
< Low Complexity object
< Main profile
< AAC + SLS
< Algorithmic Synthesis and Audio FX object
< Virtual AOT for DRM (ER-AAC-SCAL without SBR)
< Virtual AOT for DRM (ER-AAC-SCAL with SBR)
< Virtual AOT for DRM with USAC
< AAC Enhanced Low Delay
< Error Resilient(ER) AAC Low Complexity
< Error Resilient(ER) AAC LowDelay object
< Error Resilient(ER) AAC LTP object
< Error Resilient(ER) AAC Scalable object
< Error Resilient(ER) BSAC object
< Error Resilient(ER) CELP object
< Error Resilient(ER) HILN object
< Error Resilient(ER) HVXC object
< Error Resilient(ER) Parametric object
< Error Resilient(ER) TwinVQ object
< Signal AOT uses more than 5 bits
< General MIDI object
< Low Delay MPEG Surround
< Main Synthetic object
< Virtual AOT MP2 Low Complexity profile
< Virtual AOT MP2 Low Complexity Profile with SBR
< MPEG-Layer1 in mp4
< MPEG-Layer2 in mp4
< MPEG-Layer3 in mp4
< MPEG Surround
< PS, Parametric Stereo (includes SBR)
< (reserved)
< (reserved)
< (reserved)
< might become SSC
< might become DST
< might become ALS
< SAOC
< SLS
< TTSI Object
< USAC
< Wavetable Synthesis object
< C
< C, L+R
< C, L+R, Rear
< C, L+R, LS+RS
< C, L+R, LS+RS, LFE
< C, LC+RC, L+R, LS+RS, LFE
< L+R
< C, L+R, LS+RS, Crear, LFE
< C, L+R, LS+RS, Lrear+Rrear, LFE
< C, LC+RC, L+R, LS+RS, LFE
< C, L+R, LS+RS, Lrear+Rrear, LFE
< C, L+R, LS+RS, LFE, Ltop+Rtop
< 212 configuration, used in ELDv2
< 3GPP file format.
< MPEG-4 File format.
< No container, bit stream data conveyed “as is”.
< Proprietary raw packet file.
< Unknown format.
< Coupling Channel Element.
< Channel Pair Element.
< Currently one Data Stream Element for ancillary data is
supported.
< Arnie (End Element = Terminator).
< Extension Payload (ER only).
< Fill Element.
< LFE Channel Element.
< Invalid Element helper ID.
< Program Config Element.
< AAC scalable element (ER only).
< Single Channel Element.
< Channel Pair Element.
< Arnie (End Element = Terminator).
< Extension Element.
< LFE Channel Element.
< Single Channel Element.
< Digital Radio Mondial (DRM30/DRM+) bitstream format.
< ADIF bitstream format.
< ADTS bitstream format.
< Audio Mux Elements with muxConfigPresent = 0, out
of band StreamMuxConfig
< Audio Mux Elements with muxConfigPresent = 1
< Audio Sync Stream.
< “as is” access units (packet based since there is
obviously no sync layer)
< Unknown format.
\brief Get the mapping value for a specific channel and map index.
\brief Initialize a given channel map descriptor.
\brief Evaluate whether channel map descriptor is reasonable or not.
\brief Change the channel reordering state of a given channel map
descriptor.
Allocate and clear an aligned memory area. Use FDKafree() instead of
FDKfree() for these memory areas.
Allocate aligned memory in a specific memory section.
See FDKcalloc_L() description for details - same applies here.
Free an aligned memory area.
Free aligned memory that was allocated in a specific memory section.
Allocate memory in a specific memory section.
Requests can be made for internal or external memory. If internal memory is
requested, FDKcalloc_L() first tries to use L1 memory, which sizes are
defined by ::DATA_L1_A_SIZE and ::DATA_L1_B_SIZE. If no L1 memory is
available, then FDKcalloc_L() tries to use L2 memory. If that fails as well,
the requested memory is allocated at an extern location using the fallback
FDKcalloc().
\brief Read variable of size “size” as little endian. Convert
automatically to host endianess. 4-byte alignment is enforced for 24 bit
data, at 32 bit full scale.
\param dst Pointer to memory where to store data into.
\param size Size of each item to be read.
\param nmemb Number of items to be read.
\param fp File pointer of type FDKFILE.
\return Number of items read on success and fread() error on failure.
Free memory that was allocated in a specific memory section.
\brief Write each member in little endian order. Convert automatically
to host endianess.
\param ptrf Pointer to memory where to read data from.
\param size Size of each item to be written.
\param nmemb Number of items to be written.
\param fp File pointer of type FDKFILE.
\return Number of items read on success and fread() error on failure.
Wrapper for <stdio.h>’s getchar().
Clear memory.
Either use implementation from a Standard Library, or, if no Standard Library
is available, a generic implementation.
The define ::USE_BUILTIN_MEM_FUNCTIONS in genericStds.cpp controls what to
use. The function arguments correspond to the standard memclear(). Please see
MSDN documentation for details on how to use it.
Copy memory. Source and destination memory must not overlap.
Either use implementation from a Standard Library, or, if no Standard Library
is available, a generic implementation.
The define ::USE_BUILTIN_MEM_FUNCTIONS in genericStds.cpp controls what to
use. The function arguments correspond to the standard memcpy(). Please see
MSDN documentation for details on how to use it.
Copy memory. Source and destination memory are allowed to overlap.
Either use implementation from a Standard Library, or, if no Standard Library
is available, a generic implementation.
The define ::USE_BUILTIN_MEM_FUNCTIONS in genericStds.cpp controls what to
use. The function arguments correspond to the standard memmove(). Please see
MSDN documentation for details on how to use it.
Fill memory with values.
The function arguments correspond to the standard memset(). Please see MSDN
documentation for details on how to use it.
\brief Print FDK software disclaimer.
Check platform for endianess.
Convert input value to little endian format.
\brief Get one ancillary data element.
\brief Initialize ancillary data buffer.
\brief De-allocate all resources of an AAC decoder instance.
\brief Explicitly configure the decoder by passing a raw AudioSpecificConfig
(ASC) or a StreamMuxConfig (SMC), contained in a binary buffer. This is
required for MPEG-4 and Raw Packets file format bitstreams as well as for
LATM bitstreams with no in-band SMC. If the transport format is LATM with or
without LOAS, configuration is assumed to be an SMC, for all other file
formats an ASC.
\brief Decode one audio frame
\brief Fill AAC decoder’s internal input buffer with bitstream data from the
external input buffer. The function only copies such data as long as the
decoder-internal input buffer is not full. So it grabs whatever it can from
pBuffer and returns information (bytesValid) so that at a subsequent call of
%aacDecoder_Fill(), the right position in pBuffer can be determined to grab
the next data.
\brief Get free bytes inside decoder internal buffer.
\param self Handle of AAC decoder instance.
\param pFreeBytes Pointer to variable receiving amount of free bytes inside
decoder internal buffer.
\return Error code.
\brief Get decoder library info.
\brief Get CStreamInfo handle from decoder.
\brief Open an AAC decoder instance.
\param transportFmt The transport type to be used.
\param nrOfLayers Number of transport layers.
\return AAC decoder handle.
\brief Submit raw ISO base media file format boxes to decoder for parsing
(only some box types are recognized).
\brief Set one single decoder parameter.
\brief Close the encoder instance.
\brief Encode audio data.
\brief Get information about encoder library build.
\brief Acquire info about present encoder instance.
\brief Open an instance of the encoder.
\brief Get one single AAC encoder parameter.
\brief Set one single AAC encoder parameter.
\brief AAC decoder setting parameters
AAC encoder buffer descriptors identifier.
This identifier are used within buffer descriptors
AACENC_BufDesc::bufferIdentifiers.
AAC encoder control flags.
AAC encoder error codes.
Meta Data Compression Profiles.
\brief AAC encoder setting parameters.
\brief AAC decoder error codes.
\enum AAC_DRC_DEFAULT_PRESENTATION_MODE_OPTIONS
\brief Options for handling of DRC parameters, if presentation mode is not indicated in bitstream
\enum AAC_MD_PROFILE
\brief The available metadata profiles which are mostly related to downmixing. The values define the arguments
for the use with parameter ::AAC_METADATA_PROFILE.
Speaker description tags.
Do not change the enumeration values unless it keeps the following
segmentation:
Audio Object Type definitions.
Channel Mode ( 1-7 equals MPEG channel configurations, others are
arbitrary).
Extension payload types.
\fn FDKFILE *FDKfopen(const char *filename, const char *mode);
Standard fopen() wrapper.
\fn INT FDKfclose(FDKFILE *FP);
Standard fclose() wrapper.
\fn INT FDKfseek(FDKFILE *FP, LONG OFFSET, int WHENCE);
Standard fseek() wrapper.
\fn INT FDKftell(FDKFILE *FP);
Standard ftell() wrapper.
\fn INT FDKfflush(FDKFILE *fp);
Standard fflush() wrapper.
\fn UINT FDKfwrite(const void *ptrf, INT size, UINT nmemb, FDKFILE *fp);
Standard fwrite() wrapper.
\fn UINT FDKfread(void *dst, INT size, UINT nmemb, FDKFILE *fp);
Standard fread() wrapper.
File format identifiers.
AAC encoder handle.
\var SCHAR
Data type representing at least 1 byte signed integer on all supported
platforms.
Data type representing at least 1 byte unsigned integer on all
supported platforms.
Data type representing at least 4 byte signed integer on all supported
platforms.
Data type representing at least 4 byte unsigned integer on all
supported platforms.
Data type representing 4 byte signed integer on all supported
platforms.
Data type representing 4 byte unsigned integer on all supported
platforms.
Data type representing 2 byte signed integer on all supported
platforms.
Data type representing 2 byte unsigned integer on all supported
platforms.
Data type representing 8 byte signed integer on all supported
platforms.
Data type representing 8 byte unsigned integer on all supported
platforms.
Number of bits the data type short represents. sizeof() is not suited
to get this info, because a byte is not always defined as 8 bits.
Number of bits the data type char represents. sizeof() is not suited
to get this info, because a byte is not always defined as 8 bits.
Data type representing the width of input and output PCM samples.
Identifiers for various memory locations. They are used along with memory
allocation functions like FDKcalloc_L() to specify the requested memory’s
location.
MP4 Element IDs.
Proprietary raw packet file configuration data type identifier.
Transport type identifiers.
MPEG-D USAC & RSVD60 3D audio Extension Element Types.