Video Treiber für Odroid-N2+ (softhdodroid)

  • Danke für den Topp ! Das mit libmali hab ich gesehen mir war aber nicht klar das ich die benötige, dann versuche ich das mal.
    Für die 22.04 hat seahawk1986 ein passenden PPA für die 20.04 nicht da muss man alles manuell bauen und einrichten - hoffe das ich es mit der 22.04 hin bekomme.
    Generell geht es ja, das Bild wird - wenn auch nur kurz - flüssig angezeigt.

  • auch wenn es hier https://wiki.odroid.com/odroid…0622#opencl_configuration

    für genau das Image beschrieben ist mag es nicht:

    Code
    ~> apt download mali-fbdev
    E: Unable to locate package mali-fbdev
  • versuche ich auch noch. Habe jetzt den vdr und die Plugins für 20.04 gebaut.

    Damit läuft es deutlich besser, ab und zu hängt er nach dem Umschalten hiermit:

    -- Logs begin at Wed 2021-07-21 19:00:21 UTC. --

    Sep 25 14:57:45 odroid kernel: get spdifout clk:6143997, mpll:24575987

    Sep 25 14:57:45 odroid kernel: spdif_info: rate: 48000, channel status ch0_l:0x100, ch0_r:0x100, ch1_l:0x200, ch1_r:0x200

    Sep 25 14:57:45 odroid kernel: aml_spdif_fifo_ctrl, bit depth:16, frddr type:1, toddr:type:1

    Sep 25 14:57:45 odroid vdr[21839]: amlreset

    Sep 25 14:57:45 odroid vdr[21839]: Clear buffer request in Decode

    Sep 25 14:57:45 odroid vdr[21839]: video: reset start

    Sep 25 14:57:45 odroid vdr[21839]: [softhddev]Clear: 7ms buffers 0

    Sep 25 14:57:46 odroid vdr[21839]: [21981] ERROR (device.c,1916): Bad file descriptor

    Sep 25 14:57:49 odroid vdr[21839]: [21983] cStreamdevFilters::Action(): stream disconnected ?

    Sep 25 14:57:55 odroid vdr[21839]: [21861] ERROR: streamdev-client: Failed reading reply to 'ABRT 2' from 192.168.200.101:2004: Connection timed out

    Sep 25 14:58:04 odroid vdr[21839]: [21983] ERROR: streamdev-client: Failed reading reply to 'ABRT 2' from 192.168.200.101:2004: Connection timed out

    Sep 25 14:58:05 odroid vdr[21839]: Set Playmode 1

    Sep 25 14:58:05 odroid vdr[21839]: set trickspeed to 0

    Sep 25 14:58:05 odroid kernel: fb: clear: osd 0

    Sep 25 14:58:05 odroid vdr[21839]: pesdemux: bad pes packet

    Sep 25 14:58:05 odroid vdr[21839]: pesdemux: bad pes packet

    Sep 25 14:58:06 odroid vdr[21839]: pesdemux: bad pes packet

    Sep 25 14:58:06 odroid vdr[21839]: pesdemux: bad pes packet

    Sep 25 14:58:06 odroid vdr[21839]: pesdemux: bad pes packet



    Könnte ein streamdev Problem sein

  • ja lag an streamdev. Schaut jetzt gut aus. Ich will mir noch einen odroid bestellen, spätestens dann versuche ich es nochmal mit der 22.04.
    Jetzt bin ich erst mal glücklich das es läuft.
    Danke für die Unterstützung!

  • Mir ist letztens aufgefallen, dass ich bei meinem Odroid-N2 keinen Ton mehr habe, wenn ich einen Sender bzw. eine Aufnahme mit DD+ Ton habe.

    Ich muss dann im softhdodroid-plugin den Parameter E-AC-3 pass-through = nein setzen, um überhaupt einen Ton zu haben.

    Dann gibt es allerdings nur noch Stereo-Ton in Dolby Surround und kein Dolby Digital 5.1 mehr!


    Gibt es da noch irgendeine Einstellung, die ich noch zusätzlich machen muss?

    Hier mal dass, was ich in der setup.conf zum Audio-Part vom softhdodroid finden konnte.

    Die einzelnen Parameter vom Pass-through wie PCM pass-through , AC-3 pass-through und E-AC-3 pass-through sind da nicht einzeln aufgeführt.

    Ich vermute mal, dass diese sich in der 13 verstecken.


    Auf meinem VDR-Server mit dem "normalen" VDR mit softhddevice-cuvid funktioniert hingegen die Wiedergabe von DD+ mit 5.1-Audio einwandfrei.

  • Paulaner Das könnte am HBR liegen. Du kannst mal HBR für DD+ aktivieren indem du in der Datei codec.c in Zeile 624 den Kommentar raus nimmst.

    Die Zeile muss dann so aussehen:

    Code
               audio_decoder->HwSampleRate *= 4;

    Gib mir Feedback falls es dann klappt. Dann müsste ich HBR konfigurierbar machen.

  • Würde ich schon versuchen, aber ich nehme immer die fertigen Images von Zabrimus.

    Mit dem selber kompilieren der VDR*ELEC-Imgages bin ich nie richtig zurecht gekommen, das hat nie geklappt.


    Da brauchte ich evtl. jemanden, der das für mich kompilieren könnte.

    Ansonsten gibts ja auf SAT den Sender Astra by UHD1 und der sendet auch fast immer in DD+ , da könnte man das auch testen.

  • Das könnte am HBR liegen. Du kannst mal HBR für DD+ aktivieren indem du in der Datei codec.c in Zeile 624 den Kommentar raus nimmst.

    Ich kann das gar nicht einschätzen. Wenn ich den Kommentar im nächsten Image rausnehme, funktioniert dann irgendetwas anderes nicht oder entstehen Probleme, die vorher nicht da waren?

  • Mir ist letztens aufgefallen, dass ich bei meinem Odroid-N2 keinen Ton mehr habe, wenn ich einen Sender bzw. eine Aufnahme mit DD+ Ton habe.

    DD+ braucht m.E. HDMI 1.3

    Bist Du sicher, dass Dein Kabel dafür zertifiziert ist? Vielleicht mal durchtauschen.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Dr. Seltsam

    die HDMI-Kabel spielen in dem Fall absolut keine Rolle, obwohl ich sogar zertifizierte HDMI-2.1-Kabel verwende.

    Denn ich kann ja vom gleichen Odroid-N2 aus (also mit dem gleichen Kabel) über KODI problemlos den gleichen Astra UHD1 Sender in DD+ 5.1 empfangen.

    Nur eben über den VDR habe ich keinen DD+ Ton.

  • Super, :thumbup:

    Ich werde es testen, sobald es verfügbar ist!

  • jojo61

    So, habe gerade das VDR*ELEC-Image von gestern eingespielt.

    Der DD+-Ton funktioniert nun einwandfrei! :thumbup:

    Super gemacht. Vielen Dank! :)

  • Hallo jojo61,

    ich habe hier eine Aufnahme, die immer wieder an der gleichen Stelle stockt und nicht weiterläuft. Bei dem kurzen Ausschnitt, den ich Dir unter https://magentacloud.de/s/Ew2QXmjLHgcK6Xj hochgeladen habe, tritt das bei ungefähr 1 Minute 17s auf. Ich habe im Log nichts auffälliges entdeckt. Auf dem Desktop-Rechner spielen vlc und mpv die ts-Datei flüssig ab. Vielleicht kannst Du analysieren, wo der Hase im Pfeffer liegt und einen Fix in softhdodroid einbauen.

    Gruß

    Dr. Seltsam

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Hallo

    an der Stelle ist ein PTS wrap. Und bei mir stockt das zwar kurz, läuft aber dann weiter. Das abfangen von PTS wraps hatte ich mal eingebaut.

    Ds ist die Stelle in video.c ab Zeile 2932:

    Code
    if(lpts  && ((pts & 0xffffffff) + 0x10000 < lpts)) {
                //printf("PTS wrap\n");
                amlReset();
    }

    Du könntest mal den print aktivieren und schauen ob er den wrap bei dir erkennt. Und du könnest mal die 0x10000 grösser oder kleiner machen ob es dann funktioniert. Evtl. hilft auch ein return nach dem amlReset(). Da es hier ja funktionert kann ich das nicht testen.

  • Ich habe auf es sowohl auf Odroid N2 als auch Tanix TX3 getestet, beide male unter chroot und mit aktuellem git-Stand. Gleiches Resultat. Auf der Tanix TX3 habe ich an der Stelle sowohl einen printf als auch einen Debug eingefügt, weil ich nicht sicher bin, ob printf ins journalctl geht.


    Code
    printf("PTS wrap\n");
    Debug(1,"video.c: PTS wrap detected\n");

    Es wird nichts geloggt! Aber ein amlreset wird dennoch ausgeführt - die Logmeldung kommt direkt aus der void. Es wird eine Menge vom Kernel geloggt, und dann kommt nichts mehr im Log während das Bild eingefroren bleibt. Ich versuche als nächstes mal andere Werte.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • mit 0x5000 springt der Code noch nicht an. Mit 0x1000 wird der wrap erkannt, aber 2 Sekunden später (und danach im Sekundentakt) wird erneut ein wrap detected und ein amlreset gemacht:

    Was meinst Du mit "return nach dem amlReset()"?

    So?

    Code
                    if (lpts  && ((pts & 0xffffffff) + 0x1000 < lpts)) {
    
                            printf("PTS wrap\n");
                            Debug(3,"video.c: PTS wrap detected\n");
                            amlReset();
                            return true;
                    }

    Das hat am Ergebnis (amlreset im Sekundentakt) aber nichts geändert.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Ein pts wrap wird bereits in ProcessClockBuffer festgestellt (obwohl der Wert mit 0x100000 dort sogar 10x höher als in SendCodecData ist)


    Code
     if (diff > 0x100000) {
             printf("pts wrap  %#012" PRIx64 "  %#012" PRIx64 "  %#012" PRIx64 "  \n",pts, apts,diff);
             Debug(3,"pts wrap:pts= %#012" PRIx64 " apts= %#012" PRIx64 "  diff=%#012" PRIx64 "  \n",pts, apts,diff);
             amlReset();
     }

    Log:


    Code
    Okt 18 11:02:03 CoreELECTanixTX3 vdr[12028]: pts wrap:pts= 0x0000003a6f apts= 0x01fffc35ff  diff=0x01fffbfb90
    Okt 18 11:02:03 CoreELECTanixTX3 vdr[12028]: void amlreset

    Das Bild bleibt trotz amlreset aber dennoch stehen. Und mit auskommentiertem alreset an der Stelle ist es genauso.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

Participate now!

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