Summary

This specification is for the porting and optimization of some codecs in the 11.05 release.The document lists the codecs which will be available with 11.05 release.The performance measurement parameters are also enumerated in the document.

Table of Codecs for 11.05

Codec

Source Code

License

Use Case

Remarks

HEAAC v2 Encoder

Google-Android/3GPP

Royalty

Camcorder, High End Mobiles

VP6 Decoder

FFMPEG/Google

GPL

Used in internet applications.

VP8 Decoder

FFMPEG/Google

GPL

Open source based on VP3

JPEG T.81 Decoder

ITUT

Royalty

Internet, broadcast, DVD players.

Performance measurement of Codecs

The performance measurement is done using the floowing algoritm and updated in the performance measurement table below.The performance measurement will use system timers before and after the decoder function call to do the MCPS calculation.API should be measured in a single thread. .No File i/o inside codec .Input is encodec stream .Output is interleaved PCM General Algo of measurement

   Test_Wrapper(args)    
   {       
   Time1=Gettime();       
   Call Codec(args);       
   Time2= Gettime();      
   Time=Time2-Time1;       
   TotalTime=TotalTime+Time;       
   }
  • Calcuate total cycles using Total Time.Performance measurement using this method has to be done for codec performance measurement at the unit testing level.As it will be decoded in nonreal time.Once it is integrated with the middleware measurements will be done using top,powertop etc to see its system load as the decoding will happen in real time .But,those measurements correlate with the codec MCPS and are outside the scope of this development.

Performance Statistics

Date/Release

Test file name and parameter

Program memory(KB)

Scratch(KB)

Stack(KB)

Static Memory(KB)

Codec MCPS/FPS**

10/11/10

...

Codec profiled data with list of functions with % load and absolute load to be updated here.This will be useful for identifying hotspots and the functions to be optimised.Profiling will be done using perf or any other profiling tool available.

Codec Profiled Data

Serial No

Function Name

% of Codec MCPS*

Absolute MCPS

Remarks

1

2

..

*Million Cycles per second.

**Frames per second.

Test/Demo Plan

Run on any Linaro approved a8/9 board using command line with decoded stream redirected to display/sound driver.

WorkingGroups/Middleware/Multimedia/Specs/1105/OptimizeCodecDirections (last modified 2010-11-16 05:12:27)