[Odroid-C2] 4K MKV Playback

  • I found some 4K Matroska video films that cannot be played in 12.2.0 and 13.0, but yes in 9.0 ¿? After a pair of minutes playing, they start to pixelate the image, pause and finally stop with the screen in green colour. Even sometimes Kodi reboots.

    I use the same hardware and settings during the tests (an Odroid-C2).

    Any idea?

  • Any idea?

    LE 9.0 uses the legacy vendor kernel and amcodec in Kodi. LE 10.0 onwards uses the upstream kernel which reimplements hardware decoding (but the implementation is incomplete) and Kodi dropped support for amcodec in 2017 as part of an intentional purge of prioprietary codecs and refocus on standards.

    TL/DR: the codebases are completely different and while most media plays reasonably well on a C2 it is not pefect and will not work with all media for all users. The upstream codebase is mature and stable for practically everything except media capabilities, where work stalled years ago and has never resumed. You may find that some media is badly encoded and re-ripping from the original sources or re-encoding makes things more playable.

    NB: mkv is a container not a format so it's hard to comment further without knowing what the actual format was (although HEVC is the most likely answer).

  • Many thanks for your comprehensive explanation, it's clear for me now. After spending lots of hours checking different LE versions, I realized that the only one that works for me is the 9.0 that I already have installed in the past.

    I know it's because I use old hardware (Odroid-C2) but as I only use Kodi for films and series is enough for me. I installed the The Movie Database Phyton add-on and in this way I can continue download films information.

    And yes, you're right, after checking with MediaInfo I have seen that all the "problematic" films are HEVC.

  • chewitt , you are 100% right, I guess you are talking about the vh264_4k2k.c in the vendor kernel, impressive amount of engineering in it. On the other hand does the cap in the current kernel actually helps in anyway? It seems the variables are only used to crop the output. But based on the content of vh264_4k2k.c one needs a different firmware to even decode the stream, so I assume 4K video will fail the same way with or without this constraint. On the other hand when the input is something the standard h264 code can handle, like 1080x1920, the cropping just output a little more than the upper half of the video, which hurts user experience.

  • I can only pseudo-read the current driver code and I'm not aware of what the underlying 4K on GXBB issue was so I can't comment on what the current dimensions cap achieves or avoids. As the current driver is in an 'abandoned' development state I'll also avoid making changes in the LE sources, although changing the max resolution to 1920 x 1920 to support portrait 1080p media is probably okay as the memory usage will remain the same. I'd say "report back if you encounter any weird stuff" but as the drivers are not in a finished state there's plenty of known weird stuff to find :)

  • Wow... it's hard for me to understand the technicalities of your posts... :cry:

    To simplify: What's the maximum resolution my ODROID-C2 (GXBB S905, I think) can play with the original Amlogic driver and LE 9.0? My TV is a Sony Bravia 4K.