i.MX Android Codec Release Notes
Codec Excluded
Release package
How to Install the
Excluded and Special Codecs
Extend the Android
Multimedia Framework APIs
Video snapshot
during playback
Get default
selected Audio track index
Select the
specified Audio track
· i.MX Android codec release including standard codec package, special codec package and excluded codec package.
· Standard codec package is included in Freescale Android standard release.
· Special codec package contains codecs which either moderated downloads or separate packages not part of general distribution.
· Excluded codec package contains codecs which requires license before customer receives.
· Both Special and Exclude codec package are based on Standard codec package.
· i.MX51 BBG2.5/3.0 board
· i.MX53 EVK, SMD board
· i.MX508 RDP board, only for audio
· i.MX6D/Q ARM2, sabrelite, sabreSD board
·
Enhanced
stability and robustness
File Extension |
Video Decoders |
Audio Decoders |
.mid/.xmf/.mxmf .rtttl/.rtx .ota .imy |
|
·
MIDI Type 0 and 1. DLS Version 1 and 2. XMF and
Mobile XMF. Support for ringtone formats RTTTL/RTX, OTA, and iMelody |
.webm |
·
VP8 |
·
MP3 ·
AAC LC/PLUS |
.ogg |
·
Vorbis |
Notes:
·
WebM is included in GingerBread, Honeycomb and ICS.
·
In MX5X SoC, webm is supported by android
native codecs, VP8 is supported by software decoder, up to VGA
resolution.
File Extension |
Encoder |
Decoder |
Details |
.jpg |
* |
* |
Base+progressive |
.gif |
* |
||
.png |
* |
* |
|
.bmp |
* |
File Extension |
Demuxers |
Video Decoders |
Audio Decoders |
.mp3 |
|
|
·
MP3 |
.aac/.adts |
|
|
·
AAC LC/PLUS |
.wav |
|
|
·
LPCM |
.flac |
|
|
·
FLAC |
.amr/.awb |
|
|
·
AMR-NB/AMR-WB |
.mp4 .mov .f4v |
MP4 |
·
MPEG4 SP/ASP except GMC ·
H.264 BP/MP/HP ·
H263 ·
MJPEG |
·
AAC LC/PLUS ·
MP3 |
.m4a |
MP4 |
|
·
AAC LC/PLUS |
.3gp |
MP4 |
·
MPEG4 SP/ASP except GMC ·
H.264 BP/MP/HP ·
H263 |
·
AAC LC/PLUS ·
AMR-NB ·
AMR-WB |
.avi |
AVI |
·
MPEG4 SP/ASP except GMC ·
Xvid ·
H.264 BP/MP/HP ·
H263 ·
MJPEG |
·
AAC LC/PLUS ·
MP3 ·
AC3 ·
LPCM |
.wma |
ASF |
|
·
WMA STD, PRO, Lossless |
.wmv/.asf |
ASF |
·
VC-1 SP/MP/AP ·
WMV 7/8 |
·
WMA STD, PRO, Lossless |
.mkv/mka |
MKV |
·
H.264 BP/MP/HP ·
MPEG4 SP/ASP except GMC ·
Xvid ·
VC-1 SP/MP/AP |
·
AAC ·
MP3 ·
WMA STD, PRO, Lossless ·
AC3 ·
Vorbis |
.flv/.f4v |
FLV |
·
Sorenson H263 ·
H.264 BP/MP/HP |
·
MP3 ·
AAC |
.mpg .vob .ts |
MPEG2/PS |
·
MPEG2 |
·
MP3 ·
AAC ·
AC3 ·
LPCM |
MPEG2/TS |
·
MPEG2 ·
H.264 BP/MP/HP |
||
.webm |
MKV |
·
VP8 |
·
MP3 ·
AAC LC/PLUS |
Notes:
·
All video codecs are accelerated with the Video Processing Unit (VPU) except
the WMV7/8 decoder and the Sorenson H.263 decoder.
·
All audio codecs are optimized by Freescale.
·
Webm is enhanced by Freescale
codecs only in i.MX6D/Q SoC.
·
Support
equalizer for audio playback.
·
ASF, WMV,
WMA and AACPLUS need to install Special Codec Package.
·
AC3 need
to install Excluded Codec Package.
·
MJPEG
subtype MJPEG_2000 and MJPEG_B are not supported.
·
MJPEG only
support YUV420, YUV422(horizontal) color format.
·
H.264 TS
streams not supporting seek, and only tested with limited streams from
customer.
File Extension |
Video Encoders |
Audio Encoders |
.3gp |
·
H263 ·
H264 ·
MPEG4 |
·
AMR-NB ·
AMR-WB ·
AAC LC |
.mp4 |
·
H263 ·
H264 ·
MPEG4 |
·
MP3 ·
AAC LC |
Notes:
·
On Froyo, only support H263+AMR-NB in 3gp container and
H264+MP3 in mp4 container.
·
All video codecs are accelerated with the Video Processing Unit
(VPU).
·
AMR-NB,
AMR-WB and MP3 encoder are optimized by Freescale.
File Extension |
Video Encoders |
Audio Encoders |
.3gp |
·
H263 ·
H264 ·
MPEG4 |
·
AMR-NB ·
AMR-WB ·
AAC LC |
.mp4 |
·
H263 ·
H264 ·
MPEG4 |
·
MP3 ·
AAC LC |
.mp3 |
·
MP3 |
Notes:
·
Movie
Studio is supported from ICS.
·
All video codecs are accelerated with the Video Processing Unit
(VPU).
Protocol |
File format |
HTTP |
·
.mp4/.3gp/.mov ·
.flv/ .f4v ·
.avi ·
.wmv/.asf ·
.mpg/.vob/.ts ·
.mp3 ·
.aac ·
.wma ·
.mkv |
RTSP |
·
.mp4 |
HTTPLive |
·
.m3u8 |
Notes:
·
On Froyo, only support H264+aac for RTSP.
Prebuilt
Codec Share libs |
· Codec libraries ·
fsl_ac3_dec.tar.gz |
Below features are
supplementary to Codec
Standard Release package
Video Decoders |
Audio Decoders |
· AC3 |
Prebuilt
Codec Share libs |
· Codec libraries ·
fsl_aacp_dec.tar.gz ·
fsl_ms_codec.tar.gz |
Below features are
supplementary to Codec
Standard Release package
Demuxers |
Video Decoders |
Audio Codecs |
· ASF |
· WMV |
· AAC Plus · WMA |
Please refer to the readme of
each package.
/**
* Set parameters for each band of Audio Equalizer.
* @param BandIndex the index number of band (this value should be from 0 to 9 as PEQ support 10 frequency bands at most).
* @param BandFreq the center frequence(in Hz) of band
* @param BandGain the gain (dB) of band
*/
public native void setAudioEffect(int BandIndex, int BandFreq, int BandGain);
/**
* Enable or Disable Audio Equalizer.
* @param isEnableEqualizer is the flag which indicates if Audio Equalizer is enable or disable, isEnableEqualizer equals to true means enable PEQ, false means disable.
*/
public native void setAudioEqualizer(boolean isEnableEqualizer);
/**
* Call this method when playback or pause. This method finds the
* current frame if successful and returns it as a bitmap. This is
* useful for generating a thumbnail for an input media source.
* @return A Bitmap containing a representative video frame, which
* can be null, if such a frame cannot be retrieved.
*/
public native Bitmap captureCurrentFrame();
/**
* Set the crop area of the
video.
*
* @param Top the top position for crop area
* @param Left
the left position for crop area
* @param Bottom
the bottom position for crop area
* @param Right
the right position for crop area
*/
public native void setVideoCrop(int Top,int Left, int Bottom, int Right);
/**
* Get amount of Audio tracks.
*
* @return Amount of Audio tracks
*/
public
native int getTrackCount();
/**
* Get amount of Audio tracks.
*
* @param
Index the audio track index want to get
* @return Track name
*/
public native
String getTrackName(int
Index);
/**
* Get default selected Audio tracks.
*
* @return Default selected audio track
index
*/
public
native int getDefaultTrack();
/**
* Select Audio tracks.
*
* @param
Index the audio track index want to
select
*/
public native void selectTrack(int Index);
/* trick mode
*/
/**
* Set playback speed.
*
* @param Speed is normalized
speed multiplied by 0x10000
* Range of normalized speed is:
*
[-16,-2] means rewind, [0.1, 16] means fast forward, step is 0.1
* when normalized
speed is [0.1, 1.9] audio is outputted, otherwise audio
* is not outputted.
*/
public
native void setPlaySpeed(int
Speed);
·
The
minimum resolution is 64*64
· Complex Profile of WMV9 is not supported
· Multimedia Files which don’t have index table may not be seekable.
· Corrupted Multimedia Files may not be seekable and have wrong duration.
· Not support EXT-X-DISCONTINUITY handling for HTTPLive streaming.
None.