[softhddevice] OSD Demo flackert teilweise stark

  • Es gibt einen Eintrag im Bug Tracker: http://projects.vdr-developer.org/issues/1468


    Wird wohl am Clear für die Untertitel liegen, ohne diesen verschwinden aber die Untertitel nicht mehr.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch


  • Ansonsten mal OSD_DEBUG aktivieren und gucken was so falsch läuft.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Moin,


    johns : sehe ich das richtig, dass du bei einem OSD Flush wegen den Subtitles immer zuerst das komplette OSD löscht?


    Copperhead : wenn du eh gerade am testen bist, könntest du auch mal testen, wie sich nOpacity / tvguide mit diesem Patch verhalten? Ggf. läuft das ganze dann etwas flüssiger, z.B. beim scrollen im EPG oder so?!


    Wenn dem so wäre, würde ich vorschlagen, im Setup vom softhddevice einen Parameter dafür einzuführen und das damit konfigurierbar zu machen...Leute, die keine Untertitel verwenden (wie ich z.B. ;) und wohl die meisten anderen auch?!) könnten das dann bequem abschalten.


    Ciao Louis

  • Warum nicht einfach das eigentliche Problem beheben?


    Klaus

  • Ah ok, jetzt hab ichs verstanden ;) Mein obiges Post ist damit hinfällig...


    Copperhead : den Test für nOpacity und tvguide kannst du dir sparen, da wird sich nix ändern...


    Ciao Louis

  • Warum nicht einfach das eigentliche Problem beheben?


    Wenn man weiss, daß dies nicht richtig ist, dann ist es einfach.
    Da dies aber die VDR OSD Demo ist, ist man davon ausgegangen, daß sie als Referenz gilt.


    Und mein Code ist ja mehr und weniger ein Hack.


    Problem war, daß die Untertitebereiche nicht gelöscht werden, wenn der Nächste kommt,
    bei den Beschreibungen und Debuggen ist mir nichts aufgefallen wie man dies erkennt.


    louis


    Dies passiert nur für Untertitelebene bzw. alle Ebenen die über den Untertitel liegen,
    wobei man es vielleicht nur auf die Untertitelebene begrenzen könnte.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Wenn man weiss, daß dies nicht richtig ist, dann ist es einfach.
    Da dies aber die VDR OSD Demo ist, ist man davon ausgegangen, daß sie als Referenz gilt.


    Fehler können überall passieren ;-).


    Quote


    Und mein Code ist ja mehr und weniger ein Hack.


    Problem war, daß die Untertitebereiche nicht gelöscht werden, wenn der Nächste kommt,
    bei den Beschreibungen und Debuggen ist mir nichts aufgefallen wie man dies erkennt.


    Kannst du das etwas genauer beschreiben, wo das Problem liegt?
    Bei mir hier werden Untertitel einwandfrei angezeigt (TT S2-6400).
    Wie sieht denn die SetAreas()-Funktion des verwendeten OSD-Devices aus? Löscht die die alte OSD-Anzeige?


    Klaus

  • louis


    Dies passiert nur für Untertitelebene bzw. alle Ebenen die über den Untertitel liegen,
    wobei man es vielleicht nur auf die Untertitelebene begrenzen könnte.


    Jo, anhand des Patches von Klaus habe ich gesehen, wie "OsdLevel >= OSD_LEVEL_SUBTITLES" zu deuten ist. Ich hole mir das OSD immer mit dem Default OSD Level, und der ist ja 0. Für SUbtitles ist der 10...deshalb bin ich da nicht betroffen.


    Ciao Louis

  • Der Effekt ist ganz einfach, wenn ein neuer Untertitel angezeigt werden soll, dann überschreibt er nur den alten. Es erfolgt kein Löschen,
    Ich gehe mal von TrueColor OSD aus, da dies normalerweise immer verwendet wird.


    Also ich verwende keine eigene cOsd::SetAreas.
    Ich habe nur cOsd::Flush() und cOsd::SetActive().


    Irgendwie sehe ich nichts, wo steht, daß SetAreas das OSD löschen soll.


    Code
    1. ./PLUGINS/src/dvbhddevice/HISTORY:- Fixed cHdffOsd::SetAreas() (didn't clear the OSD).


    Hatte wohl das gleiche Problem.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Der Effekt ist ganz einfach, wenn ein neuer Untertitel angezeigt werden soll, dann überschreibt er nur den alten. Es erfolgt kein Löschen,
    Ich gehe mal von TrueColor OSD aus, da dies normalerweise immer verwendet wird.


    Also ich verwende keine eigene cOsd::SetAreas.
    Ich habe nur cOsd::Flush() und cOsd::SetActive().


    Irgendwie sehe ich nichts, wo steht, daß SetAreas das OSD löschen soll.


    Ja, so direkt steht das da nicht. Werde ich ergänzen.


    Quote
    Code
    1. ./PLUGINS/src/dvbhddevice/HISTORY:- Fixed cHdffOsd::SetAreas() (didn't clear the OSD).


    Hatte wohl das gleiche Problem.


    Genau ;-).


    Implementiere einfach mal SetAreas() und lösche darin das OSD, so wie es auch in dvbdhdevice gemacht wird. Ich bin ziemlich sicher, daß dann das Problem weg ist.


    Klaus

  • Anbei ein Patch für SoftHdDevice (GIT) was das Verhalten ändert.



    Wäre schön wenn dies mal getestet würde, bevor es ins GIT kommt.
    Johns

    Files

    • sub_fix.diff

      (1.43 kB, downloaded 62 times, last: )

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Sieht gut aus. Das OSD-Demo flackert nicht mehr und die DVB-Untertitel, die ich gerade getestet habe verschwinden auch wie vorgesehen.


    Eine Frage zum OSD-Demo. Die ganzen Elemente sollen bis zum Schluss stehen bleiben, oder?
    Das war vor dem Patch nämlich nicht so.


    Edit: Jetzt passt da doch was nicht. Mit eingeschalteten Untertiteln wird das Hauptmenü nur noch in Bruchstücken angezeigt.

  • Edit: Jetzt passt da doch was nicht. Mit eingeschalteten Untertiteln wird das Hauptmenü nur noch in Bruchstücken angezeigt.


    Das kommt daher, daß ich nur eine OSD Ebene kann und bisher wurden die Untertitel ignoriert, wenn das Menu offfen war.


    Code
    1. // ignore sub-title if menu is open
    2. if (OsdLevel >= OSD_LEVEL_SUBTITLES && IsOpen()) {
    3. return;
    4. }


    Wenn ich das noch in SetAreas einbaue, dann sollten in allen Funktionen die Untertitel gefiltert sein.


    Edit: Patch.


    Und ich denke die Untertitel verschwinden nun richtig! Also Zeitlich früher.


    Johns

    Files

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch


  • Ich frage mich, warum du dich überhaupt mit OSD-Levels befasst?!
    Das wird doch komplett in osd.c (und nur dort) abgehandelt.


    Klaus