i.MX Android Codec Release Notes

Last Updated: Oct 11, 2012

Contents

Release description.. 2

Supported Hardware SoC/board.. 2

What’s new in this release.. 3

Feature Matrix of Playback.. 3

Android native Codecs. 3

Android native image.. 3

Freescale enhanced Codecs. 3

Feature Matrix of Recording.. 4

Feature Matrix of Streaming.. 5

Codec Excluded Release package.. 5

What's in this package.. 6

Feature Supported.. 6

Codec Special Release package.. 6

What's in this package.. 6

Feature Supported.. 6

How to Install the Excluded and Special Codecs. 7

Extend the Android Multimedia Framework APIs. 7

PEQ of audio post-processing.. 7

Video snapshot during playback.. 7

Video input crop area setting.. 8

Get amount of Audio tracks. 8

Get track name.. 8

Get default selected Audio track index.. 8

Select the specified Audio track.. 8

Set playback speed.. 9

Limitation of this release.. 9

Known issues. 9

 

Release description

·         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.

Supported Hardware SoC/board

·         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

What’s new in this release

·         Enhanced stability and robustness

Feature Matrix of Playback

Android native Codecs

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.

Android native image

File Extension

Encoder

Decoder

Details

.jpg

*

*

Base+progressive

 

.gif

*

 

.png

*

*

 

.bmp

*

 

Freescale enhanced Codecs

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.

Feature Matrix of Recording

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.

Feature Matrix of Movie Studio

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).

Feature Matrix of Streaming

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.

Codec Excluded Release package

What's in this package

Prebuilt Codec Share libs

·         Codec libraries

·         fsl_ac3_dec.tar.gz

Feature Supported

Below features are supplementary to Codec Standard Release package

 

Video Decoders

Audio Decoders

·         AC3

Codec Special Release package

What's in this package

Prebuilt Codec Share libs

·         Codec libraries

·         fsl_aacp_dec.tar.gz

·         fsl_ms_codec.tar.gz

Feature Supported

Below features are supplementary to Codec Standard Release package

 

Demuxers

Video Decoders

Audio Codecs

 

·         ASF

 

·         WMV

·        AAC Plus

·         WMA

How to Install the Excluded and Special Codecs

Please refer to the readme of each package.

Extend the Android Multimedia Framework APIs

PEQ of audio post-processing

   /**

     * 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);

Video snapshot during playback

   /**

    * 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();

Video input crop area setting

    /**

     * 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

    /**

     * Get amount of Audio tracks.

     *

     * @return Amount of Audio tracks

     */

    public native int getTrackCount();

Get track name

    /**

     * 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 track index

    /**

     * Get default selected Audio tracks.

     *

     * @return Default selected audio track index

     */

    public native int getDefaultTrack();

 Select the specified Audio track

    /**

     * Select Audio tracks.

     *

     * @param Index   the audio track index want to select

     */

public native void selectTrack(int Index);

Set playback speed

/* 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);

 

Limitation of this release

·       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.

Known issues

None.