1

I am trying to develope an H264 hardware accelerated video decoder using OpenMAX AL API. But this documents states that -

The only supported way to supply multimedia content is via an MPEG-2 transport stream.

But according to Wikipedia, MPEG-2 is H262 and older less advanced version of H264. So should decoding H264 work?

Also, the above documents states that -

The major feature is the ability to play an MPEG-2 transport stream containing a single program stream made up of one H.264 video elementary stream and one AAC audio elementary stream.

So what's the fact here? Would I able to decode H264 Baseline Annex B stream using OpenMax AL? Or do I need to approach with OpenMax IL or stagefright?

Kaidul
  • 15,409
  • 15
  • 81
  • 150
  • 2
    _"The only supported way to supply multimedia content is via an MPEG-2 transport stream. But according to Wikipedia, MPEG-2 is H262 and older less advanced version of H264"_ You seem to be mixing up different concepts here. H.262 is a _video compression_ standard. An MPEG-2 transport stream is a _container format_. – Michael Sep 04 '15 at 11:57
  • @Michael, Thanks for your answer. So it should work with `H.264` stream, right? Note that, I am not streaming any media container, its RTSP from any camera/capturer. Well, and I am not encoding with OpenMax also, just decoding. – Kaidul Sep 04 '15 at 12:02
  • What are you trying to do that isn't supported by the public APIs? Why not use MediaCodec? – fadden Sep 04 '15 at 16:07
  • @fadden Because MediaCodec is Java API and I need to interfacing with jni which will be slower/out of sync with audio due to JNI calls are expensive (probable reason may be). – Kaidul Sep 04 '15 at 16:11
  • OpenMax AL has been exposed from Android 14 and now a public API of native layer – Kaidul Sep 04 '15 at 16:12

1 Answers1

1

Well, OpenMax AL only supports the decoding of MPEG-2 transport stream via a buffer queue. This rules out passing raw h264 NALUs or other media formats for that matter.

Kaidul
  • 15,409
  • 15
  • 81
  • 150