[AMLCodec] What to do about problem that it's facing
#1
Hi all,

New Amlogic KitKat source code releases has changed way of showing video content. It is now shown on GL surface. Investigating code more, i found comments that all code related to VIDEO_HOLE will be removed (for now they are commented out).

I was thinking of three options:

1. Leave AMLCodec, but change way it acts, depending on Android version
2. Abandon AMLCodec and use MediaCodec instead
3. Leave AMLCodec for Linux LibPlayer compatibility but disable it in Android builds and use MediaCodec

Personally, I'm for option 3.

Opinions? Ideas?
Reply
#2
It all depend on how good is their MediaCodec support, I guess...
Apparently, currently, it works okay-ish with h264 but not much more.

I suppose the kitkat sources are not public?
Reply
#3
(2014-07-05, 11:27)Koying Wrote: It all depend on how good is their MediaCodec support, I guess...
Apparently, currently, it works okay-ish with h264 but not much more.

I suppose the kitkat sources are not public?

Nope, they are not. They are free, but you have to be Amlogic's partner (sign SLA...) to get access to their repositories.
Reply
#4
Update....

I toyed with MediaCodec, doesn't work good. Works only for SD content.

On any HD crashes XBMC. Part of logcat: http://pastebin.com/AzN2Wh5k
xbmc.log doesn't show any error as it crashes.

As of now I change my mind, I'm for option 1 Smile But I'm not that much into XBMC code to do things fast. But I dont think it will be hard to do as AMLCodec works ok. For example, if you scale screen to fully see content, on top of screen you can see video playing in background. So, my opinion is that black hole surface does not need to be drawn or be transparent or whatever and everything will be fine. But how to do that? Smile
Reply
#5
Have a test with libstagefright, too. I've read reports that that one work better than MediaCodec on aml.
If you're on Gotham, you can try including https://github.com/xbmc/xbmc/pull/4582 , too, for MediaCodec.

On Gotham, MediaCodec doesn't use egl surfaces by default, and that causes crashes on a bunch of soc's
Reply
#6
(2014-07-06, 11:18)Koying Wrote: Have a test with libstagefright, too. I've read reports that that one work better than MediaCodec on aml.
If you're on Gotham, you can try including https://github.com/xbmc/xbmc/pull/4582 , too, for MediaCodec.

On Gotham, MediaCodec doesn't use egl surfaces by default, and that causes crashes on a bunch of soc's

Yes, I'm on Gotham, will try this patch. libstagefright is not an option for now.... it works but only for playback. seeking and stuff are all broken.
Reply
#7
Amlogic KitKat amlcodec internals moves from rendering the video on a self-contained video plane that is behind GLES/Android to rendering video via V4L2 into a android surface. The ODROID devices have a similar setup. See their v4l2 mfc implementation for XBMC.

So in order to keep AMLCodec for usage under Amlogic KitKat, you will need to implement a V4L2 renderer. Good news is most of the work for that is already done by the ODROID devs.
Reply
#8
(2014-07-06, 17:31)MeatGrinder Wrote: Amlogic KitKat amlcodec internals moves from rendering the video on a self-contained video plane that is behind GLES/Android to rendering video via V4L2 into a android surface. The ODROID devices have a similar setup. See their v4l2 mfc implementation for XBMC.

So in order to keep AMLCodec for usage under Amlogic KitKat, you will need to implement a V4L2 renderer. Good news is most of the work for that is already done by the ODROID devs.

Thanx for that useful information Smile
Reply
#9
Update: It was problem with AMLogic code 2014-06-16 and 2014-06-30. They did not release new sources yet, but they have patch which makes AMCodec work again as usual Smile
Reply

Logout Mark Read Team Forum Stats Members Help
[AMLCodec] What to do about problem that it's facing0