title: Hardware accelerated video decode for H.264 in android prior to Jelly Bean
body: <p>I am working on a video conferencing project. We were using software codec for encode and decode of video frames which will do fine for lower resolutions( up to 320p). We have planned to support our application for higher resolutions also up to 720p. I came to know that hardware acceleration will do this job fairly well. </p>
  
  <p>As the hardware codec api Media codec is available from Jelly Bean onward I have used it for encode and decode and are working fine. But my application is supported from 2.3 . So I need to have an hardware accelerated video decode for H.264 frames of 720p at 30fps. </p>
  
  <p>On research came across the idea of using OMX codec by modifying the stage fright framework.I had read that the hardware decoder for H.264 is available from 2.1 and encoder is there from 3.0. I have gone through many articles and questions given in this site and confirmed that I can go ahead.  </p>
  
  <p>I had read about stage fright architecture <a href="http://quandarypeak.com/2013/08/androids-stagefright-media-player-architecture/" rel="nofollow">here -architecture</a> and <a href="http://www.slideshare.net/alexyjoseph/stagefright-10371971" rel="nofollow">here- stagefright how it works</a></p>
  
  <p>And I read about OMX codec <a href="https://vec.io/posts/use-android-hardware-decoder-with-omxcodec-in-ndk" rel="nofollow">here- use-android-hardware-decoder-with-omxcodec-in-ndk</a>.</p>
  
  <p>I am having a starting trouble and some confusions on its implementation.I would like to have some info about it.</p>
  
  <ol>
  <li>For using OMX codec in my code should I build my project with the whole android source tree or can I do by adding some files from AOSP source(if yes which all).</li>
  <li>What are the steps from scratch I should follow to achieve it. </li>
  </ol>
  
  <p>Can someone give me a guideline on this</p>
  
  <p>Thanks...</p>