NUC10 + LE13 + HEVC

  • Maybe this was discussed already here, but I cannot find anything specific. Perhaps my adventures will help someone.

    In theory NUC10 should be fine with HEVC (hardware decoding is available in 10th gen.). But not in my case, the HEVC movie was just generating sound and video screen was not refreshing. I could see multiple entries in the log file, like: ffmpeg[0x1c3b8a30]: [hevc] hardware accelerator failed to decode picture.

    So it helped to disable hardware acceleration in the Player settings. Apparently hardware driver was not as good as the software driver. Attaching also screenshot for the reference.

  • The error is reported by FFMpeg though since it's in codec code (and switching to software decode works around it) the problem could equally be in the underlying Intel drivers. If you are into self-building images and experimenting there are pull-requests for kernel bumps to Linux 6.9.5 and 6.10-rc3/4 open on our GitHub repo. Bumping FFMpeg to something newer is harder as Kodi has hard API dependencies; v7.x won't be possible but a later 6.x release might work. `At some point we'll move LE13 to Kodi 'P' which will bring a bump to FFMpeg v7.x too, but until then there's not much to do I think. I would be very surprised if it had anything to do with BIOS as that's low-level and codec things are some way above.

    NB: The whitelist suggestions here would help your overall config https://wiki.libreelec.tv/configuration/4k-hdr but will make no difference to the reported problem.

  • Thanks for the pointers. I compiled PR for 6.10-rc3 but the latest kernel didn't change anything.

    In case you want to look int the log file, first part shows software codec (it works), second part shows hardware support enabled (it breaks).

  • Hi chewitt, I checked that all these HEVC samples work well with and without hardware acceleration, so it seems that there is something specific with my tested HEVC stream.

    I could provide like 10 sec sample of that failing HEVC stream for further investigations, but since simple hacks with playercorefactory/ffmpeg are not working with the new Kodi and this is prioprietary Disney contents I suppose I would need some guidance (PM?) how to proceed with this.

  • smp logged the same issue here: https://github.com/xbmc/xbmc/issues/23699

    The log in this thread also shows the same issue (no insights in the threads, only whinging):

    Does bumping ffmpeg to 6.1.1 help? .. I'm expecting 'no' but it would be good to eliminate the idea.

    Can you also enable ffmpeg component logging in Kodi settings and then regenerate a 'bad' log. I'm wondering if ffmpeg will show more internal info.

  • I'm using that setup: <setting id="debug.setextraloglevel">128,2048,32768,262144</setting> so ffmpeg is covered. I didn't try with ffmpeg 6.1.1 though.

    I tried that sample file attached to 23699 and it works fine for both software codec and hardware acceleration, see the log. As expected, with vaapi enabled it plays very smoothly, while it slightly stutters with software codec.

    So I suppose it is something else im my stream which causes these issues.

  • Ok, so to complete this journey here is the log with Linux version 6.10.0-rc3 and FFmpeg version 6.1.1, the stream is not playable when hardware acceleration is enabled.

    Let me know if you think I can contribute with anything else.

  • Some more forensic analysis :D

    Here are the stream properties:

    Suprisingly it plays well from the file, even with enabled vaapi, and the same content fails with vaapi when it is streamed. See attached 2 screenshots from playing file and playing the stream.

    So perhaps the problem is not really in ffmpeg or drivers/kernel, but somewhere between InputStream Adaptive / Disney+ Addon / FFMpeg?

    EDIT: I forgot to add log file.