Android ICS and later use the new version of the OpenMax IL API, which makes old binary drops useless / unused. This leads to older devices that otherwise run ICS just fine and dandy to break video playback (like YouTube's HQ and IMBD), since the Androids software decoder is crap compared to what ffmpeg can do on one device (I tested MXPlayer + arm6vfp ffmpeg and 720p movie plays perfectly).
I'm trying to dig out the Android source code to find out where and what exactly I could add / replace code so that I can use the ffmpeg library. The problem is that I do not know exactly what code is used, for example, the YouTube application for decoding video or how it is accepted.
So, I have two options, as far as I can tell:
Find out the software decoder you are using and try wrapping its external interface around ffmpeg, effectively replacing the currently used slow software decoder. The end result will be one. So that I can click on the device.
Find out how to trick Android into thinking ffmpeg-based OMX libraries (I built one for Android: limoa ) and add it somewhere to the list of libraries reviewed (or better: replace an unusable hardware codec).
As an extension, I would also like to make video coding of the camcorder through this, so I would really like an integrated solution. The question is how and where and what? A search in the Android source tree provides many "H264" accounts and related materials in different places. I need the lowest and simplest, so I can just wrap a hypothetical call to the decode(buffer) function to use ffmpeg (libavcodec).
rubenvb
source share