OpenMAX uses hardware acceleration?

513 views
Skip to first unread message

Tim Mensch

unread,
Sep 30, 2013, 3:43:58 PM9/30/13
to andro...@googlegroups.com
Hi,

I have an h264 stream that I'd like to render using hardware
acceleration, and I'm considering using OpenMAX.

I know about MediaCodec, but that requires API level 16; it would be
nice to include support for API level 14. It looks like OpenMAX MPEG-TS
probably gets run through a hardware decoder, but I don't want to do all
of the work to wrap my h.264 stream in MPEG-TS if it ends up being run
through a software decoder.

At the moment I'm already using FFMPEG to do software decoding, but it's
not giving me 720p at 30FPS, which is why I'm investigating hardware
options. Is anyone else successfully using OpenMAX this way? And is it
faster at decoding h.264 than FFMPEG?

Any information on this would be useful,

Tim

Rahul Bhattacharya

unread,
Oct 1, 2013, 5:33:20 AM10/1/13
to andro...@googlegroups.com
Tim,

  You can use Stagefright framework(though the apis are not exposed via NDK) to do OMX decoding. This framework directly interacts with OMX IL components. 





--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-ndk+unsubscribe@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.
Visit this group at http://groups.google.com/group/android-ndk.
For more options, visit https://groups.google.com/groups/opt_out.

David Turner

unread,
Oct 1, 2013, 12:45:57 PM10/1/13
to andro...@googlegroups.com
On Tue, Oct 1, 2013 at 11:33 AM, Rahul Bhattacharya <rahuli...@gmail.com> wrote:
Tim,

  You can use Stagefright framework(though the apis are not exposed via NDK) to do OMX decoding. This framework directly interacts with OMX IL components. 


That's a really bad suggestion, some OEMS have customized their media stack in ways that either eradicate or bypasses stagefright. Don't ask me why. The only point I'm making here is that if something is not exposed by the NDK, you should not expect it working everywhere, and these kinds of hack can be a real pain to debug.
 

On Mon, Sep 30, 2013 at 9:43 PM, Tim Mensch <tim.m...@gmail.com> wrote:
Hi,

I have an h264 stream that I'd like to render using hardware acceleration, and I'm considering using OpenMAX.

I know about MediaCodec, but that requires API level 16; it would be nice to include support for API level 14. It looks like OpenMAX MPEG-TS probably gets run through a hardware decoder, but I don't want to do all of the work to wrap my h.264 stream in MPEG-TS if it ends up being run through a software decoder.

At the moment I'm already using FFMPEG to do software decoding, but it's not giving me 720p at 30FPS, which is why I'm investigating hardware options. Is anyone else successfully using OpenMAX this way? And is it faster at decoding h.264 than FFMPEG?

Any information on this would be useful,

Tim

--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-ndk+unsubscribe@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.
Visit this group at http://groups.google.com/group/android-ndk.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-ndk...@googlegroups.com.

Tim Mensch

unread,
Oct 1, 2013, 1:04:06 PM10/1/13
to andro...@googlegroups.com
On 10/1/2013 10:45 AM, David Turner wrote:
On Tue, Oct 1, 2013 at 11:33 AM, Rahul Bhattacharya <rahuli...@gmail.com> wrote:
Tim,

  You can use Stagefright framework(though the apis are not exposed via NDK) to do OMX decoding. This framework directly interacts with OMX IL components. 


That's a really bad suggestion, some OEMS have customized their media stack in ways that either eradicate or bypasses stagefright. Don't ask me why. The only point I'm making here is that if something is not exposed by the NDK, you should not expect it working everywhere, and these kinds of hack can be a real pain to debug.

Which is why I wasn't asking about Stagefright. :)

I already talked with my client about the pros and cons of stepping outside of the NDK, and they want to stay within the officially supported APIs. If we did end up using unsupported APIs, it would be tied to specific hardware.

Does anyone know the answer to my question, though? Does OpenMAX decoding use hardware acceleration on pre-4.1 phones? David?

Tim

Glenn Kasten

unread,
Oct 1, 2013, 4:06:02 PM10/1/13
to andro...@googlegroups.com
yes, when available

Tim Mensch

unread,
Oct 1, 2013, 6:46:35 PM10/1/13
to andro...@googlegroups.com
On 10/1/2013 2:06 PM, Glenn Kasten wrote:
> yes, when available

Thanks Glenn.

Tim
Reply all
Reply to author
Forward
0 new messages