This file is bringing to you by *MediaMaster*
Http://FreeTV.Notrix.de
Http://FreeTV.cjb.net

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-MMX oder kompatibel
- Mainboard mit neuerem PCI-Chipsatz (Chipsets vor "Triton" sind viel
  zu langsam hinsichtlich Speicher und PCI-Bus)
- min. 32 MB (besser 64 MB) schneller Hauptspeicher 
   (SDRAM auf TX-Board ist empfohlen)
- Win95 oder Win98
- Videokarte mit Bt848-Chip (z. B Hauppauge WinTV, Miro PCTV)
- halbwegs schnelle Grafikkarte mit Direct-Draw-Treiber (DirectX 3 oder 
  hoeher - 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

Kommandozeilenparameter:
  /iname: Name der INI-Datei (default: DEK.INI)

  /cKxx:  Kanal einstellen (K2..K12,S4..S41,K21..K70 waehlbar)
          default ist S20
  /c0:    Video-in benutzen
  /c500.00: Tunerfrequenz direkt angeben (in MHz)

  /a[x]:  Auto-Bildschirmmodus einstellen:
            Bildschirmmodus wird nach DirectDraw-Infos ausgewaehlt,
            man gibt nur die Bildschirmaufloesung an:
             0 oder gar nichts:  Bildschirmmodus nicht wechseln; auf
                                 Desktop darstellen
             1:   800 * 600
             2:   640 * 480 (es wird nur der mittlere Ausschnitt des
                  Bildes dargestellt - guenstig fuer langsme Rechner)
               
  /mx:    Bildschirmmodus explizit einstellen:
            0: RGB, eigene Oberflaeche 800*600 HiColor 64K Farben (default)
            1: RGB, eigene Oberflaeche 1024*768 HiColor 64K Farben
            2: RGB, auf Desktop mit HiColor 64K Farben
	    3: YUV-Overlay auf Desktop
            4: YUV-Overlay mit 800*600 HiColor
            5: YUV-Overlay mit 800*600 TrueColor
            6: mit YUV-Blit auf Desktop
            7: mit YUV-Blit auf 800*600 HiColor
            8: mit YUV-Blit auf 800*600 TrueColor
            9 .. 14 ...
          Erklaerung:
          - die RGB-Modi sind sehr langsam
          - YUV-Blit bedeutet, dasz die Videodaten im YUV-Modus in den nicht
            sichtbaren Teil des Videospeichers geschrieben werden, und dann
            mit Hardware-Blit mit Colorspace-Konvertierung auf den sichtbaren
            Videospeicher geschrieben werden
          - Empfehlung: Modus 4 oder 5 bei verschiedenen S3-Karten (alle neueren
                           mueszten das koennen)
                        Modus 8 oder 7 bei ELSA-Winner 2000-Office, Matrox 
          - bei irgendwelchen DDraw-Fehlern alle Modi durchprobieren
          - wenn kein Bildschirmmodus angegeben ist, wird der AutoModus genommen

  /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)

  /hxxx:  horizontale Pixelzahl (Wertebereich 350..800) 
          Default: - 768 bei normalen Modi
                   - 704 bei Videoausgabe (richtig zum Fernsehen mit der 
                         ELSA-Winner 2000-Office)

          gibt die Anzahl der Pixel, wie sie von der WinTV kommen an
          (ist entscheidend fuer die Geschwindigkeit - weniger Pixel
          ist schneller)

  /2      Anzahl Pixel bei Ausgabe verdoppeln (zur Wahrung des Hoehen-/Seiten-
          verhaeltnisses bei wenig Pixeln. Wird keine Pixelzahl vorgegeben,
          dann wird die default-Pixelzahl halbiert
          Default: aus

Einige Parameter koennen auch in der INI-Datei angegeben werden, Vorrang haben
aber die Kommandozeilenparameter.

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
'B'       Zeigt Bildaustastluecke an (Entschluesselung wird abgeschalten)
          Nochmaliges druecken: Normale Darstellung

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 10 Vollbilder (0.4 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
          Das Umschalten funktioniert nicht bei Angabe einer Frequenz und
          bei Video-in

sonstige Funktionen:
'I'       Bild auf volles Bild zoomen (bei Desktopausgabe) und wieder
          Normalgroesze bei nochmaligen druecken
'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
'1'       nur 1. Halbbild dekodieren (besser, als gar kein Bild bei schlechter
          Qualitaet oder langsamen Rechner)
'F'       Vollen Bildschirm anzeigen (bei Breitwandfilmen werden sonst die
          schwarzen Balken nicht angezeigt - ist auch schneller)
ESC       Programm beenden


ausgewaehlte Ini-Parameter:

Sektion [Settings]
  -AudioControl: gibt Registerwert fuer die Audiosteuerung an, ist bei
                 Videokarten verschiedener Hersteller unterschiedlich.
                 Bei falschem Wert kommt kein Ton vom Tuner.
                 Werte von 0 bis 15 moeglich.
 
  - ReadMapFile: wenn auf 1 gesetzt wird das 28 MB grosze HashFile komplett
                 in den Speicher gelesen und auch alles, was sonst von der
                 Platte gebraucht wird. 
                 Vorteil: - hoehere Dekodiergeschwindigkeit, kaum noch Platten-
                            aktivitaeten nach einigen Minuten Laufzeit
                          - man kann die Platten ueber das Powermanagment
                            abschalten
                 Nachteil: Geht nur wenn mind. 64 MB Speicher vorhanden sind,
                           sonst kommt es zu dauernden Festplattenaktivitaeten 

Einge Eintraege in dieser Sektion sind obsolet, wenn der AutoMode benutzt wird.


Sektion [AutoMode]
  - UseRGB:   immer RGB-Modus zu Ausgabe benutzen (CPU-Intensiv, aber 
              offensichtlich bei einigen Grafikkarten schneller als andere Modi
  - preferOverlay:  wenn YUV-Blit und Overlay moeglich, dann Overlay bevorzugen
                    default wird YUV-Blit bevorzugt

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.
Bei ausreichender Rechenleistung ist das aber selten noetig, da das Programm
seine Prioritaet entsprechend hoeher setzt.
Soweit das System nicht instabil wird alle Setup-Parameter, die mit
Speichergeschwindigkeit zu tun haben auf "besonders schnell" stellen.

Nicht-MMX-Prozessoren werden derzeit nicht unterstuetzt !

Da die Ausgaben im Verbose-Modus auch ziemlich viel Zeit brauchen,
sollten sie default aus sein !

Sonstige Probleme:

Tuner:
Falls die Sendereinstellung nicht funktioniert ist der Tunertyp falsch
eingestellt (INI). Aeltere WinTV-Karten und Miro-PCTV haben einen 
Temic-Tuner neuere WinTV-Karten haben einen Philips-Tuner.
Evtl. gibt es auch Karten mit noch unbekannten Tuner.

Kartentreiber:
Das Programm benutzt einen eigenen Treiber, zur Ansprache des Bt848-Chips.
Der Kartentreiber wird nicht benoetigt kann aber installiert sein.
Ist der Kartentreiber installiert darf man Ihn aber nicht disablen 
(das Problem habe ich noch nicht genauer untersucht) !
Evtl. musz man den Kartentreiber unter Windows 98 installieren, da
die Karte sonst keinen Interrupt abbekommt ! 

AutoMode:
Der AutoMode funktioniert nicht richtig, wenn die Direct-Draw-Infos vom
Treiber falsch sind oder die Auto-Mode-Erkennung buggt. Derzeit ist
der AutoModus auch noch ziemlich unvollstaendig (z. B. keine 
Truecolor-Anzeige).

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.

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 !)
Evtl. macht ein gesharter IRQ Probleme.
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*900K). Da der Kernel-Heap vom Win95 offensichtlich
keine Garbage-Collection macht, hilft dann meist nur booten !
Eine bessere Loesung ist mir noch nicht eingefallen.

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 !


Videoausgabe mit ELSA-Winner 2000/Office:

Das Programm behherscht auch die Videoausgabe auf der ELSA-Winner 2000/OFfice
inclusive notwendiger Syncronisation um das dekodierte Signal auf den
Fernseher oder Videorecorder zu bekommen. Dazu wird der Video-Out-Teil des
Permedia-2-Chips und die Philips-IC's SAA7125 und SAA7111 entsprechend
programmiert. Dies erfolgt direkt, da kein brauchbares Treiberinterface zur
Verfuegung steht. Die Programmierung des Permedia2 wurde nur durch 
Probieren herausbekommen (keine Doku), so dasz unerwartete Probleme nicht
auszuschlieszen sind.

Aus dem oben gesagten ergibt sich:
- Video-Out-Treiber der ELSA-Karte sollten nicht installiert sein
  (meist gehts aber auch mit)
- die Syncronisierung erfolgt ueber 3 Videobuffer, da die direkte
  Syncronisierung des Video-Out nicht moeglich ist. Das ist sehr
  Videospeicherintensiv, das Programm warnt wenn es nicht 3 Videobuffer 
  bekommen hat, laeuft aber trotzdem. In diesem Fall ist diverses Flackern
  und Zittern des Fernseh-Bildes moeglich.
  Bei 4 MB Bildspeicher reicht es gerade, fuer den Bildschirmmodus
  1024*768 in Hicolor und 3 Videobuffer.
- Wer hat eine Doku vom Chip Permedia-2 (Hersteller: 3DLabs) ?

Aktivieren des Video-Out:

- sicherstellen, dasz der Treiber PERM2.VXD im Dekoderverzeichnis liegt
- Bei Benutzung des AutoMode in der Sektion [AutoMode] VideoOut=1 setzen !

Da die Vide-Ausgabe im Huntergrund erfolgt kann das Videofenster auf dem
Desktop auch minimiert werden.

In der Sektion [Permedia2] lassen sich diverse Parameter zur Videoausgabe
einstellen.

This file is bringing to you by *MediaMaster*
Http://FreeTV.Notrix.de
Http://FreeTV.cjb.net

