Hello there!
I'm trying to port Ducati decoding acceleration to custom board (OMAP4430 tablet - Nook Tablet) from this release: http://www.omappedia.com/wiki/4AI.1.6_OMAP4_Icecream_Sandwich_Release_Notes into CyanogenMod9 (ICS)
However, I'm not sure which kernel and platform parts are required to get full decoding path between android GUI and M3 subsystem (More in questions on the bottom of post).
I've synced my kernel side remoteproc and ion drivers so it match 4AI1.6 release. I've also pulled proper hardware/ti/omap4xxx and hardware/ti/domx into my platform sources. Ducati does bootup and OMX library seems to be communicating with it, though:
a) There's "HW decoding" exposed to media players, but during playing movie it fails immediately (logs 1.3).
b) When I'm trying "omx_tests OMX.TI.DUCATI1.VIDEO.DECODER <any of its roles>" It usually pass with no errors (getting SIGSEGV of OMX sometimes or ducati crash, but it's like once per ~50, so I think it's not connected issue to c) - I don't care much for now)
c) When I'm trying to play YouTube HD movie it always ends up in SIGSEGV of OMX codecs. (logs 1.3)
Logs&pasties (note - several remoteproc modules had been built with #define DEBUG, so logs are bit more verbose):
1.1 (I see no errors here) Kernel dmesg on bootup
1.2 (errors) HD movie in YouTube opening in dmesg and logcat
1.3 (errors) 1080p movie playing try in MXPlayer seen in dmesg and logcat
1.4 Our BoardConfig.mk
1.5 (I see no errors here) Ducati bootup trace0 and trace1
1.6 (errors) 1080p movie playing (same case as 1.3) Ducati trace1(it leaves no trace0)
1.6.1 verbose logcat (TIMM_OSAL_DEBUG_TRACE_LEVEL=6)
1.7 (I see no errors here, this one seems to be fully working) "omx_tests OMX.TI.DUCATI1.VIDEO.DECODER video_decoder.mpeg4" kernel dmesg, Android logcat and Ducati trace1
1.7.1 verbose logcat (TIMM_OSAL_DEBUG_TRACE_LEVEL=6)
Questions
1) What platform parts are responsible (and, in result, required to be synced with 4AI1.6 release) for ducati decoding? Are platform OMAP_ENHANCEMENTS required for that? (ANSWERED)
2) Is there any reference for above? I've read "Ducati for dummies" and "Debugging RPMsg" on omappedia but it's not most helpful thing when I can't build Ducati by myself. (ANSWERED)
3) What is ENHANCED_DOMX (hardware/ti/domx) and how does it differ to hardware/ti/omap4xxx/domx? (ANSWERED)
4) Is Ducati Codec Pack sourcecode (AFAIK the only missing part for building Ducati by anyone) going to be released for public? (ANSWERED)
5) How does builds of ducati for Blaze and ducati for Blaze Tablet differ and which one should I use? I'm trying with Blaze Tablet one. (ANSWERED)
6) Is this normal during operation of ducati (start of some decoding)?: (ANSWERED by someone else, it's normal)
omap_hwmod: iva_seq0: failed to hardreset
omap_hwmod: iva_seq1: failed to hardreset
Thanks in advance for any helpful tip. Please tell me if you want any more info/logs and I apologize if I missed some obvious reference manuals during research.
I'll also try to add any more questions I comes in this thread
Post changelog:
18 Jul 20:21 GMT0 - added logs 1.5 and 1.6, formatted post
18 Jul 21:22 GMT0 - added logs 1.7, better links formatting
19 Jul 20:12 GMT0 - added logs 1.6.1 and 1.7.1