Android -  how to add hardware video decoding support

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
adolph Offline
Junior Member
Posts: 14
Joined: Oct 2012
Reputation: 0
Post: #1
It's really a good news that XBMC for android can run on our device. But it seems that our device has to use software decoding. I want to add hardware video decoding support, but I don't know how to begin this work. I found lots of guys make xbmc for android to use external player in android, I want to know whether it is a good method. Or there are some standard methods for me to follow?

Any help will be appreciated.
find quote
Ned Scott Offline
Team-Kodi Wiki Guy
Posts: 21,361
Joined: Jan 2011
Reputation: 276
Location: Arizona, USA
Post: #2
Hardware decoding support is still being worked on.

You can make easy links to the XBMC wiki using double brackets around common XBMC words: [[debug log]] = debug log, [[Video library]] = Video library, [[SMB]] = SMB , [[userdata]] = userdata, etc
find quote
adolph Offline
Junior Member
Posts: 14
Joined: Oct 2012
Reputation: 0
Post: #3
Thank you, Ned. But I think we have to add hardware video decoding support ourselves for various hardware platforms. So I don't know what you mean by "Hardware decoding support is still being worked on".
find quote
Ned Scott Offline
Team-Kodi Wiki Guy
Posts: 21,361
Joined: Jan 2011
Reputation: 276
Location: Arizona, USA
Post: #4
The only way to add hardware decoding support for various hardware platforms is to code new hardware decoding players in XBMC. It's not something a normal user can do.

Currently only some AMLogic ARM chipsets are supported. IIRC, the hope is to cover most of the rest using an OpenMax implementation.

This is why some users are using eternal players (a less-than-elegant work around) for the time being.

That is, unless you are a coder and you are asking how to help with making the additional hardware decoding players.

You can make easy links to the XBMC wiki using double brackets around common XBMC words: [[debug log]] = debug log, [[Video library]] = Video library, [[SMB]] = SMB , [[userdata]] = userdata, etc
(This post was last modified: 2012-10-26 11:05 by Ned Scott.)
find quote
adolph Offline
Junior Member
Posts: 14
Joined: Oct 2012
Reputation: 0
Post: #5
I know OpenMax, and android also try to use Openmax to adapt to various hardware platforms. But as far as I know, not so many devices have OpenMax interfaces just like our device.

I want to write new hardware decoding player for our hardware device. I just don't know how to start this. And I So any references I can follow?

And by the way, I know XBMC team use Pivos XIOS for their xbmc-android work. But I didn't find the detail about that, especially about the hardware player's source code.
find quote
Montellese Offline
Team-XBMC Developer
Posts: 3,771
Joined: Jan 2009
Reputation: 36
Location: Switzerland
Post: #6
The XIOS-specific player in XBMC is located in xbmc/cores/amlplayer so that's probably where you want to look if you are interested in the solution used for the Pivos XIOS. But it is highly AMLogic and XIOS specific but it might give you an idea of how to write your own player for your hardware.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]
find quote
adolph Offline
Junior Member
Posts: 14
Joined: Oct 2012
Reputation: 0
Post: #7
Montellese, thank you. So I will have a look at amlplayer.
find quote
davilla Offline
Retired-Team-XBMC Developer
Posts: 11,508
Joined: Feb 2008
Reputation: 64
Post: #8
https://github.com/xbmc/xbmc/tree/master...ndroid-sys


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
sonach Offline
Junior Member
Posts: 35
Joined: Jan 2012
Reputation: 0
Post: #9
I have the same issue with adolph, since our device doesn't provide OpenMAX interfaces either. So the solution maybe just like AMLPlayer.
But I still have one question:
Is there any possibility to enable XBMC hardware decoding with stagefright instread of OpenMAX? AFAIK, stagefright is more common than OpenMAX these days(If I am wrong, correct me please).
find quote
Memphiz Offline
Team-Kodi Developer
Posts: 11,281
Joined: Feb 2011
Reputation: 115
Location: germany
Post: #10
We tried to enable stagefright support in ffmpeg already but didn't get it to work (missing symbols during runtime).

AppleTV2/iPhone/iPod: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for XBMC: Wiki NFS
HowTo configure avahi (zeroconf): Wiki Avahi
READ THE IOS FAQ!: iOS FAQ
find quote
sonach Offline
Junior Member
Posts: 35
Joined: Jan 2012
Reputation: 0
Post: #11
(2012-10-27 18:47)Memphiz Wrote:  We tried to enable stagefright support in ffmpeg already but didn't get it to work (missing symbols during runtime).
Good job!
Is it already in github xbmc source tree?
Maybe we will try to evalute this solution, at least on our device.
find quote
adolph Offline
Junior Member
Posts: 14
Joined: Oct 2012
Reputation: 0
Post: #12
hi, Memphiz, any other details about your work I can follow?


By the way, you say you use stagefright to support ffmpeg, so I want to know whether the interfaces which stagefright offers is enough for the essential functions?
find quote
Montellese Offline
Team-XBMC Developer
Posts: 3,771
Joined: Jan 2009
Reputation: 36
Location: Switzerland
Post: #13
Did you guys actually read Memphiz' post? He clearly stated that we tried to get libstagefright working for ffmpeg but that it didn't work out. Actually 3 of our devs (including myself) tried it independently and we all failed. Obviously none of that work made it into master as it doesn't work.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]
find quote
sonach Offline
Junior Member
Posts: 35
Joined: Jan 2012
Reputation: 0
Post: #14
(2012-10-29 09:38)Montellese Wrote:  Did you guys actually read Memphiz' post? He clearly stated that we tried to get libstagefright working for ffmpeg but that it didn't work out. Actually 3 of our devs (including myself) tried it independently and we all failed. Obviously none of that work made it into master as it doesn't work.
Thank you three for the hard work!
I am very interested in this solution so are eager to know some details about it. If this solution is suitable to us, we will spend more time to dig into it. Wish we could share the work with the community instead of just waiting for community...

That is the reason for the questions Smile
find quote
adolph Offline
Junior Member
Posts: 14
Joined: Oct 2012
Reputation: 0
Post: #15
ok, Montellese. Now I know you use libstagefright for ffmepg and it doesn't work, but why you use ffmpeg? Can I only use libstagefright to make to code new hardware decoding players in XBMC?
find quote
Post Reply