[TESTING][S905(X)] 10bit/HDR/Dithering Test Builds & Discussion

  • can a s905x handle x264 4k/60fps video? i've tried all the big buck bunny 2D files. it can play them properly except for the 2 videos below. so i think it must be a hw limitation


    bbb_sunflower_2160p_60fps_normal.mp4

    bbb_sunflower_native_60fps_normal.mp4

    It can, it was fixed in a 7.x kszaq build a while ago, but recent kernel/kodi updates might have changed that. But yes, plain s905 is better at h264 than s905x.

  • Remember that playback in Kodi Krypton is done in a much different way and is also quite heavier for the CPU. That can explain not being able to play some samples in Krypton.

  • i also tested actually on LE7-j build and it's the same issue. so it looks like S905x can't really handle x264 4k/60fps videos. no issues on the 30fps. unfortunately i dont have a s905 box to test.

  • Thank you kszaq. Again, none of this would be possible without the work you've done. Hopefully soon we'll have made enough progress this work can be merged back into your branches.


    afl1 thank you for the device tree. I've updated the OP with it.


    Regarding 60fps h264 playback, I'm first focusing on video that doesn't have frame skips on the MM kernel. The 60fps big buck video is also h264 L5.2, which was never supposed to be supported (only up to 5.1). As a side note, I have a high bitrate 60fps/h265/10bit/bt2020 movie that plays back in a watchable state (still frame skips, but not near as bad as just h264 4k).

    This sounds different than the output issue some users were facing on 4k output alone. The null fix of kszaq's for mode switching may help (but probably not)


    Do you have this issue if you set the GUI to another resolution such as 720 or 1080? 1080 for the GUI is recommended since LE supports resolution switching and has poor upscaling.



    Edit: I introduced artifacts with those buffer changes on the last test build (not in OP). Still working on those.

    Edited 4 times, last by johngalt ().

  • Uploaded a new build, and updated the download link in OP to point to github releases (no longer using an ad-ridden upload site). All changelogs between releases will also be posted there. If more users who had 4k output issues on nougat report this is working well for them, I think we could be close to making these "standard" builds :)


    Changes:

    • kernel: Partially revert experimental buffer changes to reduce artifacts and improve frame skip situation.
    • kernel: Revert a cache change for "less memory" devices that negatively affected frame skips on my 1G ram box -- LE is light enough.
    • kernel: Fix 4k h264 video (needs more testing).
    • kernel: Fix 4k video output compatibility issue introduced in the franken-nougat kernel -- needs more testing by users with 4k output issues on nougat.
    • kodi: bump to 21c2dba (kszaq)
    • projects/S905: use "null" display mode only when needed (kszaq)
    • SMBFile: Remove year old workaround (kszaq)

    From samba share I can't find /storage/.config folder

    The "Configfiles" samba share maps to /storage/.config. Add the echo command in OP to an "autostart.sh" file in that folder.

    Edited 2 times, last by johngalt ().

  • Uploaded a new build, and updated the download link in OP to point to github releases (no longer using an ad-ridden upload site). All changelogs between releases will also be posted there. If more users who had 4k output issues on nougat report this is working well for them, I think we could be close to making these "standard" builds :)


    Changes:

    • kernel: Partially revert experimental buffer changes to reduce artifacts and improve frame skip situation.
    • kernel: Revert a cache change for "less memory" devices that negatively affected frame skips on my 1G ram box -- LE is light enough.
    • kernel: Fix 4k h264 video (needs more testing).
    • kernel: Fix 4k video output compatibility issue introduced in the franken-nougat kernel -- needs more testing by users with 4k output issues on nougat.
    • kodi: bump to 21c2dba (kszaq)
    • projects/S905: use "null" display mode only when needed (kszaq)
    • SMBFile: Remove year old workaround (kszaq)

    The "Configfiles" samba share maps to /storage/.config. Add the echo command in OP to an "autostart.sh" file in that folder.

    Thanks johngalt, back on krypton thanks to you the latest test build seems to be working very well all round on my s905x 1gb ram 8gig rom for micro sd card.

    Nexbox A95X 1GB Ram 8GB Rom Amlogic S905X
    JVC 55" 4k UHD 3D Smart TV
    JVC 40" 3D Blu-ray Sound bar

  • I can report that the frame skips seem to be gone.

    I was previously on the 20170603182409 Frankenstein build and had a perfectly smooth gradient in my hdr_banding.mkv file. With the full Nougat build, the banding returned. There appears to be no difference between 8bit and 10 bit in attr.

  • I can report that the frame skips seem to be gone.

    I was previously on the 20170603182409 Frankenstein build and had a perfectly smooth gradient in my hdr_banding.mkv file. With the full Nougat build, the banding returned. There appears to be no difference between 8bit and 10 bit in attr.

    Since I got a video of the same name from a post on this forum I've been using for testing, is that a smurfs intro? Could you upload the dmesg of playback with and without attr set to 10bit? I unfortunately can't recreate in 8bit with dithering, or 10bit without dithering.


    Edit: there might still be issues if there's any playback before it's set.

  • Since I got a video of the same name from a post on this forum I've been using for testing, is that a smurfs intro? Could you upload the dmesg of playback with and without attr set to 10bit? I unfortunately can't recreate in 8bit with dithering, or 10bit without dithering.


    Edit: there might still be issues if there's any playback before it's set.

    That's right, I created that file. :)


    10bit attr:

    Code
    hdmitx: set clk: VIC = 93  cd = 5  frac_rate = 1

    8bit attr:

    Code
    hdmitx: set clk: VIC = 93  cd = 4  frac_rate = 1

    Output is 10bit and 8bit respectively (confirmed by AVR), but both appear identical.

    I write to the attr node in autostart.sh. The GUI output after boot is 10bit.


    Edit: complete kernel log snippet

    mN4mSwbW

  • I believe you, but really can't recreate. Is the banding as extreme as your previous image from krypton (OZsfOvG.jpg)? Additionally on the 8bit output, you should see a bit of a "jitter" around where the banding would occur.

  • I believe you, but really can't recreate. Is the banding as extreme as your previous image from krypton (OZsfOvG.jpg)? Additionally on the 8bit output, you should see a bit of a "jitter" around where the banding would occur.

    It appears less severe, but I'm largely going from memory here. I'll do some more testing, when I have time.

    Maybe someone else can chime in.


    Edit: The gradation is definitely less bad than on the old kszaq builds.

  • It appears less severe, but I'm largely going from memory here. I'll do some more testing, when I have time.

    Maybe someone else can chime in.


    Edit: The gradation is definitely less bad than on the old kszaq builds.

    After a bit more testing, I think you're comparing to a build that still had dithering enabled for 10bit output.

    I tried it, with 8 bit is all ok, with 10 bit I have no 4k video out

    Need more info such as tv and possibly avr, as well as a log (dmesg). If you have a spare hdmi cable laying around, it would be helpful if you could try that as well.

    Edited 2 times, last by johngalt ().

  • After a bit more testing, I think you're comparing to a build that still had dithering enabled for 10bit output.

    That's probably it. My TV's internal player does not exhibit banding though. Is dithering supposed to be turned on?


    I'll just post the clip again.
    hdr_banding.mkv

    To all the people with an HDR capable set:

    Play this file and please report back whether or not you can see banding artifacts within the white gradient.

  • That's probably it. My TV's internal player does not exhibit banding though. Is dithering supposed to be turned on?


    I'll just post the clip again.
    hdr_banding.mkv

    To all the people with an HDR capable set:

    Play this file and please report back whether or not you can see banding artifacts within the white gradient.

    The answer to your question is: Not!;)

    -2re


    8.90 ⇒ MeCool KI Pro ⇒ Onkyo TX-NR656 ⇒ SAMSUNG 65"LED/UHD/PQ1300/T2CS

    LG BP50NB40 USB Blu-ray


  • That's probably it. My TV's internal player does not exhibit banding though. Is dithering supposed to be turned on?


    I'll just post the clip again.
    hdr_banding.mkv

    To all the people with an HDR capable set:

    Play this file and please report back whether or not you can see banding artifacts within the white gradient.

    I don't see banding, but I do see some form of slim vertical stripes which I think are dithering artefacts. I had to walk up to the TV to see those, though :)