Dieses Programm decodiert diverse Syster-kodierte Sender im Fenster unter X. 
Die Decodierung von Sendern, die im eigenen Land abbonierbar sind, 
ist nicht gestattet. Die farbrichtige Decodierung von Sendern mit SECAM-Farbnorm 
ist nicht realisiert, da leider keiner von den franzsischen Entwicklern seine
Quellen freigibt und zwischen dem franzsischen Telecom-Satelliten und 
meiner Antenne ein Haus steht.

History: 

2.14: erste (sehr langsame) Version

2.14a-c: wurden nicht verffentlicht 

2.14d: Beschleunigung der Farbkonvertierung durch MMX, diverse Optimierungen

2.14e: HighQualityMode durch Darstellung beider Halbbilder 

2.14f: Beschleunigte Decodierung durch Auswertung des Wide Screen Signals,
       Parameter jetzt in 'const.h', Umschaltung der Anzahl der zu
       korrelierenden Zeile zur Laufzeit 

2.14g: Auslagerung der Tabellen in Dateien, dadurch schnelle Umschaltmglichkeit
       zwischen der Anzahl der zu korrelierenden Zeilen im Bereich 4..64

2.14h: Die Farbphase wird nun automatisch bestimmt. Die Umschaltung mit   
       'Backspace' von Hand entfllt. Das bttv-Modul ist wieder gendert 
       und mu ersetzt werden. Die Anzahl der Couples ist jetzt bis max. 88
       whlbar.

2.14i: Integration der Videocrypt-Decodierung, die Taste 'Backspace' schaltet
       nun zwischen Nagra und Videocrypt um.

2.25j: - Anpassungen an Xawtv Version 2.25 und die bttv-Version 0.5.15. Damit
         sollten jetzt auch Framegrabberkarten mit bt878 untersttzt werden.
       - Im FullScreenMode wird direkt in die Grafikkarte ausgegeben.
	 Damit wird jetzt die selbe Geschwindigkeit erreicht, wie mit nagratv.
       - Der Nagra-Decoder wird bei verschlsselten Programmen automatisch eingeschaltet 
         (und auch wieder abgeschaltet).
       - Die PAL-Statuszeile wird jetzt automatisch verwendet, wenn sie erkannt
         wird. 
       - Die Assembler-Funktionen werden fr alle Werte der zu korrelierenden
	 Zeilen verwendet. Die Tabellen sind deshalb mit 'prep-tabs' neu
	 anzulegen.
       - diverse Verbesserungen der Performance

2.25k: - Integration der Farbkonvertierungfunktion von Pubs (Taste 'P') durch 
         die Hilfe von Darkstar.
       - Das Programm luft nun mit 15 und 16 Bit Farbtiefe

2.25l: - Beschleunigung der Pubs-Farbkonvertierungfunktion
       - Alte Farbkonvertierung entfernt
       - fr 15-Bit-Farbe ist putline.s auf putline15.s zu linken
       - wieder volle Auflsung (768x576)
       - die orginalen bttv-Module ab Version 0.5.19 laufen jetzt unverndert,
         daher werden ab sofort keine Module mehr mitgeliefert

2.25m: - Softvideocrypt (channel5) in Farbe 
       - mit ./prep-tabs2 muss die Farbtabelle erstellt werden!
       - wieder einen eigenen bttv dabei getan
       - bei 15bit Systemen (riva) muss in prep-tabs2.c bits=16 auf bits=15
	 gesetzt werden
2.25n: - mit der b-Taste kann der Palburst fr die Farbe bei Softvideocrypt
	 umgeschaltet werden 
       - Die Farben sollten etwas besser sein
         (Achtung: fr die nderungen auf alle Flle prep-tabs2 aufrufen,
	 und auch das Programm ber make install installieren)
2.25o: - Hardcrypt color Mode hinzugefgt (in der Statuszeile an hcrypt zu
	 erkennen). Achtung: ist sehr langsam und auch nicht immer perfekt!
       - Einen ganz komischen algo fr Hardcrypt hinzugefgt (zu erkennen
	 an kcrypt in der Statuszeile). Eventuell kann mir ja mal jemand 
         erklren, warum dieser algo berhaupt ein Ergebnis liefern kann,
	 das sogar manchmal ganz brauchbar aussieht.
       - Die verschiedenen algos sind ber die backspace-Taste anzusprechen
       - Der name der Tastaturbelegung ist gendert, damit man auch die
         normale xawtv-Version benutzen kann (make install nicht vergessen)
2.25p: - schneller bei hardcrypt color Mode
2.25q: - KEYCRYPT-Modus added (ohne Angabe von Parametern wird ein key mit
	 dem Namen /usr/local/share/xawtv/default.vck versucht einzulesen)
       - mit der option -s [Sendername] kann beim starten von xawtv ein
	 key ausgewhlt werden. Die Datei liegt im Ordner 
	 /usr/local/share/xawtv, wobei der Dateiname automatisch sendername.vck,
	 bzw. sendername.vcr heisst. ACHTUNG beim Aufnehmen von keys wird 
	 aus der vcr Datei ein vck-File erstellt, das alte also berschrieben.
	 Ohne die option -s versucht xawtv den Sendernamen anhand der Video-
	 text Seiten zu erkennen, falls das nicht klappt, wird der Sendername
	 auf default gestellt.
       - mit der Option -q kann die Qualitt des zu erstellenden vck-Files
	 bestimmt werden. Mit -q 0 werden alle keys genommen, mit -q 1 werden
	 nur dupes genommen
       - mit der option -w wird beim starten von xawtv eine neue vck-Datei
	 erstellt, bzw. eine alte berschrieben. Dafr muss natrlich eine
	 entsprechende vcr-Datei vorliegen (sendername.vcr)
       - auf der Taste 5 liegt der alte vcrypt-Modus
       - auf der Taste 6 liegt der SoftCrypt-Modus
       - auf der Taste 7 liegt der alte Hardcrypt-Modus
       - auf der Taste 8 liegt der neue KEY-Modus
       - auf der Taste 9 liegt der Modus zum Aufzeichnen der keys
       - ber die Taste n kann Nagra eingeschaltet werden
       - Fr Leute die Scripts benutzen mchten:
	 in der Datei /root/.xawtv die option
	 capture=grabdisplay setzen und xawtv ber xawtv -9 starten
2.25q1 - Fehler beim erstellen von keyfiles mit der option -s behoben
       - startoption -a [x] added, beim Aufzeichnen von keys wird nur
	 jedes xte Bild ausgegeben, bzw. wenn es einen valid key erzeugt
	 hat, bzw. wenn es ber einen bestehenden key gefunden wurde
	 (sollte etwas Geschwindigkeit bringen)
       - brigens, die keyfiles werden im Ordner /usr/local/share/xawtv
	 abgelegt!
2.25q2 - Ich hoffe das Programm startet jetzt bei allen ohne segfault
       - Es sollte jetzt erkannt werden, wenn die Sender in den key-Modi
	 uncodiert senden
       - naja, so wie es aussieht ist es eh zu ende mit den keys, das 
	 Einzige, was mir da einfllt, erstmal die Sendung codiert
         mit nem Videorecorder aufnehmen...

xawdecode

1      - Der Programmname hat sich gendert (xawtv-nagra --> xawdecode)
       - Die Keymodi sind entfernt
       - xcrypt-Modus hinzugefgt (kann ber die Taste 8 gewhlt werden,
	 oder beim Aufruf von xawdecode mit der option -8)
	 Thanks to nixwis :-)
       - xawdecode sollte automatisch erkennen, ob eine Sendung videocrypt
	 kodiert ist, wenn das nicht funktioniert kann beim starten von
	 xawdecode mit der option -a der automode abgeschaltet werden


       
(Die nderungen ab der m Version sind von thebeast gemacht)

Systemvoraussetzungen: 

- Linux :-)
- Prozessor mit MMX-Erweiterung und mindestens 166 MHz, 
- schnelle Grafikarte, mit 16 Bit Farbtiefe und dem passenden X-Server,
- min. 16 MB RAM
- Framegrabberkarte mit bt848-Chip
- ...

Copyright: Dieses Programm kann frei kopiert, gelscht, installiert oder
	   anderweitig verwendet werden. Es ist nicht gestattet, es kommerziell 
	   zu vertrieben. Ansonsten gilt die GPL.

	   Es wurden u.a. Ideen und Code von Gaston (Decodierung), Gerd 
	   (das tolle TV-Programm), kamilh (die Idee der MMX-Farbkonvertierung) 
	   M.Kuhn, Jens (Videocrypt) und Steffen verwendet. 

Installation:

Zunchst sollte man xawtv und die bttv-Treiber Version 0.5.19 installieren. 
Beides ist unter http://www.thp.Uni-Koeln.DE/~rjkm/linux/bttv.html zu finden.
Dann ist xawtv-nagra in gleicher Weise, wie die originale Version von 
xawtv zu bersetzen und sollte nun verwendbar sein. 

Vor dem ersten Start ist das Verzeichnis '/usr/local/share/xawtv' anzulegen 
und das Programm 'prep-tabs' auszufhren. Dabei werden die zur Decodierung 
notwendigen Tabellen vorberechnet. Es entstehen ca. 30MB Daten im genannten
Verzeichnis.

Bei Aufruf mit dem Kommandozeilenargument -p wird die Nagra- bzw. Videocrypt-
Decodierung bei Anwendung des grab-Modus (Taste v) aktiviert. 

Mit der Test 'q' kann zwischen der Darstellung eines oder beider Halbbilder
gewechselt werden. Es ist damit mglich, die volle PAL-Auflsung von 768x576 
darzustellen. Diese Option ist nur bei Auflsungen ber 600x400 sinnvoll.
Die notwendige Rechenzeit vergrert sich auch, da in diesem Modus fr jedes
Bild zwei mal decodiert werden mu. Taste 'i' zeigt die aktuelle Bildrate an.

Durch die Taste 's' kann die Verwendung das Wide Screen Signal in Zeile 23 zur 
Verkleinerung des Schlsselraums ab- und angeschaltet werden. Bei Verwendung dieses
Signals wird die Decodierung um Faktoren schneller. Das Wide Screen Signal wird 
derzeit nur von Premiere ausgestrahlt. Im "HighQualityMode" (Tast q) funktioniert 
dieser Modus nicht. Da kein Dreifachbuffer implementiert ist, setzt die Decodierung 
bei Unterschreitung von 25 fps aus (bei zu groer Bildausgabe oder wenn andere 
rechenintensive Programme laufen). Dann mu die Verwendung des WSS-Signals mit
der Taste 's' abgeschaltet werden.

Mit Taste '+' und  '-' kann die Anzahl der zur Korrelation verwendeten Zeilen
im Bereich 4..88 verndert werden.

Die Decodierung kann mit der Taste 'Backspace' von Nagra auf Videocrypt und 
zurck umgestellt werden.

Hinweise:

Dieses Programm verwendet die MMX-Erweiterung der P6-Prozessoren und ist
ohne diese nicht lauffhig. Die Farbtiefe des X-Servers mu 15 oder 16 Bit 
betragen.

Die Auslsung von X im Full-Screen-Modus von xawtv sollte auf 
ca. 390x290 (doublescan) eingestellt werden. Wie das geht, steht in 
den man-pages von xawtv und XF86Config, (die aber sowieso schon jeder gelesen
hat).

Die Rechenzeit sollte, um einen gleichmigen Bildablauf zu gewhrleisten, 
xawtv mglichst vollstndig zur Verfgung stehen. Besonders Tools zur 
Systeminformation wie xosview stren sehr. Mein AMD K6 233 (95MHz*2,5) 
ist bei NB_COUPLES=24 bei einer Auflsung von 384x288 in der Lage die 25 fps 
zu decodieren. Gnstig auf die Frame-Rate wirkt sich neben einem schnellen 
Prozessor mit viel Cache auch die Geschwindigkeit der RAMs und der Grafikkarte 
aus. SDRAMS, 100MHz Bustakt und eine Grafikkarte (egal, ob mit 3D oder nicht) 
mit schnellen RAM's (VRAM) sind vorteilhaft.

Es ist meiner Meinung nicht sinnvoll, die Auflsung im Vollbildmodus auf mehr 
als 384x288 zu stellen. Ein PAL-Farbbild hat regulr eine Auflsung von 768x576. 
Jede 1/50s wird ein Halbbild mit einer Auflsung von 768x288 bertragen 
(Zeile 1,3,5,7..). In der nchsten 1/50s werden die geraden Zeilen gesendet. 
Setzt man beide Halbbilder ohne besondere Manahmen zu einem Bild zusammen, 
entsteht bei bewegten Bildern eine strende Kammstruktur durch den zeitlichen Versatz
der beiden Bilder. Bei einigen Filmen, (Film-Mode) werden zwei halbe Bilder eines 
Bildes anstelle der beiden Halbbilder bertragen. In diesen Fllen tritt dieser 
Effekt nicht auf.

Auf meinem Rechner dauert die Konvertierung eines Farbbildes (384x288) 5ms
(in der alten Version ohne MMX-Untersttzung 14ms), eines SW-Bildes 4 ms, 
die Decodierung eines Halbbildes bei NB_COUPLES=12 ca. 12ms, bei Auswertung
der WSS-Line unter 1 ms. Dazu kommt noch die Zeit fr die Ausgabe des Bildes 
(die beim Programm nagratv entfllt, da das konvertierte Bild direkt in die 
Grafikkarte geschrieben wird) in die Grafikkarte.


Probleme:

-- verschiedene Tasten funktionieren nicht.

xawtv braucht eine Datei 'Xawtv.ad' in '/usr/lib/X11/app-defaults/xawtv'. Diese
Datei legt die Tastaturbelegung fest. Mit 'make install' wird sie in das
genannte Verzeichnis kopiert. Alternativ kann man sie auch mit 'cp' dort hin
kopieren.

-- Programm bricht mit Fehlermeldung 'incorrect bttv.o - version' ab

Das geladene bttv-Modul ist nicht die im Verzeichnis 'bttv/driver' enthaltene
Version. Andere Versionen knnen nicht funktionieren.

-- Die automatische Erkennung der Syster-Decodierung funktioniert nicht.

Eventuell fehlt das Device '/dev/vbi' oder der entsprechende Link auf
'/dev/vbi0'. Um die Devices anzulegen, kann man das Skript 'MAKEDEV' in
'bttv/driver' verwenden.


Stefan
