Android Lollipop MediaCodec not decoding raw H264 stream 1080P at 60 FPS

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Android Lollipop MediaCodec not decoding raw H264 stream 1080P at 60 FPS

2,972 Views
gurtajs4
Contributor II

Hi EveryOne,

This is my follow up question to below thread

Slow H264 1080P@60fps Decoding on Android Lollipop 5.0.2 SabreSD

On the path of debugging the root cause of above issue, I tried various approach to Decode 1080P at 60 FPS.

1. I tried wrapping H264 data into a MP4 container(without transcoding). The playback of MP4 with various stock player seems slow(less than 60fps , around 42fps).

2. I tried using native codec samples from Android NDK. Still no progress.

3 Later I compiles the mxc-vpu-test code from the Android Source tree. With this and using the correct parameters, I was Capable of playing the video at 60 FPS.

So My doubts are

- Is the decoder capable of playing 1080p@60fps video, with correct Frame rate ?

- If so, then why MediaCodec ( using ACodec code internally ) is not capable of playing 1080p@60fps video.

- I am not sure if OMXCodec is used in this process, Where can I get OMXCodec  sample code to decode my video.

Thanks

Gurtaj

Labels (4)
0 Kudos
8 Replies

1,332 Views
igorpadykov
NXP Employee
NXP Employee

Hi Gurtaj

omx player (as part of Freescale Enhanced Codecs) is provided in

Extended multimedia package, obtained separately using procedure described in

sect.6 Freescale Extended Feature Packages attached Release Notes.

Codecs performance (in fps) is described in attached i.MX_Android_Extended_

Codec_Release_Notes.pdf sect.5 Codec Specification.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,332 Views
gurtajs4
Contributor II

Hi,

I don't see any attached document.

Also Can you shed some light on why is the video playing fine using MXC-VPU-TEST and not MediaCodec.

This will be of great help for me.

Thanks & Regards,

Gurtaj

0 Kudos

1,332 Views
igorpadykov
NXP Employee
NXP Employee

attached documents in red in previous answer

1.jpg

0 Kudos

1,332 Views
gurtajs4
Contributor II

Hi,

Thanks for the documents.

I want to use mediacodec for decoding 1080p@60 fps video. Seem like Freescale doesn't support it but still I am capable of playing this using mxc-vpu-test.

Can Someone explain me the difference between the MediaCodec and MXC-VP-TEST decoding techniques and why one is capable of decoding while other is not.

Regards & Thanks

Gurtaj

0 Kudos

1,332 Views
igorpadykov
NXP Employee
NXP Employee

seems MediaCodec is pure software android codec, while

MXC-VPU-TEST is optimized for i.MX6.

~igor

0 Kudos

1,332 Views
gurtajs4
Contributor II

Igor,

No, I will disagree on that. As We can see from logcat logs , MediaCodec ( via ACodec ) selecting the hardware decoder OMX.Freescale.std.video_decoder.avc.v3.hw-based.

Can you point me to some test code which uses AwesomePlayer (OMXCodec ) for decoding and rendering. I want to verify other implementation and eliminate if there is any issue with using MediaCodec ( via ACodec ).

Regards,

Gurtaj

0 Kudos

1,332 Views
igorpadykov
NXP Employee
NXP Employee

Gurtaj

omx player (as part of Freescale Enhanced Codecs) is provided in

Extended multimedia package, obtained separately using procedure described in

sect.6 Freescale Extended Feature Packages attached Release Notes.

~igor

0 Kudos

1,332 Views
gurtajs4
Contributor II

Igor,

Sorry Sir, I am not getting any technical detail here.

I am not sure what has changed from Android Jeallybean-4.2.2_1.0.0-ga to Android Lollipop-5.0.2

that has suppress the capability of decoder (Using MediaCodec Interface ) to decode 1080p@60fps.

Can Someone please justify this difference ???

Regards,

Gurtaj

0 Kudos