Kodi Community Forum
Allwinner A10 : Is XBMC ported to MALI-400MP ? - Printable Version

Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Discussions (https://forum.kodi.tv/forumdisplay.php?fid=222)
+--- Forum: Hardware (https://forum.kodi.tv/forumdisplay.php?fid=112)
--- Thread: Allwinner A10 : Is XBMC ported to MALI-400MP ? (/showthread.php?tid=126995)



RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - gimli - 2012-09-26

(2012-09-26, 04:06)lundman Wrote: gimli

Digging deeper into the DROID-X board, it appears the kernel sources are available:

https://github.com/hardkernel/linux

and where I need to fiddle to add bitstreaming audio on HDMI is *probably* around here:

https://github.com/hardkernel/linux/tree/odroidx-next/drivers/media/video

The 3D is MALI as per A10, so I guess you already know the issues there, the video processing using appears to be a Samsung MFC, to which the sources appears to be here:

https://bitbucket.org/gokhanmoral/siyahkernel/src/7123ed434dc8/drivers/media/video/samsung/mfc5x/

How does that look for possible hardware for XBMC?

https://www.codeaurora.org/git/projects/ag-gb-dsds-7227/repository/revisions/4bdd17c47ffda215c1531ad948e4de71777527cc/annotate/device/samsung/crespo/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c

If it is realy this decoder it should be doable.


RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - CK1one - 2012-09-26

So lets try to get a odroidx for gimli Laugh

(2012-09-26, 07:44)gimli Wrote:
(2012-09-26, 04:06)lundman Wrote: gimli

Digging deeper into the DROID-X board, it appears the kernel sources are available:

https://github.com/hardkernel/linux

and where I need to fiddle to add bitstreaming audio on HDMI is *probably* around here:

https://github.com/hardkernel/linux/tree/odroidx-next/drivers/media/video

The 3D is MALI as per A10, so I guess you already know the issues there, the video processing using appears to be a Samsung MFC, to which the sources appears to be here:

https://bitbucket.org/gokhanmoral/siyahkernel/src/7123ed434dc8/drivers/media/video/samsung/mfc5x/

How does that look for possible hardware for XBMC?

https://www.codeaurora.org/git/projects/ag-gb-dsds-7227/repository/revisions/4bdd17c47ffda215c1531ad948e4de71777527cc/annotate/device/samsung/crespo/sec_mm/sec_omx/sec_codecs/video/mfc_c110/dec/src/SsbSipMfcDecAPI.c

If it is realy this decoder it should be doable.




RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - Shivansps - 2012-09-26

(2012-09-26, 02:40)Shivansps Wrote: Well empatzero build is a proof of concept only,(i think this is the lib that gimli rejected) i give it a go and well... it performs much better killing x11, but UI fps at 720P is around 40fps and 18-20fps at 1080P, considering the low idle cpu usage that has be running on hardware, im not sure if that what we have to expect from an Mali-400 single core.
Still, the UI feels good anyway.

On playback... well, i was unable to playback anything on Cedar, the cedar lib for linux does not support most of the formats and codecs, for example, it supports .avi h.264, but not .mkv h.264, i think .avi h.264 is the only thing it supports right now.
BUT, i was unable to playback .avi h.264 too, everytime that i try to open a file that Cedar accepts XBMC crash with a "Decoder(number):5", thats what says in the log too, everytime that xbmc opens "A10", it crash, it can only playback the ones that "A10" fails, so it switch back to software decoder.
Im not sure if it was supposed to work or i did something wrong...

And about software decoder, it performs very well, it can playback all my 720P episodes, to give you an idea, the "Big Buck Bunny" 720P trailer file playbacks with about 80% cpu usage, i now those are low bitrate, but still very good to be running on software.

What is making it unusable 720 right now is the screen tearing i have no idea how to fix, when i start to playback something the screen "vibrates" up and down...
OK i quote myselft to correct... i was wrong, i double check my mkv files and some are in mpeg-4 not h.264, wrong label, sorry.
Big Buck Bunny, both 720 and 1080P are running in Cedar Decoder, not software, 1080P lags because of low FPS from mali GPU.

The problem here is called MALI-400, Cedar lib apears to be OK, aside from the fact that it does not support some codecs that his Android version do...
At 1080P Mali-400 is just not fast enoght(-20fps), causing problems, video go too slow (Big buck Bunny lags in 1080P, and is using cedar). Something is really wrong with Mali-400 in the A10... or if is really this slow it will be a BIG problem...
Like im playing the video, i try to go to the UI, is slow as hell both the video and UI, i go to see system info and the CPU usage is below 30% but the thing is running at 9fps... It works much better in 720P. Its obiusly a GPU performance problem.

The XBMC crash for me at start of some videos for no reason, im cheking and those videos are all using MP3 audio codec, after that decided to test with mp3 music and it crash too, so the problem is around MP3 decoder in xbmc.

Image
Image
Image

BTW on the last screen, check "Sumary" and "Free Memory" thats whats happens when i playback something, sections of the screen jump up and down, and it gets worse depending on the video. No idea of what the problem is, i asume its Mali related too because sections of the UI moves up and down too whiout playing anything.


RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - cristatus - 2012-09-26

I am new to this forum so not sure about the development status of XBMC on mk802 but here I am to share my experience about the empatzero's build. I have successfully cross compiled it with few adjustments to the rootfs and depends.mk file and built xbmca10.deb once the build is complete. Installed on a lubuntu from miniand and I was surprised with the result.

Let me say, even though empatzero claims it 0.0.1 (alpha), I admit it's quite usable. The XBMC UI is responsive and showing around 43-45 fps at 720p mode. Regarding the video playback, initially it crashed with a 1080p movie (h264 mkv). Then I tried couple of 720p and they played flawlessly so I assume it's using CedarX (Shivansps, how can I make sure it's not SW decoding). Then I again tried 1080p video, it crashed. I was so excited of the result that I gave it another try and surprisingly this time it played 1080p too without any major issue (some flickering initially).

This is really a great news. Looking forward for some official words from xbmc team...


RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - lundman - 2012-09-26

Gimli

No direct answer, but they didn't say it wasn't it Smile

odroid Wrote:As you know well, the MFC includes a small ARM core and it need a firmware for video codec processing. The firmware is not an open source but the APIs are well opened.
Android multimedia framework is also calling the MFC device driver APIs.

So you can refer our Android BSP source code to start your project.
But it may take very long time to port it to XBMC. I think so.

So it sounds like that is all possible.


RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - rellla - 2012-09-26

I follow this thread for a while, also arm-netbook irc and ml. Great to hear that something's going on. I'm new to crosscompiling but I already managed to compile the parts (uboot, kernel etc.) and create a bootable sd-card with an debian rootfs for my mele. To go on with compiling an testing the xbmc, mali and x11 stuff I'd be glad to get some hints, where to find some help about a right set-up for a cross-compile-environment and howto do the thing itself. I'd prefer to get a sid-armhf as target-system, crosscompiled in a sid-amd64 virtual machine. Although using and playing with linux for years, I'm still a bit confused and unsure about mixing compilers, debian and ubuntu binarys etc. on different systems (Of course I know, thats not the best idea to use armel-bins on i386 ;-).
So I'd be glad to get some hints where to find further information. Perhaps it would be also practicable do a short entry in the wiki....
Thanks and sorry for hijacking the thread....

rella


RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - Shivansps - 2012-09-26

(2012-09-26, 11:42)cristatus Wrote: I am new to this forum so not sure about the development status of XBMC on mk802 but here I am to share my experience about the empatzero's build. I have successfully cross compiled it with few adjustments to the rootfs and depends.mk file and built xbmca10.deb once the build is complete. Installed on a lubuntu from miniand and I was surprised with the result.

Let me say, even though empatzero claims it 0.0.1 (alpha), I admit it's quite usable. The XBMC UI is responsive and showing around 43-45 fps at 720p mode. Regarding the video playback, initially it crashed with a 1080p movie (h264 mkv). Then I tried couple of 720p and they played flawlessly so I assume it's using CedarX (Shivansps, how can I make sure it's not SW decoding). Then I again tried 1080p video, it crashed. I was so excited of the result that I gave it another try and surprisingly this time it played 1080p too without any major issue (some flickering initially).

This is really a great news. Looking forward for some official words from xbmc team...

The crash issue is because of libmad on dev enviroment, those videos are probably using MP3 audio.

As for SW or HW rendering, play a video and then open /home/(user)/.xbmc/temp/xbmc.log, search for "A10", and see if its failling or opening... But right now it only supports H264 and MPEG2, but its not a cedar problem.


RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - cristatus - 2012-09-26

(2012-09-26, 15:00)Shivansps Wrote: The crash issue is because of libmad on dev enviroment, those videos are probably using MP3 audio.

As for SW or HW rendering, play a video and then open /home/(user)/.xbmc/temp/xbmc.log, search for "A10", and see if its failling or opening... But right now it only supports H264 and MPEG2, but its not a cedar problem.

I have tested again with debug option enabled. All the three small HD movies I played previously worked till the end. The debugging info shows FPS between 16-25fps and 35-50% cpu usages (during video playback). It's same for both 1080p as well as 720p movies.

The log file does mention Cedar usages, here is a portion of the log file:

Code:
21:39:03 T:1230066752  NOTICE: Opening video stream: 0 source: 256
21:39:03 T:1230066752  NOTICE: Creating video codec with codec id: 28
21:39:03 T:1230066752   DEBUG: CDVDFactoryCodec: compiled in hardware support: CrystalHD:no OpenMax:no VDPAU:no VAAPI:no
21:39:03 T:1230066752   DEBUG: FactoryCodec - Video: A10 - Opening
21:39:03 T:1230066752   DEBUG: A10: cedar open.
21:39:03 T:1230066752   DEBUG: FactoryCodec - Video: A10 - Opened
21:39:03 T:1230066752  NOTICE: Creating video thread
21:39:03 T:1221678144  NOTICE: Thread CDVDPlayerVideo start, auto delete: false



RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - Shivansps - 2012-09-26

Well dvdplayer is rendering on Mali, thats why is slow, and if you have a 720P resoution there should be no diferences in a 1080P or 720P movie.

Im still wondering about the "jumping"... ill have to use 720P hdmi resolution and try...


RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - gimli - 2012-09-26

(2012-09-26, 16:54)Shivansps Wrote: Well dvdplayer is rendering on Mali, thats why is slow, and if you have a 720P resoution there should be no diferences in a 1080P or 720P movie.

Good that i choosed i different route for my implementation Tongue


RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - Shivansps - 2012-09-26

Well we cant expect a Mali-400 single core to have enoght power to render a 30fps 1080P movie Tongue (it can barely render the UI at a not so decent fps). Im not even sure that the Broadcom GPU on the Raspi will be able to do so...


RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - gimli - 2012-09-26

(2012-09-26, 17:08)Shivansps Wrote: Well we cant expect a Mali-400 single core to have enoght power to render a 30fps 1080P movie Tongue (it can barely render the UI at a not so decent fps). Im not even sure that the Broadcom GPU on the Raspi will be able to do so...

Thats what you think.


RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - jompan87 - 2012-09-26

(2012-09-26, 17:08)Shivansps Wrote: Well we cant expect a Mali-400 single core to have enoght power to render a 30fps 1080P movie Tongue (it can barely render the UI at a not so decent fps). Im not even sure that the Broadcom GPU on the Raspi will be able to do so...

Its still not the GPU (Mail 400) thats doing the rendering, its the VPU; http://linux-sunxi.org/CedarX (which is able to decode 2160p, thats quadHD). Second, I suggest you read what the Mali 400 is capable of; http://www.arm.com/products/multimedia/mali-graphics-hardware/mali-400-mp.php


RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - davilla - 2012-09-26

rendering GUI is not the same as rendering a yuv video. please don't confuse the two.


RE: Allwinner A10 : Is XBMC ported to MALI-400MP ? - jompan87 - 2012-09-26

Ofc not, should had made that clear