Multimedia Codecs available in Symbian devices
Article Metadata
Code Example
Compatibility
Article
Different S60 devices may have different multimedia codecs. There are similarities between S60 devices, but there are differences, as well. The mere presence of a codec (e.g. mp3) in a device does not tell too much to developers. We need to know what APIs can be used to access that codec.
This page has several purposes:
- Show which codecs are in different S60 devices (3rd edition) and what are the APIs through which they can be accessed
- Provide an application to check this info for upcoming S60 phones.
For the theory behind the tables, please take a look on the following articles and documents:
Contents |
Devices
Click on a device to see detailed info about its codecs.
S60 3rd edition:
S60 3rd edition FP1:
S60 3rd edition FP2:
- 32H1
- N78
Audio Codecs
| API
(Codec type) |
AMR-WB (True Tones) | RealAudio 1 Voice, 7 | RealAudio10 | MP3 | AAC (both AAC-LC and AAC-LTP) | eAAC+, AAC+ | WMA | AMR-NB | VoIP (NB): G.711, iLBC, G729 |
|---|---|---|---|---|---|---|---|---|---|
| DevSound, CMdaAudioOutputStream
(Accelerated HwDevice ) |
30H1, 30H3, 31H1 | 30H1 | 30H1 | 30H1, 30H3, 31H1 | 30H1, 30H3, 31H1 | - | - | 30H1, 30H3, 31H1 | 30H1, 30H3, 31H1 |
| DevSound, CMdaAudioOutputStream
(All-ARM HwDevice) |
30H2, 31H2 | - | - | 30H2, 31H2 | - | - | - | 30H2, 31H2 | - |
| DevSound, CMdaAudioInputStream
(Accelerated HwDevice ) |
- | - | - | - | 30H3 | - | - | 30H1, 30H3, 30H2, 31H2, 31H1 | 30H1, 30H3, 31H1 |
| DevSound, CMdaAudioInputStream
(All-ARM HwDevice) |
- | - | - | - | - | - | - | - | - |
| CVideoPlayerUtility API
(RealPlayer codec/wrapper) |
30H1, 30H2, 30H3, 31H2, 31H1 | 30H1, 30H2, 30H3, 31H2, 31H1 | 30H1, 30H2, 30H3, 31H2, 31H1 | 30H1, 30H2, 30H3, 31H2, 31H1 | - | (11) | - | 30H1, 30H2, 30H3, 31H2, 31H1 | - |
| CMdaAudioPlayerUtility
(CMMFController) |
30H1, 30H2, 30H3, 31H2, 31H1 | - | - | 30H1, 30H2, 30H3, 31H2, 31H1 | 30H1, 30H2, 30H3, 31H2, 31H1 | 30H1, 30H2, 30H3, 31H2, 31H1 | 30H1(7), 30H2(10), 30H3, 31H2, 31H1 | 30H1, 30H2, 30H3, 31H2, 31H1 | - |
| CMdaAudioRecorderUtility
(CMMFController) |
- | - | - | - | (1) | - | - | 30H1, 30H2, 30H3, 31H2, 31H1 | - |
| CMMFCodec (99)
(decoder) |
30H1(2), 30H2(3), 30H3, 31H2, 31H1 | - | - | 30H1(6), 30H2(9), 30H3, 31H2, 31H1 | 30H1(5), 30H2, 30H3, 31H2, 31H1 | 30H1, 30H2, 30H3, 31H2, 31H1 | 30H1, 30H2, 30H3, 31H2, 31H1 | 30H1(4), 30H2(8), 30H3, 31H2, 31H1 | - |
| CMMFCodec
(encoder) |
- | - | - | - | 30H1, 30H2, 30H3, 31H2, 31H1 | - | - | 30H1(4), 30H2(8), 30H3, 31H2, 31H1 | - |
- ( 1) CMMFCodec-based AAC encoder present, but there is no MMF Controller to use this codec alone. AAC encoding used in capturing video from phone's camera, or getting AAC emcapsulated inside mp4 file format (without video).
- ( 2) without (not in): N80, N91
- ( 3) without (not in): 5500
- ( 4) without (not in): E60, E61, E65, E70, N91
- ( 5) without (not in): N92,
- ( 6) without (not in): N91
- ( 7) without (not in): E60, E61, E70
- ( 8) without (not in): 5500, E50,
- ( 9) without (not in): 5500
- (10) without (not in): E62
Video Codecs
| API & Codec type | RV 8/9/10 | H.263/MPEG-4 | H.264 |
|---|---|---|---|
| MDF DevVideoRecord
(Accelerated HwDevice ) |
- | 30H1, 30H3, 31H1 | - |
| MDF DevVideoRecord
(All-ARM HwDevice) |
- | 30H2(2), 30H3, N75, 31H2, 31H1 | - |
| CVideoPlayerUtility
(RealPlayer codec/wrapper) |
30H1 (1), 30H2, 30H3, 31H1, 31H2 | 30H1 (1), 30H2, 30H3, 31H1, 31H2 | 30H1 (1,3), 30H3, 31H1, 31H2 |
- (1) RealVideo, H.263/MPEG-4 and H.264 codecs in 30H1 are implemented in DSP
- (2) Without (not in): E62
- (3) Without (not in): Eseries phones (E60, E61, E70)
FAQ
Q: I know that Device X has the codec Y, but the codec is not listed in the tables above. Why?
A: This is because the codec can not be accessed by any of the APIs listed in the tables.
The Application
- SIS file: codecs_public_armv5_v7.SIS
- Sources: Codecs_public_release20061220.zip

