Posts by popcornmix

    Long ago, when the firmware offloaded much of the mediaplayer, 3D videos worked well on Pi.

    I'd always had a desire to add add it back into the new, arm-side architecture (I do still own a 3D capable TV), but it's hard and low priority.

    However Claude does make tasks like this much quicker, and I think I've got something testable.

    What works:

    • Support of 3D infoframe signalling of supported hdmi modes.
    • Support of 1080p24 FP (frame packing timing)
    • Video decode of half and full SBS/TAB files with mapping of the left/right eye to correct SBS/TAB/FP mode of display.
    • DRM Prime D2P and EGL modes
    • The GUI/subs etc works in 3d modes.
    • MVC decode
    • Bluray ISO playback


    Recommended settings:

    • Player/Videos
      • Defaults are fine (DRM PRIME/Direct to Plane gives best performance, but EGL rendering should also work).
      • "Playback mode of stereoscopic 3D video" is "ask me" by default (which is fine) but you may want to set it to "preferred"
      • You do want "Adjust display refresh rate" to be "On Start/Stop".
    • System/Display
      • "Stereoscopic 3D mode / Current" leave as "Disabled"
      • "- Preferred mode" defaults to "Same as movie" which is fine(*)


    (*) FP mode supports the full 1920x1080 resolution (SBS and TAB half the resolution).

    If your movies are half-SBS or half-TAB, then "same as movie is fine".

    If they are full-SBS or full-TAB then you ideally want FP mode.

    If you set "preferred mode" to "over/under" and your display supports FP, then that should be selected by default.


    The whitelist now shows the 3d variants of hdmi modes and can be used for greater control of which 3d modes are used, but a blank whitelist should also work.

    Pi4 Build : here

    Pi5 Build: here

    Kodi tree: here


    Older builds:
    Pi4 Build : here

    Pi5 Build : here

    A few questions:

    Is the non-smooth video blatant or subtle? Is it a frame drop every few seconds or multiple per second?

    Do the stats (ctrl-shift-o) show increasing skip: and drop: counts (note: a few skips when overlay appears is normal, but it should then no longer increment. Also this doesn't seem to catch all forms of skipped frames).

    If you disable "Adjust display HDR mode" in settings/player/video does it make the video smooth (at the cost of incorrect colour)?

    Does your display switch to a 4kp24 mode when playing 4kp24 video?

    Can you confirm the have the following settings:

    system/display "Set GUI resolution limit": 1080

    player/videos "Adjust display refresh rate" : "On start/stop"

    player/videos "Sync playback to display" : "Off"

    player/videos "Allow using DRM PRIME decoder" : "On"

    player/videos "Allow hardware acceleration with DRM PRIME" : "On"

    player/videos "PRIME Render Method" : "Direct to Plane"

    May I ask if there is a possibility that our 8GB memory Raspi 4 will not be able to handle this new code?

    Worst case, it should be possible to add a switch to choose the previous behaviour (no sdr->hdr tonemapping), so you will be no worse off than before.


    But currently we're not sure of the cause. If it occurs without sub or other OSD, then it may be something else entirely.

    And it seems not everyone is seeing an issue, so we need to work out what's different in your case.

    Just curious, here the last nightly to play back smooth video is LibreELEC-RPi4.aarch64-13.0-nightly-20260511-f6935c9 which

    That is the last build before the reardonia patches were added to LE.

    Those patches are a fairly significant rework of rendering (especially HDR).

    The overlay (including subs) now goes through a SDR->HDR tonemapping path which is more expensive (although should produce better colours), although I'd expect that to only affect video when overlay is active (but maybe it's not disabled when not needed).

    Do you have an issue with 4kp24 or 4kp60 videos?

    Can you post a debug log when playing a file with the issue? May conform exactly which settings you are using.

    Also output of "kmsprint" when playing a video (with and without overlay active).

    I've performed research with Claude AI on github Kodi repo about upsampling Filters on VideoCore VI (BCM2711) on the Rasbperry Pi 4B and it says by default bilinear resizing is used (Average 2×2 chroma), and bicubic is an option (4×4 filter kernel).
    If this is so with Librelec, I would like to suggest an option to choose from bilinear and bicubic on the GUI, and that would also help with chroma upsampling from 4:2:0 to the output format. I hope this is relevant to DRM Prime/V4L2 M2M

    Don't believe everything AI tells you. The Pi family use a Mitchell Netravali filter for upscaling, which is pretty high quality.

    I have fuzzy recall RPi5 uses 10-bit internally padded to 12-bit for output in some circumstances as the SoC doesn't natively support the required 10-bit output. There is some upstream work being done to improve output from Kodi which might indirectly influence things, but the direct and short answer to the question above is "No"

    I think you are thinking of the yuv422 4kp60 hdmi output.

    It's the hdmi spec that doesn't support 10-bit explicitly - it just uses the 12-bit timings with two padding bits.

    Even if it did, it would look identical (there's no logical reason why sending 10-bits would look different than sending 10-valid-bits in a 12-bit word).

    The working edid is the typical two 128-byte blocks.

    The not-working edid is four 128-byte blocks which is unusual.

    Not sure if something changed in the 6.6 to 6.12 kernel bump that means the extra edid blocks are reported, and whether their presence causes any issue for display-info library.

    Looks like the first two blocks are the same. The additional blocks decode to:
    ```

    While trying to get HDR working, leave second hdmi disconnected to avoid complicating things.

    Can you post your edid? One way is to run:

    Code
    cat /sys/devices/platform/axi/axi:gpu/drm/card?/card?-HDMI-A-1/edid | hexdump -v -e '/1 "%02x"'

    and copy/paste the output.

    Not sure if this is related, but this is surprising:

    Code
    Connector 0 (33) HDMI-A-1 (connected)
      Encoder 0 (32) TMDS
        Crtc 3 (100) [email protected] 594.000 3840/176/88/296/+ 2160/8/10/72/+ 60 (60.00) P|D 
          Plane 6 (125) fb-id: 726 (crtcs: 1 2 3 4 5) 0,0 1920x1080 -> 0,0 3840x2160 (XR24 AR24 AB24 XB24 RG16 BG16 AR15 XR15 RG24 BG24 YU16 YV16 YU24 YV24 YU12 YV12 NV12 NV21 NV16 NV61 P030 XR30 AR30 AB30 XB30 RGB8 BGR8 XR12 AR12 XB12 AB12 BX12 BA12 RX12 RA12)
            FB 726 1920x1080 XR24
    Connector 1 (42) HDMI-A-2 (connected)
      Encoder 1 (41) TMDS
        Crtc 4 (112) [email protected] 297.000 4096/1020/88/296/+ 2160/8/10/72/+ 24 (24.00) D 256:135

    Do you have a second hdmi display connected?