12
votes

I compiled an older version of FFmpeg for Android (if I recall correctly it was 0.6.X). FFmpeg decodes a video frame, scales it, then I'm using OpenGL to draw it on the screen. As far as I can tell, the problem is the decoding and scaling---they're not hardware accelerated.

My question is:

  1. Is the latest version of FFmpeg hardware accelerated for ARM (Android) processors?
  2. Am I going about this the wrong way? i.e., is there a better way of doing this? Where "this" is playing a h264 HD video as a video live wallpaper---the framerate needs to be high, so hardware acceleration is desirable whenever available.
3
Any Solution so far?user1767754
Any solution ? (+1CoXier

3 Answers

1
votes
  1. I think so , yes. see : http://ffmpeg.org/#pr9 . the major release that has the hardware accelerated decoding of h264 on Android is Harmony 0.9

  2. if you use a decoder that takes advantage of the hardware acceleration, when it's available, I don't see how you can do better...

0
votes
0
votes

You could also try compiling ffmpeg with libstagefright_h264, I was able to get it to compile and read video file properties, but have been unable to get avcodec_open to work with it... That would be hardware accelerated assuming it was supported by the device.