This is the interface for the LEAD AAC Encoder.
typedef enum
{
LAAC_STREAMFORMAT_RAW,
LAAC_STREAMFORMAT_ADTS,
} eStreamFormat;
Lists the format values that can be set for the output stream.
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. |
typedef enum
{
LAAC_RC_CONST_QUALITY,
LAAC_RC_CONST_BITRATE,
} eRateControl;
Lists the methods that can be used to control the output bitrate.
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. |
typedef enum
{
LAAC_BlockType_NORMAL,
LAAC_BlockType_NOSHORT,
LAAC_BlockType_NOLONG,
} eBlockType;
Lists the allowed block types (data window length).
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. |
typedef enum
{
LAAC_MPEGVersion_MPEG4,
LAAC_MPEGVersion_MPEG2,
} eMPEGVersion;
Lists the possible AAC audio MPEG versions that can be set on the output stream.
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. |
typedef enum
{
LAAC_ObjType_MAIN,
LAAC_ObjType_LC,
LAAC_ObjType_LTP,
} eObjectType;
Lists the possible AAC profiles that can be used.
LAAC_ObjType_MAIN | [0] Main profile. Greater coding efficiency on the expense of complexity (more resources). |
LAAC_ObjType_LC | [1] Low complexity profile. Requires lower CPU and Memory 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. |
typedef enum
{
LAAC_OC_UNCHANGED,
LAAC_OC_MONO,
LAAC_OC_STEREO,
LAAC_OC_6CHANNELS,
} eOutputChannels;
Lists the possible number of output channels that can be set on the output stream.
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. |
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. |
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, H265 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:
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.
|
Resets the filter properties to their default values. Calling this method can cause the filter to reconnect its output pin.
The default values are:
QFactor = 100
StreamFormat = LAAC_STREAMFORMAT_RAW
ObjectType = LAAC_ObjType_MAIN
BlockType = LAAC_BlockType_NORMAL
MPEGVersion = LAAC_MPEGVersion_MPEG4
RateControl = LAAC_RC_CONST_BITRATE
Cutoff = 16000
UseCutoff = FALSE
OutputChannel = LAAC_OC_UNCHANGED
SimulateSurround = FALSE
IgnoreTimeDiscontinuity = FALSE
IgnoreTimeOverlapping = FALSE
S_OK if successful, < 0 if an error occurred.
VFW_E_WRONG_STATE |
The filter is in the wrong state. |