Posts by CroqueMr

    To recap recommended settings, do these look right for lower-end Intel (N97/N100/N150) and AMD (5800H, 3500U or similar). If so, I'll add them to post #1.

    SettingRecommended
    Hardware acceleration — VAAPION
    DRM PRIME decoderOFF
    DRM PRIME hardware accelerationOFF
    PRIME Render MethodNot used
    Render pathEGL / VAAPI
    Direct-to-Plane / D2POFF
    Asynchronous Frame PreparationON
    Dolby Vision Fast RenderingON (Try OFF for lower-end Intel, but if any skipped or dropped frames, revert to ON)
    OFF (for lower-end AMD)

    Most of these settings don't impact DV playback. Only Asynchronous frame preparation and DV fast rendering actively affect it, the rest only apply to the standard Kodi pipeline. I’m going to avoid including a lot of complex settings as much as possible, after all, a developer's goal is to hide the technical details. I’ll keep the "quick rendering" option, and possibly include other optimizations that might theoretically affect image quality behind this settings. I think asynchronous image preparation will be removed from the stable version and either forced to "Enabled" or made available in the Expert settings.

    I actually have fast rendering enabled already, as you can see in the screenshot. I'm still getting around 7 dropped frames with Gemini Man at 4K 60fps, but it's definitely much better than before. Thanks again for all your work.

    Very strange on my N100 I do not have any framedrop with a BR Iso of Gemini man, and the N100 is far weaker than your CPU. I will check with your log.

    Beta4 won't focus on performance improvements. The priority will be fixing DV Enhanced and the DV ↔ HDR conversion pipelines and other small stuff (3D, FEL not working on some AMD GPU...)

    I have a busy week ahead, and I'd rather take the time to properly refine and test the conversion and enhancement algorithms than rush the release. My priority is to deliver something reliable and stable.

    I'm aiming for a release on Sunday or next week.

    Thanks I will investigate on that, if you want to remove all framedrop in 60fps you need to activate the quick dolby vision rendering, it impact a little bit color detail it is almost invisble but since it affects a little bit the picture this settings is optional and disable by default, in beta4 I will add an option to activate this settings only when you play a 50fps+ DV track.

    For your other points I will try to cover all of them for beta4.

    Thank you, I will check if we can have a better approch for this kind of CPU can you send me the kodi.log file please.


    I see exactly why it does that the cause is an optimization I made in the R0.3 build, I will fix that.

    So you see this as being forever a custom build or you're simply cautious about the time it will need to be fully included in LE "proper"?

    I think that if Dolby Vision ever makes it into LibreELEC officially, it will probably be through an approach closer to my initial implementation, before R1.0.0 Beta1, with minimal changes to FFmpeg and other upstream dependencies. I believe such an implementation is possible, but it will take time. It might also be useful to maintain a much simpler build with just the bare minimum needed for DV support. Performance won't be as good, but it will help with the implementation.

    Thanks for integrating the 3D work! As a small thank-you, I tested Beta3 on my NUC (Radeon RX 7600, HDMI straight to a JVC NZ9), with our round 38 build on the same box for comparison:

    • Blu-ray 3D ISO (MVC) with authored subtitle depth: works like on our build. 1080p24 frame packing (the JVC reports 1080p 3D, 1920x2205, 12-bit RGB), correct eye order, subtitles at their dynamic authored depth, no kernel errors.
    • Half-SBS 4K30 MP4: Beta3 switches the stereo mode to monoscopic and plays it in 2D at 8K30. Our build sends it as 1080p60 side-by-side 3D (the JVC confirms, and it is real 3D through the glasses). The difference is popcornmix's "Resolution: select a native 3D display mode for stereo" patch (pm3d-0014 in our tree): it matches modes against one eye and lets the sink's 3D variant run at twice the content rate. It seems to be missing from Beta3.
    • Minor: Beta3's log shows "CDropControl: lost diff" about 250 times in 90 s of MVC playback; our build shows none for the same disc. Playback looked the same to us.

    Retail disc menus not tested.

    Thanks I will try to fix that for beta4, can you send me your log file please?

    What's the chance some of this work begins to get merged to master ? Could any of it in it's current state be merged upstream?

    I'll let Chewitt comment, but in my opinion I think this would be extremely difficult, if not impossible in the short term

    We've modified too many core components, including LibreELEC, Kodi, FFmpeg, and libplacebo. LibreELEC isn't really designed to maintain such extensive changes to its upstream dependencies. We need to push modifications not to LibreELEC itself, but to its upstream dependencies, this is a crucial task that requires great caution especially when you touch FFmpeg and libplacebo

    Much of this complexity comes from the optimizations DangerousLaser and I made to get Dolby Vision running smoothly on low-end CPUs. To achieve that, we had to go well beyond the boundaries of Kodi and LibreELEC.

    I'm trying to keep everything as clean as possible, but the build has become too heavily customized, this is no longer a build with a few patches, as it was in the beginning.

    Release R1.0.0-Beta3 · CroqueMr/libreelec-x86-DV
    DV-R1.0.0-Beta3 - Major stability and performance improvements, plus AMD Blu-ray 3D support Smooth Dolby Vision playback on N100, from demanding 4K 60 FPS…
    github.com


    DV-R1.0.0-Beta3 - Major stability and performance improvements, plus AMD Blu-ray 3D support

    Milestone : Smooth Dolby Vision playback on N100, from demanding 4K 60 FPS remuxes to 4K FEL remuxes.

    Changes since Beta2.

    Rendering and performance

    • Added optional Dolby Vision fast rendering, disabled by default. Significantly reduces rendering load with fine colour-detail differences expected to be almost imperceptible during playback. Disabling it restores the reference chroma filter.
    • Optimized Dolby Vision HDMI packing, avoiding redundant colour-conversion and PQ processing.
    • Reused the active HDMI mode during playback instead of requesting a modeset for every frame.
    • Optimized menu and subtitle composition, overlay caching and transparent-colour blending.
    • Reduced repeated metadata reshaping calculations by merging identical MMR intervals without changing their coefficients.
    • Added automatic VAAPI FEL upscaling where supported, with shader fallback. Applies to Dolby Vision Native, Enhanced and HDR10 conversion.
    • Isolated CB1 rendering from Kodi picture adjustments. Native playback and fallback retain Kodi's settings.

    Dolby Vision transport and GUI optimizations incorporate work from dangerouslaser, adapted to the shared CB1 rendering pipeline.

    Dolby Vision detection and output

    • Fixed rendering modes incorrectly marked unavailable when the Kodi interface runs at 1080p. #20
    • Fixed redundant Dolby Vision HDMI handshakes at playback startup. #21
    • Fixed output-surface cleanup when switching to native HDR10, HLG or SDR, including crashes during subsequent interface-resolution changes.
    • Improved startup-frame cancellation and GPU-resource cleanup when stopping playback or recreating the renderer.
    • Improved audio-engine acknowledgement during HDMI display changes when the audio sink is not yet configured.
    • Retained previous Profile 5, 1080p playback, Enhanced stability and Blu-ray ISO Dolby Vision detection fixes.

    HDR10-to-Dolby-Vision AI

    • Major performance improvements through optimized image analysis, asynchronous scheduling and combined rendering/HDMI packing.
    • Fixed startup sequencing that could block the first video output.
    • Improved prediction-worker scheduling and queue hand-off.
    • Reduced image-analysis overhead using source-plane sampling and deferred statistics/readback.
    • Moved future-frame analysis outside the current-frame presentation lock.
    • Combined rendering and HDMI packing for compatible Standard-AI output.
    • Fixed reuse of failed output preparations after geometry changes.
    • The LightGBM model and fallback deadlines remain unchanged.

    Controls and diagnostics

    • Fixed live presentation counters incorrectly reporting zero. #22
    • Added bounded AI fallback diagnostics covering processing stage, status, queue coverage and preparation counters.

    Blu-ray 3D playback on AMD

    • Added software H.264 MVC decoding and Kodi Blu-ray 3D playback.
    • Added paired-eye presentation, eye swapping, mono fallback and native stereo-output selection.
    • Preserved authored subtitle-depth information where available.
    • Added AMD HDMI 3D signalling for display-advertised modes.
    • Kept 3D sources outside CB1, including mono playback: no Dolby Vision conversion, AI processing or FEL upscaling.
    • Added malformed-MVC parser checks and recovery from rejected stereo-output transitions.

    3D support incorporates work from CinemaOne and popcornmix.

    Known issues

    • Lower-powered GPUs such as N100/N150 can stutter when displaying the GUI over Dolby Vision playback.
    • HDR10-to-Dolby-Vision AI conversion may fall back to native HDR10 when processing cannot keep up.
    • Enhanced presets need further tuning for a more noticeable effect.
    • AMD HDMI 3D output and retail MVC disc navigation require hardware testing.

    Next focuses

    • Improve the efficiency of HDR-to-Dolby-Vision and Dolby-Vision-to-HDR conversion pipelines.
    • Make the Enhanced rendering modes fully functional.
    • Integrate compatibility fixes and address newly reported support issues.

    A general question on performance. I see you're more or less taking the N100 as least powerful specs to have working correctly. As such, can I be hopeful of my i3-1115G4 NUC being enough for HDR10/HDR10+ ----> DV conversions?

    I think yes, I optimized a lot this pipeline for beta3, a N100 is still not strong enough to handle the conversion, maybe a 1115G4 will handle the workload. I will push a new version in few hours you can give a try.

    For beta4 I will focus especially on conversions pipelines.

    Is it normal that I don't see the GUI at all in DV mode in Beta2? I only tested one DV FEL movie so far and I had to guess where I was in the GUI because I don't see it but the GUI does work in the background. In HDR the GUI is fine.

    Not normal and never saw this issue, what CPU do you have?

    more optimizations and improvements in this test build, primarily for intel devices.

    https://github.com/dangerouslaser…tag/yblod-0.2.1

    read the full 0.2 changes before installing

    Thanks a lot :) I am finalizing to integrate the last improvement lever from tour last build, and I convert your optimization for AMD also. I will check the new oprimisation gain.

    Edit : Last improvement integrated, it's your chroma filter, this will be optional because it's reduce a little bit the fidelity (around 0,9%) of chrominance. Looking extremely closely at a shot where the discrepancy is at its greatest, you can perceive a tiny difference in the outline of the light halos. It's almost imperceptible and, above all, only visible in very few shots, but since it still has a tiny visible impact, it will be an optional optimization.


    Now I work to implement Onecinema's build and I will push the beta3


    Thank you for the feedback, beta3 will have some new performance gain. It will help your CPU handle FEL.

    Opening ny GUI will increase framedrop. If you do not open anything and leave the film in full screen do you have frame drop?

    I know Kodi only tracks one type of frame drop, so the counter isn’t perfect. But I don’t think expanding it to count every dropped frame would be particularly useful, it would also include drops caused by the GUI, which don’t occur during fullscreen playback with the interface hidden.

    Hello

    i like to help to test the DV integration. I have a Mini PC with AMD Ryzen 5 7640HS and AMD Radeon 760M (RDNA3).

    I have installed the Beta 2 and connected to my TCL 98Q8C 98" QD-Mini LED TV, 4K HDR Premium 5000.

    All menus shows DV not supported. Should it work with this AGPU or does this AGPU doesn't support DV?

    Thank you for yor help.

    Hello it's a known issue it will be fixed in the next release. If everything is ok beta3 will be pushed tomorrow.


    CroqueMr Kodi support for DRMPRIME is designed for ARM SoC hardware using direct-2-plane rendering. Although the GUI will allow it to be enabled with VAAPI decoding too, there a bunch of unresolved issues. If you have Intel/AMD hardware you need to be using EGL/VAAPI only.

    Thank you for the info, I’ll make sure the rendering pipelines I’ve implemented don’t rely on and are unaffected by these settings. I’ll let those settings apply to Kodi & LE native circuit when DV is disabled.

    Asynchronous Frame Preparation starts rendering the next frame as soon as the previous one is sent over HDMI, parallelizing part of the pipeline.

    This puts more load on the rendering engine but extends the effective rendering window to roughly 1/20s instead of 1/24s for 24fps content, reducing frame drops.

    I recommend keeping it On. On the N100, it prevents frame drops with Profile 7 FEL. Beta 3 will include dangerouslaser's optimizations, so frame drops should be eliminated even without it. I kept it configurable because, theoretically, some GPUs might struggle with two frames in flight and perform better sequentially. I haven't encountered this use case.


    Regarding DRM PRIME, I haven't yet investigated how these settings interact with the DV pipeline. My assumption is that they only affect Kodi's native playback and have no impact on the dedicated DV pipeline.

    The DV pipelines relie on VAAPI but operates independently from Kodi native pipeline, so I don't expect these settings to make a difference.

    For the stable release, I'll verify these interactions and ensure this kind of settings don't interfere with DV playback but only with native kodi behavior.

    Thanks for the precise feedbacks.

    1 : For the 60fps it's a known issue, it's complicated to optimize at this point the DV engine, beta3 will improve a little bit this part but I don't think it will be possible on regular intel iGPU to read easely a 60fps DV movies yet, raw power is not necessary the main bottleneck we also see this issue on 1080p60fps DV movie. Regarding DV rendering settings, the pipeline is in place it was the most complicated part but the algorithm does not work as intended it will adjust the rendering in beta3 (or maybe in beta4 if I need some time to fine tune)

    2 : The stutter when a GUI is display at the same time of a movie is also a known issue and beta3 will improve this part a lot thanks to dangerouslaser optimization

    3 : I fixed some instabilly in the next internal build, I will see in your log if it's something new or not

    4 : Also a known issue :) I think I fixed it, I will ask you an approval when beta3 will be pushed.


    This is great work and I've been trying to get it going on a laptop. I suppose there are loads of laptops in cupboards that could do duty as HTPCs with this.

    • If I run it (Beta 2) without an external monitor HDR and DV don't seem to be converted to SDR (washed out)
    • Profile 5 is not converted to RGB
    • If I plug in a DV TV to the HDMI port it is not recognised.

    Am I missing a setting or two?

    Laptop is very complicated and are not recommanded to use as a HTPC, sometime you can not use your iGPU on a HDMI port (your dedicated GPU will be responsible to render the HDMI signal) and sometime your HDMI port is not native you have a DP converter in the pipe, you can send me the kodi.log I will see precisely what is the cause of your black screen.

    I did not work on HDR / DV to SDR, it's normal to have some issue with that,. My actual priority is getting flawless DV and HDR output, as that is the primary use case for this type of build. To be honest, I’m not sure if I’ll support SDR, it’s not simple. iGPU already struggle to convert DV to HDR, and converting to SDR is even more demanding on the GPU, it would require significant optimization and a lot of work. I think for SDR Screen I will just add a fallback on the default Kodi behavior, so no FEL reconstruction on SDR, unfortunately.

    Everything is possible, in my personal build with my 226V I activated HDMI 2.1 & VRR QMS and all manual switch between 10bits/12bits 4:2:0/4:2:2, this kind of feature are in my backlog but not prioritsed
    Just to confirm, are you referring only to HDR10 and not DV?


    I tested I have some great result with movies & GUI. I saw you worked specifiquelty on the GUI, it was my next topic investigate. I will integrate what can be integrate. Thanks a lot :)

    What you've been able to do is already quite a feat for lower-end Intel hardware. Squeezing out any more performance will be extra icing on the cake. Just tested beta2 on my N150 and confirm no more drop-outs.

    My go-to will likely be AMD 5800H for DV, HDR-to-DV conversions, and full 3D when that's implemented. Mostly goodbye Amlogic at that point 😉😁.

    I'm working to improve HDR10 to DV conversion with AI, the current pipeline is far too computationally expensive. AI itself isn't the issue, as inference takes around 1 ms. The real bottleneck is the signal analysis required to feed the model.

    My algorithm works in two stages:

    1. Analyze the image and generate an initial set of L1/L3 metadata.
    2. Use an AI model trained on paired HDR10/DV masters to correct and refine the initial analysis.

    The algorithm itself works very well, I tried more complicated one, this one is simple, lightweight, stable, and produces excellent results (better than the conversion with VS10 Dolby engine). However, implementing the entire pipeline properly and efficiently is more challenging than expected. In the one is beta2 can only fit if you have a strong GPU, on beta3 the pipeline will be more accessible for GPU.

    What tested hardware do you recommend for dv intel?

    Complicated to answer that. It depends of the feature that you are interested in.

    - For native DV a N100 can handle the workload including FEL reconstruction, the only limitation at this moment is 60fps playback, and you will have stutter if you open a GUI element during the playback

    - For HDR10 to DV or DV to HDR10 conversion you need a strong GPU


    At first glance I think AMD iGPU are more capable for the same price and are a better option. I haven't thoroughly tested AMD CPUs yet, and I haven't had enough feedback to make a genuine recommendation. Plus, I'm constantly optimizing, even though I'm running out of new levers to implement

    My ultimate goal is for the N100 to handle everything including conversions, but I'm afraid I won't be able to optimize at this point

    Bravo! Dropped frames solved, good job indeed!

    For some reason, as on Beta1, it continues to consider my Marantz + LG C2 as DV incapable.

    I enabled DV on a before Beta version and fortunately it was enough for having DV available again even in this newer version.

    Here is my Kodi.log.

    https://file.kiwi/361e8925#VneSPFTURYFMwSBFkIO5WA

    Thanks I will investigate, Someone found that if your kodi UI is in 1080p it can cause this issue. It will be fixed in Beta 3

    R1.0.0 Beta2 : Major performance improvements

    Release R1.0.0 Beta2 · CroqueMr/libreelec-x86-DV
    R1.0.0 Beta2 - Major performance improvements Changes since Beta1. Playback and performance Improved frame pacing for native Dolby Vision and DV Enhanced,…
    github.com

    Playback and performance

    • Improved frame pacing for native Dolby Vision and DV Enhanced, including Profile 7 FEL with subtitles. (no more framedrop on N100 when reading a Dolby vision FEL 7 Remux file)
    • Added optional asynchronous frame preparation, limited to one next frame.
    • Reduced redundant GPU processing and repeated Enhanced metadata calculations.
    • Improved recovery after seeks, pause/resume and rendering-mode changes.

    Rendering and controls

    • Adjust Natural and Signature stability.
    • Automatically selects a compatible 2160p Dolby Vision output when the interface runs at 1080p.
    • Separate settings for Enhanced Player information and Quick rendering switch.
    • "O" cycles through player information, rendering selection and fullscreen video. Kodi's native information panel is also supported.

    Diagnostics

    • Added lightweight HDMI and display-route logging, including converter information when available.


    Next focuses :

    1. Drivers : Address compatibility issues on DCN 3.1 AMD iGPU
    2. Performance : Integrate planar output from dangerouslaser (gain will be small, in the beta 2, I avoid the RGBA32F full screen texture but in a different way)
    3. 3D : Integrate cinemaONE AMD 3D builds
    4. Performance : Investigate on new performance lever
    5. Rendering profile : Fix DV Enhanced profil that do not behave as expected.