Supported media codecs for Windows Phone 8
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Windows Phone provides support for various audio and video codecs depending on the processor installed in the device.
Important Note: |
---|
Windows Phone Emulator performance may differ from actual hardware codec performance. Always test your app on a physical Windows Phone device to check its performance. |
The following sections contain detailed information about the codecs you can use with the various processors used in Windows Phone devices.
This topic contains the following sections.
- Audio Support
- Video Support
- Image Support
- Related Topics
Audio Support
Audio codecs supported by the Qualcomm Snapdragon S4 (MSM8x27, MSM8x30, MSM8960) and Snapdragon 800 (MSM8974) processors on Windows Phone
The following table lists the audio codecs that you can use with Windows Phone s that contain these processors.
Feature |
MP3 |
WMA Std 9.2 |
WMA Pro |
AMR-NB |
AAC-LC |
AAC+ |
eAAC+ |
---|---|---|---|---|---|---|---|
Containers |
MP3 |
WMA |
WMA |
3GP, 3G2, AMR |
3GP, 3G2, MP4, M4A, MPR, AAC |
3GP, 3G2, MP4, M4A, AAC |
3GP, 3G2, MP4, M4A, AAC |
Bit depth |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
Max bit rate (per second) |
320 kbits |
384 kbits |
768 kbits |
12.2 kbits |
320 kbits |
64 kbits for stereo 160 kbits for 5.1 |
32 kbits for stereo |
Max sample rate |
48 kHz |
48 kHz |
48 kHz |
8 kHz |
48 kHz |
48 kHz |
48 kHz |
Channels support |
1, 2 |
1, 2 |
1, 2 |
1 |
1, 2 |
1, 2 |
1, 2 |
Streaming support |
Yes |
Yes |
Yes |
Yes for 3GP, 3G2 |
Yes |
Yes |
Yes |
Emulator support |
Yes |
Yes |
Yes |
No |
Yes |
Yes |
Yes |
Note
ADPCM is not supported prior to Windows Phone 8 (8.0.10322.0).
Audio codecs supported by the Qualcomm Snapdragon S1 (MSM7x27a, MSM8x50) and Snapdragon S2 (MSM8x55) processors on Windows Phone
The following table lists the audio codecs that you can use with Windows Phone s that contain these processors.
Feature |
MP3 |
WMA Std 9.2 |
WMA Pro |
AMR-NB |
AAC-LC |
AAC+ |
eAAC+ |
---|---|---|---|---|---|---|---|
Containers |
MP3 |
WMA |
WMA |
3GP, 3G2, AMR |
3GP, 3G2, MP4, M4A, AAC |
3GP, 3G2, MP4, M4A, AAC |
3GP, 3G2, MP4, M4A, AAC |
Bit depth |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
Max bit rate (per second) |
320 kbits |
256 kbits |
256 kbits |
12.2 kbits |
576 kbits |
320 kbits |
320 kbits |
Max sample rate |
48 kHz |
48 kHz |
48 kHz |
48 kHz |
48 kHz |
48 kHz |
48 kHz |
Channels support |
1, 2 |
1, 2 |
1, 2 |
1 |
1, 2 |
1, 2 |
1, 2 |
Streaming support |
Yes |
Yes |
Yes |
Yes for 3GP, 3G2 |
Yes |
Yes |
Yes |
Emulator support |
Yes |
Yes |
Yes |
No |
Yes |
No |
No |
Important Note: |
---|
The 7x27a processor allows audio input on only one stereo bus at a time. This means that applications cannot concurrently capture more than one audio source on 7x27a devices. If your application uses the AudioSink class with the FileSink class on a 7x27a device, the AudioSink class will not get audio samples, and the AudioCaptureDevice object will be set to null. The FileSink class works fine on the 7x27a processor. The FileSink class and the AudioSink class work correctly if used independent of one another. |
Note
The 7x27a processor does not allow accessing the FM radio and microphone simultaneously.
WAV audio support
The following table lists WAV audio formats that are supported starting with Windows Phone 8 (8.0.10322.0).
Feature |
LPCM |
MS ADPCM |
IMA ADPCM |
GSM 6.10 |
G.711 (A-Law, µ-law) |
---|---|---|---|---|---|
Containers |
WAV |
WAV |
WAV |
WAV |
WAV |
Bit depth |
16 |
16 |
16 |
8 |
8 |
Max bit rate (per second) |
1500 kbits |
64 kbits |
64 kbits |
13 kbits |
64 kbits |
Max sample rate |
96 kHz |
8 kHz |
8 kHz |
8 kHz |
8 kHz |
Channels support |
1, 2 |
1, 2 |
1, 2 |
1, 2 |
1, 2 |
Streaming support |
Yes |
Yes |
Yes |
Yes |
Yes |
Emulator support |
Yes |
Yes |
Yes |
Yes |
Yes |
Note
WAV formats are not Qualcomm chipset dependent.
Video Support
If you want to use a video codec that works on all Windows Phone devices, use H.264-encoded video in MP4 files. Because the 7x27a processor defines the baseline, make sure your files do not exceed the parameters listed in the table for H.264 video on a 7x27a processor.
In addition, the IsMultiResolutionVideoSupported property indicates whether the processor supports HD video. Check this property at runtime if you want to scale the video based on the processor in the Windows Phone.
Video codecs supported by the Qualcomm Snapdragon S4 (MSM8x30, MSM8960) and Snapdragon 800 (MSM8974) processors on Windows Phone
The following table lists the video codecs that you can use with Windows Phone s that contain these processors.
Feature |
H.263 |
VC1 |
VC1 |
VC1 |
MPEG-4 Pt 2 |
MPEG-4 Pt 2 |
H.264 |
H.264 |
H.264 |
---|---|---|---|---|---|---|---|---|---|
Containers |
3GP, 3G2 |
WMV |
WMV |
WMV |
3GP, 3G2, MP4, M4V |
MP4, M4V, AVI |
3GP, 3G2, MP4, M4V, MOV |
3GP, 3G2, MP4, M4V, MOV |
3GP, 3G2, MP4, M4V, MOV |
Profile |
0 |
Simple |
Main |
Advanced |
Simple |
Advanced Simple |
Baseline |
Main |
High |
Level |
70 |
Medium |
High |
L3 |
L5 |
L5 |
4 |
4 |
4 |
Max average video bit Rate |
8 Mbps |
20 Mbps |
20 Mbps |
20 Mbps |
20 Mbps |
20 Mbps |
20 Mbps |
20 Mbps |
20 Mbps |
Max peak video bit rate |
16 Mbps |
40 Mbps |
40 Mbps |
40 Mbps |
40 Mbps |
40 Mbps |
40 Mbps |
40 Mbps |
40 Mbps |
Max resolution and frame rate |
720 x 480 @ 30 fps |
352 × 288 @ 15fps |
1920x1080 @ 30 fps |
1920x1080 @ 30 fps |
1920x1080 @ 30 fps |
1920x1080 @ 30 fps |
1920x1080 @ 30 fps |
1920x1080 @ 30 fps |
1920x1080 @ 30 fps |
Smooth streaming support |
No |
No |
No |
Yes |
No |
No |
Yes |
Yes |
Yes |
Emulator support |
No |
Yes |
Yes |
Yes |
No |
No |
Yes |
Yes |
Yes |
Video codecs supported by the Qualcomm Snapdragon S4 (MSM8x27) processor on Windows Phone
The following table lists the video codecs that you can use with Windows Phone s that contain this processor.
Feature |
H.263 |
VC1 |
VC1 |
VC1 |
MPEG-4 Pt 2 |
MPEG-4 Pt 2 |
H.264 |
H.264 |
H.264 |
---|---|---|---|---|---|---|---|---|---|
Profile |
0 |
Simple |
Main |
Advanced |
Simple |
Advanced Simple |
Baseline |
Main |
High |
Level |
70 |
Medium |
High |
L3 |
L5 |
L5 |
4 |
4 |
4 |
Max average video bit Rate |
8 Mbps |
14 Mbps |
14 Mbps |
14 Mbps |
14 Mbps |
14 Mbps |
14 Mbps |
14 Mbps |
14 Mbps |
Max peak video bit rate |
16 Mbps |
28 Mbps |
28 Mbps |
28 Mbps |
28 Mbps |
28 Mbps |
28 Mbps |
28 Mbps |
28 Mbps |
Max resolution and frame rate |
720 x 480 @ 30 fps |
1280x720 @ 30 fps |
1280x720 @ 30 fps |
1280x720 @ 30 fps |
1280x720 @ 30 fps |
1280x720 @ 30 fps |
1280x720 @ 30 fps |
1280x720 @ 30 fps |
1280x720 @ 30 fps |
Video codecs supported by the Qualcomm Snapdragon S1 (MSM8x50) and Snapdragon S2 (MSM8x55) processors on Windows Phone
The following table lists the video codecs that you can use with Windows Phone s that contain these processors.
Feature |
H.263 |
VC1 |
VC1 |
VC1 |
MPEG-4 Pt 2 |
MPEG-4 Pt 2 |
MPEG-4 Pt 2 (for 512-MB devices) |
H.264 |
H.264 |
H.264 |
---|---|---|---|---|---|---|---|---|---|---|
Containers |
3GP, 3G2 |
WMV |
WMV |
WMV |
3GP, 3G2, MP4, M4V |
3GP, 3G2, MP4, M4V |
3GP, 3G2, MP4, M4V |
3GP, 3G2, MP4, M4V, MOV |
3GP, 3G2, MP4, M4V, MOV |
3GP, 3G2, MP4, M4V, MOV |
Profile |
0 |
Simple |
Main |
Advanced |
Simple |
Advanced Simple |
Simple |
Baseline |
Main |
High |
Level |
40 |
Medium |
Medium |
L1 |
3b |
3b |
5 |
3.1 |
3.1 |
3.1 |
Max average video bit Rate |
2 Mbps |
2 Mbps |
2 Mbps |
2 Mbps |
2 Mbps |
2 Mbps |
10 Mbps |
10 Mbps |
10 Mbps |
10 Mbps |
Max peak video bit rate |
20 Mbps |
20 Mbps |
20 Mbps |
20 Mbps |
27 Mbps |
27 Mbps |
27 Mbps |
27 Mbps |
27 Mbps |
27 Mbps |
Max resolution and frame rate |
800x600 @ 30 fps |
800x600 @ 30 fps |
800x600 @ 30 fps |
800x600 @ 30 fps |
800x600 @ 30 fps |
800x600 @ 30 fps |
1280x720 @ 30 fps |
1280x720 @ 30 fps |
1280x720 @ 30 fps |
1280x720 @ 30 fps |
Smooth streaming support |
No |
No |
No |
Yes |
No |
No |
No |
Yes |
Yes |
Yes |
Emulator support |
No |
Yes |
Yes |
Yes |
No |
No |
No |
Yes |
Yes |
Yes |
Note
8x50 devices support up to Level 3.0 at 720x480 @ 30 fps or 720x576 @ 25 fps.
Important Note: |
---|
Smooth Streaming Media Element (SSME) allows for dynamic resolution changes. This option is only supported on 8x55 based devices. The 8x50 and 7x27a processors do not support this feature. Only a single bit rate and resolution can be used for playing back video content on those devices by using smooth streaming. |
Video codecs supported by the Qualcomm Snapdragon S1 (MSM7x27a) processor on Windows Phone
The following table lists the video codecs that you can use with Windows Phone s that contain these processors.
Feature |
H.263 |
VC1 |
VC1 |
MPEG-4 Pt 2 |
H.264 |
H.264 |
H.264 |
---|---|---|---|---|---|---|---|
Containers |
3GP, 3G2 |
WMV |
WMV |
3GP, 3G2, MP4, M4V |
3GP, 3G2, MP4, M4V, MOV |
3GP, 3G2, MP4, M4V, MOV |
3GP, 3G2, MP4, M4V, MOV |
Profile |
0 |
Simple |
Main |
Simple |
Baseline |
Main |
High |
Level |
30 |
Main |
Low |
3 |
2.0 |
1.3 - CABAC, 2.0 - CAVLC |
1.3 - CABAC, 2.0 - CAVLC |
Max average video bit rate |
2 Mbps |
2 Mbps |
1 Mbps |
2 Mbps |
2 Mbps |
CABAC: 2 Mbps, CAVLC: 768 Kbps |
CABAC: 2 Mbps, CAVLC: 768 Kbps |
Max peak video bit rate |
4 Mbps |
Not Available |
Not Available |
4 Mbps |
4 Mbps |
4 Mbps |
4 Mbps |
Max resolution and frame rate |
800×480 @ 30 fps |
800×480 @ 30 fps |
400×240 @ 30 fps |
800×480 @ 30 fps |
800×480 @ 30 fps |
800×480 @ 30 fps |
800×480 @ 30 fps |
Smooth streaming support |
No |
No |
No |
No |
Yes |
Yes |
Yes |
Emulator support |
No |
Yes |
Yes |
No |
Yes |
Yes |
Yes |
Note
The 7x27a processor does not support the VC1 Advanced profile.
Video codecs supported by the Qualcomm Snapdragon 200 (MSM8210 and MSM8212) processor on Windows Phone
The following table lists the video codecs that you can use with Windows Phone s that contain these processors.
Feature |
H.263 |
VC1 |
VC1 |
MPEG-4 Pt 2 |
MPEG-4 Pt 2 |
H.264 |
H.264 |
H.264 |
---|---|---|---|---|---|---|---|---|
Containers |
3GP, 3G2 |
WMV |
WMV |
3GP, 3G2, MP4, M4V |
3GP, 3G2, MP4, M4V |
3GP, 3G2, MP4, M4V, MOV |
3GP, 3G2, MP4, M4V, MOV |
3GP, 3G2, MP4, M4V, MOV |
Profile |
0 |
Simple |
Main |
Simple |
Advanced Simple |
Baseline |
Main |
High |
Level |
70 |
Main |
High |
6 |
5 |
3.1 |
3.1 |
3.1 |
Max average video bit rate |
4 Mbps |
3 Mbps |
3 Mbps |
4 Mbps |
4 |
4 Mbps |
4 Mbps |
4 Mbps |
Max peak video bit rate |
8 Mbps |
6 Mbps |
6 Mbps |
8 Mbps |
8 Mbps |
8 Mbps |
8 Mbps |
8 Mbps |
Max resolution and frame rate |
1280×720 @ 30 fps |
864×480 @ 30 fps |
864×480 @ 30 fps |
1280×720 @ 30 fps |
1280×720 @ 30 fps |
1280×720 @ 30 fps |
1280×720 @ 30 fps |
1280×720 @ 30 fps |
Smooth streaming support |
No |
No |
No |
No |
Yes |
Yes |
Yes |
|
Emulator support |
No |
Yes |
Yes |
No |
Yes |
Yes |
Yes |
Note
The MSM8210 and MSM8212 processors do not support the VC1 Advanced profile.
Image Support
Image codecs supported on Windows Phone
The following table lists the image codecs that you can use on all Windows Phone devices.
Feature |
Bitmap |
Joint Photographic Experts Group (JPEG) |
Portable Network Graphics |
Graphics Interchange Format (both GIF87a and GIF89a) |
---|---|---|---|---|
Container |
BMP |
JPG |
PNG |
GIF |
Emulator support |
Yes |
Yes |
Yes |
Yes |