Konfiguration Videoausgänge, Terminatorbug

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Konfiguration Videoausgänge, Terminatorbug

Beitrag von Barf »

Ein seit Jahren bestehender Bug in CVS ist der "Terminator-Bug" bei S-Video als Videoformat wird das Videosignal zum VCR Schwarzweiss. Ich habe ein gefixtes saa-Treiber hier vorgestellt, aber durch andere Schwächen ist der Fix nicht ganz ohne Nebenwirkungen (fummel mit scart.conf erforderlich, macht die Kiste unbenutzbar (?) für RGB).

Der Grund für dieses Problem ist der zu einfache controld/scart.conf-Mechanismus. Ich habe grossen Teile von controld umgeschrieben, um den Switch-Manipulationen abhänging von Videoformat zu machen. Hier gibt das Ganze.

Benutzersichtbare Änderungen:
- Der Benutzer kann in Neutrino das Videoformat für VCR in dBox -> Einstellungen -> Video wählen (CVBS oder SVideo). (Wobei SVideo nur funktioniert wenn Svideo als "Haubt-videoformat" gewählt ist). (Mit einege Anstrengungen glaube ich es wäre möglich, CVBS als TV-Format und SVidoe für VCR zuzulassen.)
- Terminatorbug behoben
- 16:9/4:3 Umschaltung bei LIRC integriert (siehe http://forum.tuxbox.org/forum/viewtopic ... 41&start=6
- Keine Konfigurationsfile wie scart,conf
- fblk bei YUV ist 0 (siehe http://forum.tuxbox.org/forum/viewtopic.php?t=36134)

Warum keine Konfigurationsfile? (wie scart.conf oder nachfolger) Weil ich glaube an "do it right, not configurable". Es gab zwei Grunde für scart.conf: Erstmals waren die Entwickler nicht sicher wie eigentlich der AVS-Switch funktionierte, zweitens war es eigentlich zu wenige Parameter drin, deswegen unterschiedliche scart.conf für unterschiedliche Fälle. Falls es sich zeigt, eine Konfigurationsfile ist trotzdem wirklich nötig, habe ich ein "Template" in dem Paket gepackt: meine Vorstellung wie so eine Konfigurationsfile auszusehen hat.

In dem Patchpaket ist keine neue locals.h inkludiert. Dazu: Wechsele zu .../apps/tuxbox/neutrino/data/locales. Du brauchst die aktuelle (von gestern) Makefile.am da.

make install-locals

machst dir eine neue locals.h. Siehe http://forum.tuxbox.org/forum/viewtopic.php?t=39510

Bitte Testen und Feedback geben.
<drohung>
Sonst kommt es ungetestet in CVS... ... ...
</drohung>
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

@ Barf

Hört sind ja echt toll an.

Sobald unser Imagebauer wacht ist werden wir testen... :D :D


Gruß
____Paule
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Ich habe eine neue Version gemacht. Kann SVideo für VCR bei SVideo und CVBS für TV. Ferner gibt es eine unfassende Konfigurationsfile.

Alle Details hier. Da gibt es auch Download und test-images.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Super Beschreibung, allein dafür schon mal mein Dank :-)
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

hab ich wieder was zum testen :)
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

und schon kommt der erste fehler :(

Code: Alles auswählen

...
make[5]: Entering directory `/home/mb405/image/tuxbox-cvs/apps/tuxbox/neutrino/daemons/controld/driver'
make[5]: Für das Ziel »all« ist nichts zu tun.
make[5]: Leaving directory `/home/mb405/image/tuxbox-cvs/apps/tuxbox/neutrino/daemons/controld/driver'
make[5]: Entering directory `/home/mb405/image/tuxbox-cvs/apps/tuxbox/neutrino/daemons/controld'
/usr/local/mm/bin/mmx -M do-inits.mm -F xml -S io-config.xml -F txt -T avs_settings.cpp
make[5]: /usr/local/mm/bin/mmx: Kommando nicht gefunden
make[5]: *** [avs_settings.cpp] Fehler 127
make[5]: Leaving directory `/home/mb405/image/tuxbox-cvs/apps/tuxbox/neutrino/daemons/controld'
make[4]: *** [all-recursive] Fehler 1
make[4]: Leaving directory `/home/mb405/image/tuxbox-cvs/apps/tuxbox/neutrino/daemons/controld'
make[3]: *** [all-recursive] Fehler 1
...
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Die kurze Anwort ist:

Code: Alles auswählen

touch avs_settings.cpp
Dann soll es gehen.

Die Lange: Ich habe es nirgendwo erklärt, so ich mache es hier:

Die Konfigurationsfile io-config.xml ist Master. Aus diesem wird ein C Fragment avs_settings.cpp (enthält defaultsettings falls KOnfigurationsdatei während Laufzeit nicht gefunden wird) erzeugt. Aus Single-Sourcing-Grunden will ich unbedingt diese ERZEUGEN aus io-settings.xml. Zu diesem Zweck benutze ich das Tool Metamorphosis (Programm ist do-inits.mm). Metamorphosis ist zwar kein Open-Source, aber in Binärform von http://www.ovidius.com kostenlos erhältlich. Andere Alternative währe, z.B. XSLT, oder ein Programm mit hilfe von z.B. libxml2 zu schreiben. Eigentlich nur der Maintainer braucht avs_settings.cpp neu erzeugen. Das Makefile sagt dass io-config.xml ist prerequiste für avs_settings.cpp; also, sobald die Letztere neuer ist als die Erste ist make zufrieden (deswegen das touch-Kommando, um make zu sagen dass avs_settings.cpp ist up to date).

Es ist kleines Dilemma wie in Open-Source Zusammenhänge mit "ungewöhnliche" Tools umgeht. Meine Meinung ist dass das geheimhalten von benutzte Tools (do_inits.mm) die schlesteste Alternative darstellt. Falls jemand do_init.mm in, z.B. XSLT umschreibt, wurde ich mich freuen. Aber, wie gesagt, braucht nur der Maintainer. (Und in Notfall kann mann händisch darin ferkeln :wink: )
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

so jetz hab ich das metamorph installiert

EDIT
fehler von mir :)
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

kann es sein, das es bei phillips probleme gibt ?
ich hab ne nokia, da geht es wunderbar. nur bei phillips kommen nur streifen, und kein vernünftiges bild
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

mb405 hat geschrieben:kann es sein, das es bei phillips probleme gibt ?
ich hab ne nokia, da geht es wunderbar. nur bei phillips kommen nur streifen, und kein vernünftiges bild
Durchaus. Ich habe kein Philips, sondern bin auf die Phlipsbesitzern abhängig... Kannst du versuchen herauszufinden, falls du funktionierende parametern (in io-config.xml finden kannst? Die existierende entspechen in wesentlichen scart.conf
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

ich teste mal bisserl, obwohl ich bald denke, das die io-config.xml dadran schuld war. ich hab die beim eincopieren wohl bisserl verstümmelt.

Code: Alles auswählen

..
<vendor name="philips">
    <operating-mode mode="dvb">
      <tv-format format="cvbs">
        <v1 value="1"/>
        <vcr-format format="cvbs">
          <v2 value="1"/>
        </vcr-format>
        <vcr-format format="svideo">
          <v2 value="1"/>
        </vcr-format>
	<v3 value="3"/>
      </tv-format>
      <tv-format format="rgb">
        <v1 value="1"/>
        <vcr-format format="cvbs">
          <v2 value="1"/>
        </vcr-format>
        <vcr-format format="svideo">
          <v2 value="1"/>
        </vcr-format>
	<v3 value="3"/>
      </tv-format>
      <tv-format format="svideo">
        <v1 value="1"/>
        <vcr-format format="cvbs">
          <v2 value="1"/>
        </vcr-format>
        <vcr-format format="svideo">
          <v2 value="1"/>
        </vcr-format>
	<v3 value="3"/>
      </tv-format>
      <tv-format format="yuv_vbs">
        <v1 value="1"/>
        <vcr-format format="cvbs">
          <v2 value="1"/>
        </vcr-format>
        <vcr-format format="svideo">
          <v2 value="1"/>
        </vcr-format>
	<v3 value="3"/>
      </tv-format>
      <tv-format format="yuv_cvbs">
        <v1 value="1"/>
         <vcr-format format="cvbs">
          <v2 value="1"/>
        </vcr-format>
        <vcr-format format="svideo">
          <v2 value="1"/>
        </vcr-format>
	<v3 value="3"/>
      </tv-format>
      <a1 value="1"/>
      <a2 value="1"/>
      <a3 value="1"/>
      <fblk value="1"/>
    </operating-mode>
    <operating-mode mode="scart">
      <tv-format format="cvbs">
        <v1 value="3"/>
        <vcr-format format="cvbs">
          <v2 value="2"/>
        </vcr-format>
        <vcr-format format="svideo">
          <v2 value="2"/>
        </vcr-format>
	<v3 value="1"/>
      </tv-format>
      <tv-format format="rgb">
        <v1 value="3"/>
        <vcr-format format="cvbs">
          <v2 value="2"/>
        </vcr-format>
        <vcr-format format="svideo">
          <v2 value="2"/>
        </vcr-format>
	<v3 value="1"/>
      </tv-format>
      <tv-format format="svideo">
        <v1 value="3"/>
        <vcr-format format="cvbs">
          <v2 value="2"/>
        </vcr-format>
        <vcr-format format="svideo">
          <v2 value="2"/>
        </vcr-format>
	<v3 value="1"/>
      </tv-format>
also am ende hat da wohl was gefehlt. ich hab die neu eingespielt, und nun scheint es zu klappen. kannst da nicht noch was einbauen, damit der eine standard erstellt,wenn nix da ist ?
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

also die scart.conf sieht so aus. damit geht alles. Phillips wollen nicht mit der neuen :( am vcr ist bild, nur am tv ist nix da

Code: Alles auswählen

#typ_vcr/dvb: 	v1 a1 v2 a2 v3 a3 (vcr_only: fblk)
nokia_scart: 	3 2 1 0 1 1
nokia_dvb: 	5 1 1 0 1 1
sagem_scart: 	2 1 0 0 0 0
sagem_dvb: 	0 0 0 0 0 0
philips_scart: 	3 3 2 2 3 2 
philips_dvb: 	1 1 1 1 1 1
was muss ich nun in der *.xml wo ändern ? ich blick da nicht durch.Bitte erkläre bischen die ganzen einträge.
Danke
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Ich habe ein Progrämmchen scart-conf2io-config.pl das ein scart.conf in io-config.xml transformiere. Typischer usage:

scart-conf2io-config.pl scart.conf > io-config.xml

Zum Erklärung: Erstmals, die Thematik ist kompiziert. Ich habe hier und hier mich angestengt um das ganze zu erklären. Ich glaube, wie ich dadrin schreibe, dass falls die Begriffe (die ich dadrin erklärt habe) klar sind, dann ist auch die io-config.xml (quasi) selbsterklärend. Mein langristiges Ziel ist ja auch nicht ein super Konfigurationsfile zu entwerfen, sondern die userkonfiguration abzuschaffen! :lol:

Es ist oft besser, mit switch interaktiv rumzufummeln,.und danach die gefunde "gute" Werte in io-config.xml (oder scart.conf) einzufügen.

Genau was bewirkt v3 bei Philips? Ich habe das Datenblatt für den STV studiert, und bekomme den Eindruck, dass es kaum was bewirken kann??!!
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

also Barf
ich hab mal aus meiner scart.conf mit deinen programm eine io-config.xml erstellt.
vielleicht kannst du daraus erkennen was so abgeht.

PS die originale von dir bringt bei Phillips kein Bild am TV-out. mit der neuen geht es zumindest auf Phillips. Nokia kann ich derzeit nicht testen, aber der folgt noch.
ich häng mal die dateien an HIER

PS Nokia und Philips funzen damit. Sagem kann ich nicht testen, da ich keine besitze.
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

der Unterschied ist v3 bei Philips, da habe ich irgendwie die "1" und "3" verttauscht.

Ich besitze selbst ein Nokia und ein Sagem, kein Philips.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

also ich hänge mal eine funktionierende auf nokia, philips, sagem an.
ich hab die aus der scart.conf erstellt. vielleicht kannst du ja dein diff daraufhin anpassen. HIER
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

@Barf
kannst du das nicht einchecken?
dann können mehr leute das testen. bei mir geht es einwandfrei.
schufti
Einsteiger
Einsteiger
Beiträge: 352
Registriert: Freitag 20. August 2004, 23:33

Beitrag von schufti »

Hi Barf,

ich habe auf meiner Nokia dein Testimage aufgespielt. Ich bin sehr zufrieden damit, nur ein kleines Problem habe ich:

konfiguriere ich RGB+CVBS,kommt im Standby zwar der Ton des am Fernseher eingestellten Programms, aber der Bildschirm bleibt schwarz.
Stelle ich nur CVBS ein, kommt im Standby Ton+Bild vom Fernseherprogramm.

Das Problem ist auf meinem Mitsubishi und Siemens Fernseher gleich. Mit den scart.conf Versionen funktionierte das ohne Anpassungen.

Was soll ich testen/messen, welche Parameter kann ich verändern?

mfG,
Schufti
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

was für ne box hast du ??
Barf hat nur mit Nokia getestet denke ich.
du kannst im telnet mal "switch -h" eingeben.
da hste jede menge optionen, um zu testen, was am besten geht.
Barf hat auch ein wandeltool angehängt, wo du deine scart.conf wandeln kannst.
schufti
Einsteiger
Einsteiger
Beiträge: 352
Registriert: Freitag 20. August 2004, 23:33

Beitrag von schufti »

Hi,

ich habe ne NOKIA, wie bereits erwähnt.

switch kenn ich, nur sagen mir die Optionen rein gar nix.
Daher habe ich ja auch versucht, das Problem so genau wie möglich darzustellen um die Möglichkeit zu geben, auf die richtige option hinzuweisen.

wäre es nicht kontraproduktiv, die von barf erarbeiteten settings mit denen aus einer standart scart.conf (mit denen hats ja bisher in allen images - yadi, dietmarw, jdk - funktioniert) zu verpfuschen?

schufti
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

schufti hat geschrieben:konfiguriere ich RGB+CVBS,kommt im Standby zwar der Ton des am Fernseher eingestellten Programms, aber der Bildschirm bleibt schwarz.
Stelle ich nur CVBS ein, kommt im Standby Ton+Bild vom Fernseherprogramm.

Code: Alles auswählen

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE io-config SYSTEM "io-config.dtd">
<io-config>
  <vendor name="nokia">
    <operating-mode mode="dvb">
      <tv-format format="cvbs">
        <v1 value="1"/>
        <vcr-format format="cvbs">
          <v2 value="1"/>
        </vcr-format>
        <vcr-format format="svideo">
          <v2 value="2"/>
        </vcr-format>
        <v3 value="0"/>
      </tv-format>
      <tv-format format="rgb">
        <v1 value="5"/>
   ...
Angenommen dass deine Beschreibung absolut korrekt ist, ändere die letzte 5 oben in dein bevorzugte v1-Wert von scart.conf (zeile nokia_dvb). Empirisch kannst du

Code: Alles auswählen

switch -rv 1 n
für n = 0,1,2,3,4,5,6,7 probieren.
Barf hat nur mit Nokia getestet denke ich.
Ich habe mit Nokia und Sagem getestet, die Werte für Philips sind von scart.conf.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

kannst du die anderen switch befehle noch erklären Barf ?
das -rv hast ja erklärt.
das -ra bezieht sich auf den ton. (-ra 1 0 -> 1 7)

nur das verstehe ich nicht :gruebel:
-zcd, --zero-cross-detector <on/off> set ZCD
-fnc, --video-function-switch-control <0/1/2/3 set FNC
-ycm, --y-c-mix <0/1> set Y/C Mix (only cxa2092)
-fblk, --video-fast-blanking-control <0/1/2/3> set FBLK
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

mb405 hat geschrieben:kannst du die anderen switch befehle noch erklären Barf ?
Die einfache, überflächliche Frage ist "was macht switch". Antwort: gibt weiter an das Switch-Chip (CXA2092/CXA2126/STV6412) Tiefere Frage: was macht das Chip damit?
das -rv hast ja erklärt.
das -ra bezieht sich auf den ton. (-ra 1 0 -> 1 7)
zweite parameter nur bis 3 sinnvoll.
nur das verstehe ich nicht :gruebel:

-zcd, --zero-cross-detector <on/off> set ZCD
Datenblatt für CXA 2126 sagt "...reduces the effect of 'click noise' when implementing a volume change or an audio mute. ..."
-fnc, --video-function-switch-control <0/1/2/3 set FNC
Steuert die Pin8 schaltspannung: 0: 0 Volt (inaktiv) 1: 6 Volt (aktiv, 16:9), 2: 12 Volt (aktiv, 4:3), 3: wie 2(?)
-ycm, --y-c-mix <0/1> set Y/C Mix (only cxa2092)
Weiss nicht genau, hat mit SVideo zu tun.

-fblk, --video-fast-blanking-control <0/1/2/3> set FBLK
Ausführlich in mein IO-Artikel erklärt.

Übrigens habe ich ein scart.conf-aufwärtskompatible Version des Patches in Prinzip fertig. Natürlich gehört es, in irgendeiner Form, in CVS.
schufti
Einsteiger
Einsteiger
Beiträge: 352
Registriert: Freitag 20. August 2004, 23:33

Beitrag von schufti »

Hi barf,

also der Parameter -rv 1 n hat keine Äbderung gebracht. Aber ich habe Vergleiche mit switch -s gemacht, und gefunden, dass ein switch -fblk 0 oder switch -fblk 2 im Standby der dbox das Bild am Fernseher wieder herzaubert (original ist fblk 1 mit deiner io-config.xml).

Leider habe ich in der io-config.xml keinen fblk Eintrag in der Nokia/dvb/rgb section gefunden. Kann man den einfach so einfügen? bzw was bewirkt fblk 0..3?

danke für deine Hilfe,
schufti
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Ich habe da auch mal eine kurze zwischenfrage:
Gibts mit der patcherei eigentlich auch eine Möglichkeit das eine Nokia Avia500 im Deepstandy ein RGB Signal durchschleifen kann. (das sie mit der Schaltspannung erst hochgefahren wird würde ich per Hardwareumbau dann unterdrücken).

Ich weis das Barf eine Beschreibung verfasst hat, aber bevor ich sie von jemanden erst gegen $ übersetzen lassen muß, wäre eine kurze Anwort mir ganz lieb.

Gruß Gorcon