(2014-09-29, 07:54)Willem55 Wrote: so if I understand it correctly the HEVC HW decoding is achieved by changes to the mediacodec code... assumingly with the usage of the RK3288 SDK from Rockchip, but mediacodec is Android OS level and not the xbmc.apk so where does the whole xbmc fork come into play?
Sorry but your assumptions are wrong here, they have made code changes to XBMC/Kodi and then not shared their code changes, that is a fact and can not be disputed, as otherwise HEVC hardware decoding in XBMC/Kodi simply will not work today.
Support for HEVC in XBMC/Kodi will not happen by magic no matter what the box manufacturer/vendor do to the multiple underlying layers that XBMC/Kodi depends on. Code changes to XBMC/Kodi are still required for adding MediaCodec and Libstagefright support for HEVC, as I tried to explained here
http://forum.xbmc.org/showthread.php?tid=204331
That is, changes are needed at many different levels to get it working initially, not only at one single level, but at firmware, codecs, middleware, and finally application (XBMC/Kodi) level. And then further workarounds, optimization and other improvements changes will be needed at all levels are needed to get it to work better over time.
Still the XBMC/Kodi level changes should really only be discussed in the existing thread dedicated to MediaCodec and Libstagefright on Android.
All you need to know right now is that
https://github.com/xbmc/xbmc/pull/5374 is merged then users can begin using it XBMC/Kodi, read
(2014-09-17, 11:40)jjd-uk Wrote: There's already a PR pending to add H.265 support to both the Libstagefright and MediaCodec API's, see https://github.com/xbmc/xbmc/pull/5374, so RK3288 should be fully supported once that's in.
It is of course much more complicated than that, as that will only give XBMC/Kodi initial generic support for hardware video decoding of HEVC using MediaCodec and Libstagefright, and that initial generic support is guaranteed to be buggy.
Again, once that initial generic support is merged into XBMC/Kodi then it can be further debugged and optimized as specific issues appears on different platforms with different media containers and video encodings.