Quick'n dirty Nagra/Syster descrambler.
---------------------------------------

This set of files descrambles a 512x512 .PGM file containing a scrambled
Nagravision/Syster image. The algorithm is easy and rather straightforward.
It's not based on 'heavy' mathematical correlation techniques. The result
however is not bad, and I'm convinced it can be optimized for speed (although
it will probably be completely unusable for any real time decoding).

How it works.
-------------

A line can be divided in a number of slices. The number of slices is a power
of 2. Meaning you can have e.g. 64, 128, 256 slices (or even 512 which means
that every pixel is considered separately).

The grayscale of every pixel is reduced to a number of levels (currently 4).
This value was OK for the testimages.

For every slice, the mean value of the grayscales is calculated. These mean
values are compared later on to reconstruct the image.

The program is written in Borland C++ (3.0 but others might also work).
It's only a quick hack, so the code is not very good (actually it's full
of what's considered bad programming practice ;-).

You'll need a VESA compliant SVGA board (or a board supported by SVGA256.BGI)
to run the program. On the upper right of the screen, a dot is flashing,
indicating the program is processing the image).

The program uses a resolution of 800x600x256.

The GO.BAT file has a set of parameters which give a good result. On a
486DX2-66 it takes about 3'12" to complete.

Enjoy (?)

Any comments are welcome.

[email protected]
[email protected]

*************************************
PS.
SuperVGA 256 BGI driver
Copyright (c) 1991
Jordan Hargraphix Software
*************************************