Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

This page was last modified 02:43, 5 December 2007.

Configuring AAC codec

From Forum Nokia Wiki


In some cases, configuring AAC or eAAC+ codecs are required (e.g. when raw AAC streams are decoded, probably read from an mp4 file).

See also Forum Nokia Technical Library about configuring eAAC+ decoder: [1]


AAC codec UIDs

eAAC+ Decoder UID : 0x10207AA9

AAC Decoder UID: 0x101FAF81


Configuring AAC codec

RArray<TInt> configParams;
configParams.Append(inputSampleRate);  // Input sample rate
configParams.Append(numChannels);      // Number of input channels [1, 2]
configParams.Append(profileType);      // AAC Input Profile [1 - LC, 3 - LTP]
configParams.Append(frameLength);      // Input Frame Len [1024, 960]
configParams.Append(downMixing);       // AAC Down Mixing [0 - none, 1 - mono, 2 - stereo]
configParams.Append(outputChannels);   // AAC output channels [0 - none, 1 - 1, 2 - 2]
configParams.Append(decimationFactor); // AAC decimation factor [0 - none, 2 - decimation by 2, 4 - decimation by 4]
configParams.Append(aacConcealment);   // AAC concealment [0 - none, 1 - basic]
configParams.Append(bitsPerSample);    // Sample resolution - [16 - 16-bit resolution]
configParams.Append(sampleRateConv);   // Sample Rate Conversion 0 : none

Configuring eAAC+ codec

RArray<TInt> configParams;
configParams.Append(inputSampleFrequency); // Input sample frequency
configParams.Append(numChannels);          // Number of output channels [1, 2]
configParams.Append(profileType);          // Input Profile Object type [1 - LC, 3 - LTP]
configParams.Append(samplesPerFrame);      // Output frame size (i.e. 4096 for stereo AAC-LC of 1024 samples per frame)
configParams.Append(frameLength);          // Input frame length, should be 1024
configParams.Append(samplesPerSecond);     // Input Sample Rate
configParams.Append(0);                    // not used
configParams.Append(downSampleMode);       // Down Sample Mode [0 - off, 1 - on]
configParams.Append(bitsPerSample);        // Sample resolution, 8 (8-bit PCM) or 16 (16-bit)
configParams.Append(outSamplesPerSecond);  // Output Sample Frequency
configParams.Append(extObjectType);        // Extension Object Type, valid if Profile = 1 
                                           // [0 - AAC, 5 - eAAC+ v1 (AAC-LC + SBR), 6 - eAAC+ v2 (AAC-LC + SBR + PS)]

Creating and configuring CMMFCodec

CMMFCodec* codec = CMMFCodec::NewL(TUid::Uid(0x10207AA9)); // or 0x101FAF81, see codec UIDs
const TDesC8& codecData = REINTERPRET_CAST(const TDesC8&, configData);
const TUid codecId = TUid::Uid(KUidMmfCodecAudioSettings); // 0x10203622
codec->ConfigureL( codecId, codecData );
Related Discussions
Thread Thread Starter Forum Replies Last Post
AMR format babaneseri Mobile Java Media (Graphics & Sounds) 3 2005-12-28 09:34
JPEG2000 codec/converter implementation rtsvet Graphics & Video & Streaming 0 2003-04-03 09:12
Emulator and a c-application on the same machine ami_edu Symbian Networking & Messaging 1 2005-04-11 19:27
AMR codec details youplaboom Symbian Media (Graphics & Sounds) 6 2005-10-07 08:34
MP3 files miriamgs Symbian Media (Graphics & Sounds) 5 2005-01-28 17:44
 
Powered by MediaWiki
     
     RDF Facets:
     
     
     qfnZtopicQUqfnTopicZaudioQ
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qfnZtypeQUqfnTypeZWikiContentQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX