ILMAACEncoder Interface

This is the interface for the LEAD AAC Encoder.

Interface Properties:

Type Name Description
long OutputBitrate The output bitrate, in kbps, of the compressed audio data. Bitrate denotes the average number of bits that one second of audio data will take up in the compressed bitstream. The output quality is related to the selected bitrate; the higher the bitrate, the better the quality.
Supported bitrates are: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, 448, 512, 576, and 640 kbps.
eOutputChannels OutputChannels The number of output channels. Possible values are (members of the eOutputChannels enumeration):
LAAC_OC_UNCHANGED:  [0x00] Same as input.
LAAC_OC_MONO:  [0x01] One channel; mono.
LAAC_OC_STEREO:  [0x02] Two channels; stereo.
LAAC_OC_6CHANNELS:  [0x03] Six channels; 5.1.
VARIANT_BOOL SimulateSurround Enables or disables surround feature simulation. Possible values are:
VARIANT_TRUE:  Enables surround feature simulation.
VARIANT_FALSE:  Disables surround feature simulation.
This property has effect only if the OutputChannels property was set to LAAC_OC_6CHANNELS.
eMPEGVersion MPEGVersion The AAC audio MPEG version. Possible values are (members of the eMPEGVersion enumeration):
LAAC_MPEGVersion_MPEG4:  [0] MPEG-4 AAC.
LAAC_MPEGVersion_MPEG2:  [1] MPEG-2 AAC. With this version, only LC and MAIN profiles (object types) are allowed.
eBlockType BlockType The allowed block type; data window length.
Possible values are (members of the eBlockType enumeration):

LAAC_BlockType_NORMAL:  [0] Both long and short blocks are allowed.
LAAC_BlockType_NOSHORT:  [1] Only long blocks allowed. A long block is usually 1024 samples.
LAAC_BlockType_NOLONG:  [2] Only short blocks allowed. A short block is usually 128 samples.

eObjectType ObjectType The AAC profile used. Possible values are (members of the eObjectType enumeration):
LAAC_ObjType_LC:  [1] Low complexity profile. Requires lower CPU and Memory resources.
LAAC_ObjType_MAIN:  [0] Main profile. Greater coding efficiency on the expense of complexity (more resources).
LAAC_ObjType_LTP:  [3] Long Term Prediction profile. Most suitable for speech and signals with clear pitch property. This profile can be used with MPEG4 AAC only; the MPEG4Version property must be LAAC_MPEGVersion_MPEG4.
long QFactor The quality factor used in compressing the audio stream; the higher the quality factor, the better the quality. Possible values range from 10 (worst) to 500 (best).
eRateControl RateControl The method used to control the output bitrate. Possible values are (members of the eRateControl enumeration):
LAAC_RC_CONST_QUALITY:  [0] Constant quality, or variable bitrate. The output bitrate depends on the used quality factor and the nature of the input signal. If the encoder is connected to the AVI multiplexer, this option is disabled and the encoder will revert to the constant bitrate (LAAC_RC_CONST_BITRATE).
LAAC_RC_CONST_BITRATE:  [1] Average bitrate. The output bitrate is defined by the OutputBitrate property.
long Cutoff The cutoff frequency, the frequency beyond which the audio signal is attenuated, in Hz. Possible values range from 3000 to 24000 Hz, and the value must be a multiple of 1000.
VARIANT_BOOL UseCutoff Determines whether the cutoff frequency specified by the Cutoff property will be used. Possible values are:
VARIANT_TRUE:  The cutoff frequency specified by the Cutoff property is used.
VARIANT_FALSE:  No cutoff frequency is used. The Cutoff property has no effect.
eStreamFormat StreamFormat The format of the output stream. Possible values are (members of the eStreamFormat enumeration):
LAAC_STREAMFORMAT_RAW:  The encoder will output raw compressed data; raw data blocks. Only one header at the beginning of the stream is output. Using this value, the MPEGVersion property is restricted to LAAC_MPEGVersion_MPEG4.
LAAC_STREAMFORMAT_ADTS:  The encoder output format is Audio Data Transport Stream, where each frame has its own header.
long OutputSampleRate The output sample rate, in samples per second.
Possible values range between 8000 and 96000 samples per second (Hz). Note: Changing the sample rate causes a change in the quality resulting from audio data resampling.
VARIANT_BOOL IgnoreTimeDiscontinuity If set to VARIANT_TRUE, this property will cause the encoder to ignore discontinuities in the timestamps (time gaps) of the incoming audio samples. Sometimes this is needed to work around audio source timing problems. This property is not active (VARIANT_FALSE) by default.
VARIANT_BOOL IgnoreTimeOverlapping If set to VARIANT_TRUE, this property will cause the encoder to ignore overlapping in the timestamps of the incoming audio samples. Sometimes this is needed to work around audio source timing problems. This property is not active (VARIANT_FALSE) by default.
VARIANT_BOOL EnableDriftCorrector Property indicating whether the encoder should automatically correct timestamp drifting. If VARIANT_FALSE, timestamps are not corrected. If VARIANT_TRUE, the encoder will automatically correct timestamps that drift over time.
If this property is enabled (set to VARIANT_TRUE), the encoder will work together with any other encoders in the current graph to correct drifts and synchronize audio and video. Currently, only the LEAD H264 and AAC Encoders support this feature.
The default value for this property is VARIANT_FALSE (timestamp drifting is not corrected).
This is an advanced low-level setting that should be set to a VARIANT_TRUE value only if:
  1. you are in a capture situations (it will NOT work properly in file conversion situations)
  2. you are discovering that audio and video streams lose synchronization after running for a while (typically a few hours).

If you are unsure whether to use it or not, leave this property set to VARIANT_FALSE, because setting it incorrectly can cause big problems. See the Timestamp drifting in live capture situations topic for more details.
This property was added mainly to solve problems with some Decklink video capture cards. The problems were as follows:

  1. at the beginning of the capture, there was a slight drift (around 60-90ms) between the audio and video streams.
  2. the drift was increasing after a few hours.
Setting this property to VARIANT_TRUE (or True in some languages) solves these problems.
Help Version 19.0.2017.10.19
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Filters C API Help