OSD mehr Farben ;o))

  • Hi,


    Brühwarm von der ML:


    For those of you who would like to experiment with a 256 color OSD,
    you might want to do this:


    - get the latest driver from the CVS (previous driver versions were
    extremely slow when setting a 256 color palette for the OSD)


    - change the line


    #define MAXNUMCOLORS 16


    in VDR/osdbase.h to


    #define MAXNUMCOLORS 256


    - apply the attached patch to PLUGINS/src/osddemo/osddemo.c for a quick
    demonstration of a 256 color OSD (it simply draws a 256 color palette)


    Note that due to the limited OSD memory you can't have a full screen
    256 color OSD, but something like 256*256 pixel (as in the example)
    can be done easily (the maximum of x*y should not exceed 80000).


    One possible application for this could be a PIP (Picture In Picture)
    plugin that displays a (still) picture of some image, which may be
    derived from some file on disk, or some grabbed image from another
    channel. You could even implement a display bar at the top, bottom,
    left or right edge of the screen and display like, for instance,
    four different pictures. Or, you could implement anything else that
    needs more than 16 colors...


    Klaus
    --
    _______________________________________________________________


    Klaus Schmidinger Phone: +49-8635-6989-10
    CadSoft Computer GmbH Fax: +49-8635-6989-40
    Hofmark 2 Email: kls@cadsoft.de
    D-84568 Pleiskirchen, Germany URL: www.cadsoft.de
    _______________________________________________________________



    --------------------------------------------------------------------------------



    --- PLUGINS/src/osddemo/osddemo.c 2002/12/13 15:02:01 1.2
    +++ PLUGINS/src/osddemo/osddemo.c 2003/06/15 11:26:50
    @@ -43,13 +43,47 @@
    {
    osd = cOsd::OpenRaw(100, 50);
    if (osd) {
    - osd->Create(0, 0, 100, 200, 4);
    - osd->AddColor(clrBackground);
    - osd->AddColor(clrRed);
    - osd->AddColor(clrGreen);
    - osd->AddColor(clrYellow);
    - osd->AddColor(clrBlue);
    - osd->Clear();
    + int d = 256;
    + osd->Create(0, 0, d, d, 8, false);
    + for (int x = 0; x < 16; x++) {
    + for (int y = 0; y < 16; y++) {
    + int h = x * 359 / 16;
    + int s = 255 - y * 255 / 16;
    + int v = 200;
    +
    + // this code was borrowed from Qt (www.trolltech.com):
    + int r=v, g=v, b=v;
    + if ( s == 0 || h == -1 ) { // achromatic case
    + // Ignore
    + } else { // chromatic case
    + if ( (uint)h >= 360 )
    + h %= 360;
    + uint f = h%60;
    + h /= 60;
    + uint p = (uint)(2*v*(255-s)+255)/510;
    + uint q, t;
    + if ( h&1 ) {
    + q = (uint)(2*v*(15300-s*f)+15300)/30600;
    + switch( h ) {
    + case 1: r=(int)q; g=(int)v, b=(int)p; break;
    + case 3: r=(int)p; g=(int)q, b=(int)v; break;
    + case 5: r=(int)v; g=(int)p, b=(int)q; break;
    + }
    + } else {
    + t = (uint)(2*v*(15300-(s*(60-f)))+15300)/30600;
    + switch( h ) {
    + case 0: r=(int)v; g=(int)t, b=(int)p; break;
    + case 2: r=(int)p; g=(int)v, b=(int)t; break;
    + case 4: r=(int)t; g=(int)p, b=(int)v; break;
    + }
    + }
    + }
    + // end of code borrowed from Qt
    +
    + int c = 0xFF000000 | ((b & 0xFF) << 16) | ((g & 0xFF) << 8) | (r & 0xFF);
    + osd->Fill(x * d / 16, y * d / 16, (x + 1) * d / 16, (y + 1) * d / 16, eDvbColor(c));
    + }
    + }
    osd->Flush();
    }
    }



    Grüße,
    Reinhard

  • Hallo !!!


    Nicht schlecht was die Treiberentwickler da noch rausholen, hier mal ein Snapshot damit nicht jeder selbst testen muß.



    Andy

    Asrock M3A785GHM/128, Athlon 64 240e, 2GB, 120 GB Samsung SSD plus 1000GB Nas im Raid und eine Nvidia Gt610 für VDPAU

    1x DD CineS2, UIR-Man, Androvdr, Ubuntu 14.04lTS, VDR: 2.2.0 (yavdr Quellen) und NVRAM Wakeup


     dabei seit Version 0.72 

  • Das liest sich ja super,


    vieleicht ist es ja dann doch irgendwann möglich auch die Coverbilder aus den mp3 ID3-tags
    im OSD anzuzeigen, oder bunte Icons ins Menu einzubauen.
    Das mit dem PIP wäre zum Beispiel super in Verbindung mit dem Prefermenu-Plugin, aber mal abwarten was daraus wird.


    Klaus hatte in der Mailingliste auch mal was geschrieben, daß er das OSD-Menü ein wenig
    verschönern will, weiß da jemand näheres dazu und ob auch Icons o.ä. geplant sind?


    ciao

  • na ein skin-system für die menü's rutscht damit doch in greifbare nähe, oder ein p-i-p für webcams oder so ;-)

    VDR User #540 :: athlonxp2000+ :: QDI KinetiZ 7E-A Socket A :: 256MB RAM :: 80GB + 160 GB HDD :: 1 x philips DVB-s 1.5 :: opensuse 10.2 :: silentmaxx st-11 :: irdeto 4.9 allcam freecam funcam / alphacrypt 2.03 :: vdr 1.47

  • Hi,


    > na ein skin-system für die menü's rutscht damit doch in greifbare nähe


    Jo, kommt aber halt auf die OSD Größe an ;o))


    >oder ein p-i-p für webcams oder so ;-)


    Näja, bis dahin ist noch ein weiter Weg. Dafür haben die DVB Karten nicht
    genug Speicher und ein Vidcam Bild in 256 Farben? Hmm..... Zwillinge,
    die an der Tür stehen, wird man damit nicht unterscheiden können :D:D


    Grüße,
    Reinhard

  • Hey Volker,


    ich hatte Klaus auch deswegen mal angeschrieben gehabt, aber was die Menüverschönerung betraf, da sagte er nur, dass er mit der rechten freien Hälfte noch was anstellen wollte, aber ansonsten hüllte er sich in absolut professionelles Schweigen.


    Ich hatte auch den Eindruck, dass Nachfragen nix bringen würde. Wäre ja cool, wenn uns da die absolut super Überraschung bevorstehen würde...hehe.


    Aber meine diversen Threads zu diesen Logogeschichte und Bunte-Bildchen-Menüs kennste ja bestimmt hinreichend. Ich musste da ja mehr als einmal erkennen, dass die Technik erst in 30 Jahren so weit sein wird :-)


    Aber diese 256-Farben-Geschichte ist wirklich interessant. Nur behaupte ich mal wieder, wenn man da wirklich Logos proggen will, geht das immer noch nicht besser oder anders als a la C-64-Sprite-Poke-Geschichte.


    Greets Olaf


    P.S.: Du siehst, andere sind auch net informierter, lölz.

    Ollie jetzt auch im Internet !!! ->> http://www.ohms.ws << VDR mit ASUS A7V8X-X, Athlon XP 2 Ghz, 512 MB DDR-RAM und gentoo 2008.0 Linux, ner Menge Platten (1 TB), 2 Brennern und Karten-Vollausstattung (1 X Nexus 4 MB Mod, 3 x Nova, 1 PVR 350) , TFT/Sony PSOne, Nvidia Graka und und und * Linux - wir geben ihrem Computer das Leben zurück *

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von olafhenkel ()

  • Ich finde das momentan sehr "far away" vom eigentlichen Projekt VDR zu einem brauchbaren stabilen System zu machen. Nett solche Spielchen. Trotzdem, auch wenn Klaus das PIP anspricht, find ichs blödsinnig damit sowas zu realisieren. Ausserdem fehlen immer noch wichtige Dinge wie ne ordentliche channelscan + bildregie funktion in einem VDR release, und da macht man sich an dinge ran die eigentlich nur eine Daseinsberechtigung ihrer selbst Willen haben. Sorry , aber ich sehe das nun mal so.


    gruss
    trtr-z

  • Zitat

    Original von trtr-z
    Ich finde das momentan sehr "far away" vom eigentlichen Projekt VDR zu einem brauchbaren stabilen System zu machen. Nett solche Spielchen. Trotzdem, auch wenn Klaus das PIP anspricht, find ichs blödsinnig damit sowas zu realisieren. Ausserdem fehlen immer noch wichtige Dinge wie ne ordentliche channelscan + bildregie funktion in einem VDR release, und da macht man sich an dinge ran die eigentlich nur eine Daseinsberechtigung ihrer selbst Willen haben. Sorry , aber ich sehe das nun mal so.


    gruss
    trtr-z


    Rein vom wirtschaftlichprofessionellen Gesichtspunkt hast du sicher Recht.
    Jedoch ist vdr ein "privatprojekt". Ich spreche aus Erfahrung wenn ich sage, dass ein Privatprojekt in dem Moment zum Sterben verurteil ist, wenn man die Lust daran verloren hat.
    Die Sache mit dem OSD mag im ersten Moment "falsch" erscheinen, beim 2. Blick hilft es jedoch mit ein wenig Spaß wieder Freude am Arbeiten zu bekommen.
    Abgesehen davon hilft es vdr sich weiter zu verbreitern, weil es mehr features bietet.
    Sachen wie Channelscan macht man vielleicht 1mal im Leben, nicht viel häufiger. Ein optisch ansprechendes OSD sieht man jeden Tag und man kann damit Werbung machen.


    Das ist meine Meinung dazu.

  • Ich wollte hier zwar eigentlich nur mitlesen und nicht posten,
    aber das kann ich so einfach nicht stehen lassen.


    Klar weiß ich, daß automatisches Channel-Scanning etc. wichtige
    Dinge sind, und das wird auch das Erste sein, was ich in der
    1.3.0 anpacke. Da ich aber mit der 1.3 erst frühestens Mitte
    Juli anfangen werde (irgendwann möchte ich auch mal Urlaub machen ;-)
    habe ich mich halt mal hingesetzt und die 256-Farben-Unterstützung
    des Treibers getestet. Was daran "blödsinnig" sein soll, wenn jemand
    ein (Stand)Bild innerhalb des eigentlichen Fernsehbildes darstellen
    möchte, kann ich nicht nachvollziehen.


    Ich habe das eigentlich nur deswegen auf der VDR-ML gepostet weil
    ich dachte, es würde vielleicht jemanden interessieren und der
    eine oder andere könnte damit vielleicht was nützliches anfangen.


    Klaus

  • kls


    ok, ok, blödsinnig war vielleicht zu hart. So wie WarEagle schon sagt soll man ja die freude nicht dran verlieren, sehe ich voll ein, und entschuldige mich dafür. 256 Colors im OSD sind nett, und wird sicher noch gute Anwendungen finden.
    Aber wo Du Dich grade zu Wort meldest und von der 1.3 sprichst. Kann man das mit den Timern im OSD nicht optisch so anpassen, das man sieht welche Aufahmen sich überschneiden (ich finds sinnvoll wenn man zwar mehrere karten hat, aber nur ein CAM um z.Bsp PW aufzunehmen) mich ärgerts immer selber überprüfen zu müssen ob die Aufnahmen alle korrekt hintereinander liegen. Genauso wäre eine schneide-queue glaub ich nicht verkehrt. Damit braucht man, wenn man z.Bsp 10 Aufnahmen schneiden will nicht auf den letzten schnittvorgang zu warten braucht. (offtopic, aber was solls). Bist Du eigentlich gar nicht an Mitentwicklern interessiert, um den development proccess zu etwas zu beschleunigen, oder bist Du eher der Meinung "viele Köche verderben den Brei" ?


    danke & gruss
    trtr-z

  • Hi Klaus,


    damit hast du absolut recht. Sonst könnte man mit der gleichen Begründung das Plugin Konzept als blödsinnig bezeichnen, da es i.d.R. nicht vitale Funktionen von VDR betrifft, und das wird wohl niemand tun wollen. Auch wenn solche Plugins wie tetris oder weather sicher mehr als nettes Gadget zu sehen sind und weniger Gebrauchswert haben. meines Erachtens geht es um die Schnittstelle, die dann solche Dinge wie das DXR3 oder Remote Plugin ermöglichen. Zurück zum Thema, ich sehe die Möglichkeit erst mal als proof of concept was man damit dann anstellen kann wird sich in der nächsten Zeit. Wie ich die community hier kenne, wird das sicher einige interessante Funktionen geben...


    trtr-z
    Wenn Du dir hier mal betrachtest, das kaum einer hier den VDR ohne Elchi Patch laufen lässt, dann legt das den Schluss nahe, das durchaus Bedarf für das optische aufpeppen des OSD bei den Anwendern besteht. Das generische OSD von VDR ist funktionell und ausreichend, aber sicher nicht schön. Wie Klaus sich auch schon iin der ML geäussert hatte war das auch nicht das Ziel.


    Davon abgesehen frage ich mich was dem VDR zum stabilen System fehlt. Seit der 1.1.30 habe ich zwei mal einen automatischen Restart des VDR gehabt, ausser ein paar Sekunden Unterbrechung keine Auswirkung. Seit einigen Wochen läuft der VDR hier ohne irgendwelche Probleme. Also Stabilitätswünsche hab ich da sicher keine...so reicht mir das :D.


    Von meiner Warte aus fehlt nur noch wenig an Basisfunktionalität (autopid, verschieben/umbenennen von Aufnahmen) die ich persönlich gerne in VDR sehen würde. Stabil isses auch...also durchaus die Zeit auch mal fürs rein optische was zu tun...


    bye


    Sven


    Link: Richtig fragen

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von SvenS ()

  • Hallo
    Auch ich habe mich mal in einem Forum mit einigen ueber Sinn und Unsinn von 'Skins' etc. zu einem solchen System 'gestritten', da ich auch die Meinung vertrete, dass einfache Bedienbarkeit und Stabilitaet an forderster Stelle stehen muessen.
    Trotzdem finde ich den 'Elchi-Patch' eine sehr schoene Erweiterung, und mit der Moeglichkeit noch 'ein paar' Farben mehr darzustellen, laesst sich dies dem persoenlichen Geschmack ein wenig mehr anpassen. Wenn ich mir die Menues von Neutrino oder die eines Topfield anschaue, die auch sehr einfach zu Bedienen sind, denke ich, dass man auch das von VDR etwas 'aufpeppen' koennte.
    Das Auge 'isst' bekanntlich auch mit.


    Gruss
    MPage

  • Hi


    @klaus
    1. Ich wünsche erstmal nen schönen Urlaub
    2. nicht hetzen lassen :D, es sind dir extrem viele dankbar und ein paar nörgler gibts immer
    3. Zum Channel-Scan hat ja AKool schon ein Plugin geschrieben, evtl. kann das ja ausgebaut werden. Als Plugin fände ich das eh besser.
    4. zu den OSD Farben: der Anfang ist ja gemacht und den Rest bringt die Zeit


    EDIT:
    nur mal aus Interresse, wielviel Platz ist eigentlich an Speicher fürs OSD vorhanden?


    @alle
    Das mit dem OSD-Layout ist ja teilweise mit dem ElchiAIO lösbar.


    mit den 256 Farben kann man verdammt viel anstellen, wie das umgesetzt wird, ist nur eine Frage der Zeit. Da mach ich mir keine Sorgen.
    Ich bin auch davon überzeugt, das verschiedene Entwickler schon ihre Ideen haben und auch schon angefangen haben, da was zu schreiben. Nur ihr müß den Leuten Zeit geben!!!


    Ihr müßt bedenken, das das ganze in deren Freizeit geschrieben wird und sie das FREIWILLIG tun. Ich möchte nicht wissen, wieviele Stunden Arbeit in VDR und den Plugins stecken.
    Außerdem, seht euch mal an, welche Fortschritte VDR im letzen Jahr gemacht hat.

    Dirk

    21.jpg

  • Zitat

    Original von Dirk
    ...
    nur mal aus Interresse, wielviel Platz ist eigentlich an Speicher fürs OSD vorhanden?
    ...


    Wie in meinem ursprünglichen Posting geschrieben: ca. 80KB (ok, 80000 != 80*1024,
    aber wenn es jemand ganz genau wissen will, muß er halt so lange sein Fenster
    vergrößern, bis es nicht mehr angezeigt wird ;-)


    Für ein Full-Screen OSD mit 256 Farben bräuchte man bei der Default-OSD-Größe von
    VDR 624*486 = 303264 Byte. Da nützt es auch nichts, wenn eine Firmwareversion "mal
    ein paar Byte mehr verfügbar macht" - es bräuchte fast das vierfache an Speicher...


    Klaus

  • Hi


    @Klaus


    Danke!
    Das ist verdammt wenig.

    Dirk

    21.jpg

  • Was ich mich frage ist, ob man an die 256 Farben gebunden ist. Kann man nicht vielleicht auch eine Zwischenfarbtiefe laufen lassen? sowas wie 128 Farben? Vielleicht ists falsch gedacht, aber wenn man hier mit halbbytes oder so arbeiten würde, dann würde man doch mehr unterbekommen und könnte einen größeren Bereich ausfüllen.
    Für ein OSD würden ja 50 frei definierbare Farben mehr als ausreichen.