softhdcuvid/softhdvaapi/softhddrm with hevc and UHD

  • Wenn du das Bild nachschärfen willst dann könntest du den adaptive-sharpen nutzen, das ist aber Geschmacksache.

    Das habe ich eben gemacht. Das Bild stottert leider extrem - 576i und 720p-Sender.

    meine VDRs


    Hardware
    VDR Wohnzimmer: Thermaltake DH 102, Pico PSU XLP, Meanwell, Asus B85M-E, Intel G1820, 4 GB RAM (1,35 V), Zotac GT 630 Zone Edition, Samsung 850 EVO SSD, DD Max S8, Jultec Einkabel, IR605Q + Harmony 350 (33 W, Boot: 15 s)
    VDR Hobbyraum: Atlas SF101, be.quiet 300 W, MSI C847MS-E33, 4 GB RAM, SanDisk SSD 32 GB, Samsung F2 EcoGreen 1,5 TB, TT S2-6400, Hauppauge PVR 250
    VDR Backup-Server: Atlas SF101, PicoPSU 80 W, Asus E35M1-M (AMD-VDPAU), 4 GB RAM, Technisat Skystar 2 eXpress HD, SanDisk SSD 32 GB, WD Red 4 TB (31 W, Boot: 26 s)
    VDR Desktop: Silentmaxx ST-11 Pro, be.quiet 300 W, Asus P8H77-M, Intel i7-3770, 16 GB RAM (1,35 V), Zotac GT 630 Zone Edition, 2x OCZ Vertex 4, Samsung F4 EcoGreen 2 TB, DD Cine S2, TT USB IR (44 W)

    Software
    OpenSUSE 42.1, Kernel 4.1.13, VDR 2.2.0

  • Vulkan

    libplacebo 3.117 - Ich habe in den Commits nach der letzten Version vor 3.118 gesucht. Das ist diese hier:

    https://github.com/haasn/libplace…38466673f0ad7e0

    Code
    wget https://github.com/haasn/libplacebo/archive/ac44e8f14acbfd2810c46e07e38466673f0ad7e0.zip

    Stefan

    Danke!

    Jetzt habe ich auch im Menü die Scaler zur Auswahl.

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]

    Edited once, last by nobanzai (April 12, 2021 at 10:00 PM).

  • Ich habe nun ein Update gemacht damit das ganze auch wieder mit der neusten libplacebo läuft.

    Leider hat sich die Reihenfolge der Scaler geändert und ihr müsst sie neu einstellen für die jeweiligen Auflösungen.

    Jetzt muss ich nur noch nach dem atmo Zeugs schauen :) Und schon fertig. Lasst mich wissen ob es funktioniert.

    Edited once, last by jojo61 (April 13, 2021 at 1:37 PM).

  • vdr -plugin-seduatmo geht wieder mit drm und libplacebo, vielen Dank dafür!

    ich hab jetzt erstmalig das Menu "bilinear" mit Leben gefüllt, ruckelt aber selbst mit dem nuc8i3 momentan noch (auf dem nuc7 natürlich auch). - muss ich noch mal schauen.

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5


  • Die Shader sind schon rechenintensiv für die GPU.

    Tatsache, das hätte ich nicht gedacht. Ich habe eben mal intel_gpu_top installiert und hier habe ich eine Render-Auslastung von 80 % mit dem Scaler ewa_robidouxsharp. Mit binlear sind es noch 65 %, mit spline16 sind es 55 %. Ich dachte nämlich, dass die CPU bei libplacebo unterstützt.

    Und mit dem Shader sind's 100 %...

    Dann reicht hier meine i3-8100 mit der UHD Graphics 630 nicht aus... Du hast eine Iris Graphics 855, oder? Die reicht aus?

    Aber bevor ich die CPU tausche, könnte ich vermutlich gleich eine nVidia nachrüsten. Aber braucht's hier die GT1050 oder reicht die GT1030 mittlerweile auch?

    Danke!

    Jetzt habe ich auch im Menü die Scaler zur Auswahl.

    Du hast doch eine 10er CPU, oder? Die dürfte auch die UHD Graphics 630 haben, ggf. mit einer höheren max. Frequenz. Hast Du den Shader adaptive-sharpen.glsl auch mal getestet?

    Stefan

    meine VDRs


    Hardware
    VDR Wohnzimmer: Thermaltake DH 102, Pico PSU XLP, Meanwell, Asus B85M-E, Intel G1820, 4 GB RAM (1,35 V), Zotac GT 630 Zone Edition, Samsung 850 EVO SSD, DD Max S8, Jultec Einkabel, IR605Q + Harmony 350 (33 W, Boot: 15 s)
    VDR Hobbyraum: Atlas SF101, be.quiet 300 W, MSI C847MS-E33, 4 GB RAM, SanDisk SSD 32 GB, Samsung F2 EcoGreen 1,5 TB, TT S2-6400, Hauppauge PVR 250
    VDR Backup-Server: Atlas SF101, PicoPSU 80 W, Asus E35M1-M (AMD-VDPAU), 4 GB RAM, Technisat Skystar 2 eXpress HD, SanDisk SSD 32 GB, WD Red 4 TB (31 W, Boot: 26 s)
    VDR Desktop: Silentmaxx ST-11 Pro, be.quiet 300 W, Asus P8H77-M, Intel i7-3770, 16 GB RAM (1,35 V), Zotac GT 630 Zone Edition, 2x OCZ Vertex 4, Samsung F4 EcoGreen 2 TB, DD Cine S2, TT USB IR (44 W)

    Software
    OpenSUSE 42.1, Kernel 4.1.13, VDR 2.2.0

  • Du hast doch eine 10er CPU, oder? Die dürfte auch die UHD Graphics 630 haben, ggf. mit einer höheren max. Frequenz. Hast Du den Shader adaptive-sharpen.glsl auch mal getestet?

    Stefan

    Ja, hier werkelt ein Gen10 mit UHD630 (i5-10400T CPU @ 2.00GHz). Das Ganze ist aber komplett passiv gekühlt, daher neigt die CPU schon mal zum throtteln.

    Ich hatte zwei Shader mal dazu genommen, allerdings noch bevor das mit den Scalern geklappt hat. Da haben CPU und/oder GPU eher keine Engpässe in Form von Throttelitis erkennen lassen; das Bild war schön scharf (adaptive-sharpen.glsl), den zweiten Shader (filmgrain.glsl) habe ich eher nicht bemerkt, muss ich zugeben.

    Jetzt - nur mit dem ewa_robidouxsharp Scaler - langweilen sich CPU/GPU eher.

    Ich hab gerade mal die Shader auch wieder dazu genommen - mal sehen, ob sich das irgendwie bemerkbar macht.

    Ciao.

    Michael.

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Hallo Michael,

    danke für Deine Rückmeldung! Das klingt ja sehr gut mit der Auslastung der 10er CPU.

    Hast Du irgendwas selber kompiliert (libdrm, libva oder Ähnliches?) oder alle Pakete von Tumbleweed übernommen?

    Gruß

    Stefan

    meine VDRs


    Hardware
    VDR Wohnzimmer: Thermaltake DH 102, Pico PSU XLP, Meanwell, Asus B85M-E, Intel G1820, 4 GB RAM (1,35 V), Zotac GT 630 Zone Edition, Samsung 850 EVO SSD, DD Max S8, Jultec Einkabel, IR605Q + Harmony 350 (33 W, Boot: 15 s)
    VDR Hobbyraum: Atlas SF101, be.quiet 300 W, MSI C847MS-E33, 4 GB RAM, SanDisk SSD 32 GB, Samsung F2 EcoGreen 1,5 TB, TT S2-6400, Hauppauge PVR 250
    VDR Backup-Server: Atlas SF101, PicoPSU 80 W, Asus E35M1-M (AMD-VDPAU), 4 GB RAM, Technisat Skystar 2 eXpress HD, SanDisk SSD 32 GB, WD Red 4 TB (31 W, Boot: 26 s)
    VDR Desktop: Silentmaxx ST-11 Pro, be.quiet 300 W, Asus P8H77-M, Intel i7-3770, 16 GB RAM (1,35 V), Zotac GT 630 Zone Edition, 2x OCZ Vertex 4, Samsung F4 EcoGreen 2 TB, DD Cine S2, TT USB IR (44 W)

    Software
    OpenSUSE 42.1, Kernel 4.1.13, VDR 2.2.0

  • Hallo Michael,

    danke für Deine Rückmeldung! Das klingt ja sehr gut mit der Auslastung der 10er CPU.

    Hast Du irgendwas selber kompiliert (libdrm, libva oder Ähnliches?) oder alle Pakete von Tumbleweed übernommen?

    Gruß

    Stefan

    Ich hab iHD/vaapi von Intel und libplacebo selber gebaut.

    Der Test mit Shadern *und* Scalern hat die CPU/GPU übrigens bei mir auch nicht weiter aufgeregt - die dümpeln nach wie vor lustig vor sich hin.

    Und wichtig: Auch die Temperaturen halten sich in Grenzen, was für mein passiv gekühltes System natürlich besonders wichtig ist.

    Ich habe allerdings auch mal intel_gpu_top laufen lassen. Der zeigt tatsächlich eine 95% load an:

    Code
    intel-gpu-top - 1100/1100 MHz;    2% RC6;   9.10 Watts;      453 irqs/s
    IMC reads:     6080 MiB/s
    IMC writes:     3699 MiB/s
    
    ENGINE      BUSY                                                                              MI_SEMA MI_WAIT
    Render/3D/0    94.79% |██████████████████████████████████████████████████████████████████████▏   |      0%      0%
    Blitter/0     0.00% |                                                                          |      0%      0%
    Video/0     3.83% |██▊                                                                       |      0%      0%
    VideoEnhance/0     0.00% |                                                                          |      0%      0%

    Ciao.

    Michael.

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Ich habe noch ein wenig weiter damit herum gespielt und mit intel_gpu_top die Last beobachtet.

    Die Shader scheinen sich nicht groß auszuwirken, aber bei den Scalern gibt es große Unterschiede:

    Während beim ewa_robidouxsharp die GPU auf 90 - 95% werkelt, sind es beim bilinear nur 35 - 50%.

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Während beim ewa_robidouxsharp die GPU auf 90 - 95% werkelt, sind es beim bilinear nur 35 - 50%.

    Naja das ist auch kein Wunder. Der ewa_robidouxsharp ist viel aufwändiger beim skalieren und damit auch besser :)

    So ich habe noch das einstellen der Farbtemperatur eingebaut. Damit kann man die Grundfarbe von 6500K mit einem Offset versehen und das Bild wärmer (negative Werte) oder kälter (positive Werte) machen.

    mfg

    jojo61

  • Naja das ist auch kein Wunder. Der ewa_robidouxsharp ist viel aufwändiger beim skalieren und damit auch besser :)

    Das sagst du auch nur, weil du im Gegensatz zu mir Ahnung hast ;)

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Die Shader sind schon rechenintensiv für die GPU.

    Ich habe allerdings auch mal intel_gpu_top laufen lassen. Der zeigt tatsächlich eine 95% load an:

    Ich habe nun auch "gespielt". Ein kompilierter iHD-Treiber brachte eine Senkung von etwa 2 % im intel_gpu_top. Ein kompiliertes libva, drm brachten dagegen keine Vorteile.

    Wird libplacebo mit schaderc als mit glslang kompiliert, dann kann ich den adaptive-shader zusammen mit dem Scaler "robidouxsharp" laufen lassen. Was mich dabei wundert ist, dass sich der Shader im GPU-Load nicht großartig auswirkt, dennoch kommt es bei den meisten Scalern, bis auf robidouxsharp oder bilenear zu Bild- und Tonaussetzern.

    Hätte ich nicht gedacht, dass die UHD 630 bei einer 8er CPU am Ende ist und bei einer 10er CPU vermutlich anders angebunden ist und noch etwas Leistung übrig hat, dass Shader und ewa-rbidouxsharp gehen.

    Und dann das Wichtigste: Im oberen Bereich flimmert das Bild, vor allem bei i576-Sendern und nur bei hellen Farben. Ist das nur bei mir so? Oder scheidet Ihr im Plugin-Setup oben ein oder zwei Pixel-Reihen ab?

    Stefan

    meine VDRs


    Hardware
    VDR Wohnzimmer: Thermaltake DH 102, Pico PSU XLP, Meanwell, Asus B85M-E, Intel G1820, 4 GB RAM (1,35 V), Zotac GT 630 Zone Edition, Samsung 850 EVO SSD, DD Max S8, Jultec Einkabel, IR605Q + Harmony 350 (33 W, Boot: 15 s)
    VDR Hobbyraum: Atlas SF101, be.quiet 300 W, MSI C847MS-E33, 4 GB RAM, SanDisk SSD 32 GB, Samsung F2 EcoGreen 1,5 TB, TT S2-6400, Hauppauge PVR 250
    VDR Backup-Server: Atlas SF101, PicoPSU 80 W, Asus E35M1-M (AMD-VDPAU), 4 GB RAM, Technisat Skystar 2 eXpress HD, SanDisk SSD 32 GB, WD Red 4 TB (31 W, Boot: 26 s)
    VDR Desktop: Silentmaxx ST-11 Pro, be.quiet 300 W, Asus P8H77-M, Intel i7-3770, 16 GB RAM (1,35 V), Zotac GT 630 Zone Edition, 2x OCZ Vertex 4, Samsung F4 EcoGreen 2 TB, DD Cine S2, TT USB IR (44 W)

    Software
    OpenSUSE 42.1, Kernel 4.1.13, VDR 2.2.0

  • Ich schneide nix ab und es flimmert auch nicht.

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Ah, ok, ist bei mir auch aus.

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • Hi,

    ist die GL-Variante von libplacebo grundsätzlich auch mit CUVID möglich?

    Beim Bauen bekomme ich immer die folgenden Fehler:

    Code
    video.c: In function 'CuvidSwapBuffer':
    video.c:4545:20: error: 'eglDisplay' undeclared (first use in this function); did you mean 'EGLDisplay'?
         eglSwapBuffers(eglDisplay, eglSurface);
                        ^~~~~~~~~~
                        EGLDisplay
    video.c:4545:32: error: 'eglSurface' undeclared (first use in this function); did you mean 'EGLSurface'?
         eglSwapBuffers(eglDisplay, eglSurface);
                                    ^~~~~~~~~~
                                    EGLSurface

    und

    Code
    video.c: In function 'InitPlacebo':
    video.c:5641:26: error: 'eglDisplay' undeclared (first use in this function); did you mean 'EGLDisplay'?
         params.egl_display = eglDisplay;
                              ^~~~~~~~~~
                              EGLDisplay
    video.c:5642:26: error: 'eglContext' undeclared (first use in this function); did you mean 'glxContext'?
         params.egl_context = eglContext;
                              ^~~~~~~~~~
                              glxContext

    Wenn ich das Plugin zum Gegencheck mit VAAPI und PLACEBO_GL baue, läuft es durch.

    CUVID und PLACEBO baut auch ohne Probleme, aber ich bekomme Vulkan ums verrecken nicht zum laufen.

    CUVID ohne PLACEBO läuft auch.

    Und MPV mit der OpenGL-API läuft auch ohne Probleme (mit NVDEC als Dekoder).

    Vielen Dank schon mal.

    Gruß

    Christoph

    yavdr-ansible - Asus A55BM-A/USB3 - A4-6300 - Samsung 830 SSD 64 MB - WD AV-GP 3TB - MSI GTX 1050 Ti - DD Cine S2 6.5 - LG CH12NS30 - OrigenAE S14V

  • Ne, lässt sich bei mir auch nicht mit PLACBO_GL übersetzen - selber Fehler. Und auch bei mir klappt es mit den beiden anderen Inkarnationen.

    Und auch bei mir klappt Vulkan nicht.

    VDR zwei drei
    • VDR 01 (Server): 2.7.2 4 x TT Budget S2-3200
      Plugins: [channellists - control - epgsearch - live - markad - streamdev-server - tvscraper]
    • VDR 02 (Client): 2.6.9 1 x TT Premium S2-6400 (HDMI an TV), 1 x softhddevice (HDMI an TV); TV Grundig 40 VLE 8160 SL; TFT-Display Origen AE 16T
      Plugins: [channellists - control - dvbhddevice - epgsync - graphtftng - mpv - osd2web - osdteletext - skinnopacity - softhddevice - streamdev-client - svdrpservice]
  • ist die GL-Variante von libplacebo grundsätzlich auch mit CUVID möglich?

    Nein mit Cuvid funktioniert die GL Variante nicht. Das liegt an NVIDIA Treiber, der kann die Cuvid decodierten Frames nicht per zerocopy an ein GL shader übergeben.

    Warum ihr aber vulkan nicht zum laufen bringt bleibt mir ein Rätsel.

  • Hallo,

    im Testing-Branch von Slackware-current ist nun Kernel 5.12.0 enthalten.

    Ich habe nun die HDR-Ausgabe getestet und das funktioniert sehr gut. Bravo!

    Getestet habe ich auf dem NUC8 ohne libplacebo.

    jojo : Kannst Du nochmal erläutern welche Vorteile zusätzlich die Verwendung von libplacebo hätte.

    Das ist mir noch nicht ganz klar,

    Gute Arbeit!

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!