问题
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:
- Is the latest version of FFmpeg hardware accelerated for ARM (Android) processors?
- 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.
回答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
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...
回答2:
What you need is ffmpeg compiled for ARM NEON. See: https://groups.google.com/forum/#!topic/android-ndk/mGF6t3uWZ4U
回答3:
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.
来源:https://stackoverflow.com/questions/7869907/hardware-accelerated-ffmpeg-on-android