optimize VP8 decoding for ARM

Registered by Alexander Sack

 * Review VP8 open-source decoders
 * Define test cases and ensure requirements are taking account in free test content spec
 * document performance hot spot identification mechanisms
 * integrate in codec test-harness and keep track of performance numbers over time
 * hand optimize VP8 decoders working together with upstream community

Blueprint information

Alexander Sack
Rony Nandy
Needs approval
Rony Nandy
Series goal:
Accepted for 11.05
Milestone target:
milestone icon 11.05-final
Started by
rajeev kapoor
Completed by
Mans Rullgard

Related branches



[asac Nov 17]: please split up engineering work like "Do Multithreading in host x86 system using pure C" in multiple work items with each ~2 days worth of effort
[asac Nov 17]: the wiki page/url needs to be CamelCase
[asac Nov 21]: renamed wiki to CamelCase syntax
[asac Dec 14]: looks fine, please map your milestones to real milestones instead of names like Infrastructure etc.
[gsachin,rajeev,Jan 04] : Please update the progress if any
[rajeev Feb 01]: Please update as per current progress.
[vorlon Mar 23]: ppa setup needs to be done by the multimedia wg, not by Tom - devplatform can assist with the setup if needed
[Rony Apr29 ]:Work item related to MM PPA removed as it is taken up as a separate blueprint-tr

Work items (11.01):
Set up working git/bzr branch/repo hosted on git.linaro.org or launchpad.net; base this on the latest ffmpeg trunk and document how to clone/branch that tree in spec and whiteboard: DONE
Get a a9 board(ideally Orion or Panda) to work on : DONE
Setting up nfs for Oriogn:DONE
set up GDB and Oprofiler on Cortex a9(required for profiling or look for a workaround): DONE
[tom-gall] create a daily build package from the bzr/git tree used for optimization: DONE
write a small program that runs a benchmark and outputs high level performance metrics for ffmpeg/vp8 and document how to build/use it: DONE
Comparative analysis of Google's vp8 and ffmpeg vp8 for a9
Write up comparative analysis on the wiki and link that page from the spec and whiteboard: DONE
Check for feasibility of using OpenMP or Open CL for multithreading vp8 and document findings/outcome in spec and whiteboard : DONE
Have the basic vp8 selected running with test setup on board: DONE
Come up Document the basic design(Code analysis and read standard) and provide link in spec: DONE

Work items (11.02):
Do Multithreading in host x86 system using pure C: DONE
publish multithreading changes to bzr/git tree: DONE

Work items (11.03):

[tom-gall] provide package with multithreading patch: DONE
Comparative analysis of latest libvpx code and older version:DONE

Work items (11.04):
Study of spec for inter thread multithreading:DONE
Generate test streams for testing:DONE
Testing the vp8 Package : DONE
Analysis of the conflict b/w interframe and intraframe multithreading:DONE
[done by upstream] Coding for interframe multithreading: DONE

Work items (11.05):


Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.