Kurze Anleitung fuer den Dekoder:

Funktionsprinzip:

Der Dekoder dekodiert Videosignale von Premiere und anderen, nach
dem gleichen Verfahren (Nagravision) arbeitende PayTV-Programme
z. B. TeleClub. Diverse englische PayTV-Programme arbeiten
nach Videocrypt und koennen hiermit nicht dekodiert werden.
Zur Dekodierung wird das Videosgnal von einer, mit dem Bt848-Chip
arbeitenden Videokarte (Hauppauge WinTV-PCI u. aehnliches) benutzt.
Das Dekodierverfahren beruht auf der Analyse des Bildinhaltes, wodurch
es keine Schluessel oder aehnliches benoetigt, allerdings auch
Schwierigkeiten bei bestimmten Bildinhalten auftreten.
Da es sich hierbei um Videodatenverarbeitung in Echtzeit handelt,
werden hohe Ansprueche an den verwendeten Rechner gestellt.

Systemvorraussetzungen:

- CPU mindestens Pentium oder kompatibel (MMX mit min. 166 MHz empfohlen)
- Mainboard mit neuerem PCI-Chipsatz (Chipsets vor "Triton" sind viel
  zu langsam hinsichtlich Speicher und PCI-Bus)
- min. 32 MB schneller Hauptspeicher (SDRAM auf TX-Board ist empfohlen)
- Win95
- halbwegs schnelle Grafikkarte mit Direct-Draw-Treiber (wird auch
  fuer WinTV benoetigt)
- 30 MB Festplattenplatz

Installation:

- alle Dateien in ein Verzeichnis kopieren (die Datei "TESTBI.BIN" ist
  nicht unbedingt notwendig)
- wichtige Daten noch laufender Programme speichern
- es muessen jetzt noch min. 28 MB Festplattenplatz frei sein
- Das Programm "GENCRC2.EXE" starten. Es erzeugt eine 28 MB grosze
  Hashtable (dauert ca. 5 min).
- den eigentlichen Dekoder "DEK.EXE" starten, Parameter wie folgt
  /cKxx:  Kanal einstellen (K2..K12,S4..S41,K21..K70 waehlbar)
          default ist S20

  /mx:    Bildschirmmodus einstellen:
            0: eigene Oberflaeche 800*600 HiColor 64K Farben (default)
            1: eigene Oberflaeche 1024*768 HiColor 64K Farben
            2: auf Desktop mit HiColor 64K Farben
            Modi mit YUV-Ausgabe sind noch nicht implememntiert

  /fname: Name einer Testbilddatei zum laden angeben (default ist
          "TESTBI.BIN")

  /t:     Testmode, es wird eine Testbilddatei geladen und in einer
          Endlosschleife laufen gelassen. Die WinTV-Karte wird
          nicht initialisiert und braucht auch nicht im Rechner stecken.
          im Testmode wird die gemessene Framrate auf die Konsole aus-
          gegeben.

  /v:     Vebose-Mode (diverse Testausgaben auf die Konsole)
 
  /px:    stellt FIFO-Triggerpunkt der WinTV-Karte ein (default:3)
          kleinere Werte bedeuted kuerzere PCI-Bursts = langsamer und
          evtl. weniger Abstuerze (bei 0 ist alles etwa nur noch halb so 
          schnell)




Die Bedienung erfolgt ueber Hotkeys wie folgt:

Ausgabemodi:
'X'       Farbausgabe mit MMX-Routinen (default bei MMX)
'C'       Farbausgabe ohne MMX (default ohne MMX)
'M'       Monochrome Ausgabe ohne MMX-Benutzung (ohne MMX schneller)
'T'       Testausgabe-Modus (Es wird nichts in den Bildspeicher geschrieben)

Einstellungen fuer Dekodierung:
'A'       Automatik fuer Dekodierung einschalten (erkennt anhand der Daten
          in Bildaustastluecke ob verschluesselt gesendet wird oder
          unverschluesselt)
          Defaulteinstellung
'E'       schaltet zwischen entschluesselter und unentschluesselter
          Darstellung um. Gleichzeitig wird die Automatik ausgeschalten

Testbilddaten:
'R'       liest die Testbild-Datei ein und stellt sie in Endlosschleife
          dar mit Messung der Framerate
'W'       schreibt die aktuellen Videodaten in die Datei "TESTBI.BIN".
          Die Datei beinhaltet 20 Vollbilder (0.8 s) in der Form wie sie
          von der WinTV-Karte kommen und ist ca. 9 MB grosz.

Kanaleinstellung:
'+' und '-' auf Nummernblock:
          Kanal vom Anfangs eingestellten vorwaerts bzw. rueckwaerts
          durchschalten. Folgende Reihenfolge ist festgelegt:
           - VHF Kanal K2..12
           - Sonderkanaele S4..41
           - UHF Kanal K21..70

sonstige Funktionen:
'S'       Bildausgabe stoppen (Standbild), nochmal druecken zum laufen
          lassen
'N'       Neues Bild im Standbildmodus
'V'       Verbose-Modus ein-/ausschalten (diverse Testausgaben auf die
          Konsole)
'K'       Taktzaehlung fuer jedes Vollbild ausgeben
ESC       Programm beenden


Performance-Probleme:

Das Programm verlangt sehr viel Rechenleistung, weshalb man alle Rechenzeit-
intensiven Prgramme beenden bzw. stoppen sollte:
  - DOS-Boxen schlafen lassen durch Druecken der PAUSE-Taste
  - Windows-Programme beenden, wenn sie sich als Rechenzeit-Verschwender
    ausweisen (Acrobat-Reader ist z. B. ein solches).
Die Rechenzeitverschwender lassen sich durch die max. Framerate im Test-
Modus erkennen.
Soweit das System nicht instabil wird alle Setup-Parameter, die mit
Speichergeschwindigkeit zu tun haben auf "besonders schnell" stellen.

Ohne MMX-Unterstuetzung ist besonders die Farbausgabe sehr langsam.
Dies liegt vor allem an der langsamen Integer-Multiplikation beim
Pentium (koennte mit Cyrix oder PPro besser sein).
Nur mit MMX ist eine Ausgabe aller Frames in Farbe moeglich, wobei
bei der HiColor-Ausgabe nur eine Aufloesung von 400 Punkten / Zeile
moeglich ist.
Mit YUV-Ausgabe (bei Grafikkarten mit Videounterstuetzung) sollte
mehr moeglich sein, ist aber noch nicht implementiert.
Da die Ausgaben im Verbose-Modus auch ziemlich viel Zeit brauchen,
sollten sie default aus sein !

Frameraten auf meinem Rechner mit Breitwand-Film
(P200-MMX auf Gigabyte-TX-Board mit 32 MB SDRam und S3-Trio-Grafikkarte):

Testmode:
Color-MMX:  29.7 Frames/s
Color:      13.5 Frames/s
Mono:       35.5 Frames/s

Normal:
Color-MMX:  21.7 Frames/s
Color:       9.8 Frames/s
Mono:       26.0 Frames/s

Sonstige Probleme:

Testmode:
Beim Testmode werden 20 Frames roher Bilddaten mit den normalen
Routinen dekodiert und angezeigt, so wie es im laufenden Betrieb auch
passiert. Damit ist eine brauchbare Performance-Messung moeglich.

Im Testmodus ("/t" in der Kommandozeile) wird die WinTV-Karte nicht
initialisiert. Wenn man dagegen 'R' im laufenden Programm drueckt ist die
WinTV-Karte initialisiert und liest weiter die Videodaten in den
Hauptspeicher, was unterschiedliche Frameraten erklaert.
Im Testmodus sollte die Frame-Rate fuer eine lueckenlose Darstellung
min. 27 bis 28 Frames/s sein.

Breitwandfilme (mit schwarzem Rand oben und unten) lassen sich
einfacher dekodieren, als Filme im vollen Format, wodurch auch
hoehere Frameraten erreicht werden.
Die Dekodierroutine fuer Vollformatfilme auf nicht-MMX-Prozessoren
ist sehr primitiv, was die schlechten Ergebnisse erklaert.

Falls irgendwas nicht funktioniert erstmal Testmode benutzen,
das zeigt, ob Direct-Draw und das Programm an sich laeuft.
Dann einen unverschluesselten Kanal ansehen. Geht das nicht,
liegt wohl irgendein Problem mit der WinTV-Karte vor
(IRQ und Memory der WinTV mit den Werten in der Systemsteuerung
vergleichen !)
Ansonsten bitte Konsolenausgaben des Programms
in Datei umleiten und mir geben (Verbose-Mode einschalten) !

Falls im Normal-Modus nur die Meldung "kein Speicher" kommt,
hat der Treiber nicht genuegend nonpaged Speicher vom Kernel
bekommen (3*500K). Da der Kernel-Heap vom Win95 offensichtlich
keine Garbage-Collection macht, hilft dann meist nur booten !
Eine bessere Loesung ist mir noch nicht eingefallen.

Das Direct-Draw zeigt sich bei mir gelegentlich recht instabil
bei der Modusumschaltung (das ist vielleicht normal im Win95).

Im Bildschirmmodus 2 (direkt auf dem Desktop) wird erwartet,
dasz dieser im HiColor-Modus laeuft, sonst Bug !

Von der CPU wird erwartet, dasz sie den CPUID-Befehl kennt und
einen Timestamp-Counter besitzt !

Falls die Entschluessel-Automatik nicht richtig arbeitet (schlechtes
Signal oder anderes Programm) mit 'E' im Handbetrieb schalten !

Aufzeichnungen des verschluesselten Signals auf dem Videorekorder
werden nur sehr schlecht oder gar nicht dekodiert !


Das Programm bitte nicht weiterverbreiten, besonders nicht im
Internet oder ueber Mailboxen !

