1 Introduction
2 ============
3
4 PaletteOptimiser is a tool for converting images to the eight colours
5 supported on the 8-bit Acorn microcomputers: black, white, and the primary and
6 secondary colours. It then chooses four of these colours per horizontal line
7 of each eight-colour image, permitting such images to be displayed in
8 four-colour modes with palette switching on a line-by-line basis.
9
10 Usage
11 =====
12
13 optimiser.py <input filename> <output filename> [ <options> ]
14
15 Run the program with the --help argument to see a description of the options:
16
17 optimiser.py --help
18
19 Dependencies
20 ============
21
22 Apart from Python, this software requires the following:
23
24 Packages Release Information
25 -------- -------------------
26
27 Python Imaging Library Debian package: python-imaging
28 (PIL) (Tested with 1.1.7-4+deb7u1)
29 Source: http://www.effbot.org/zone/pil-index.htm
30
31 exif-py Debian package: python-exif
32 (Tested with 1.0.8-3)
33 Source: https://github.com/ianare/exif-py
34
35 The following optional dependencies apply for compilation with Shedskin:
36
37 Packages Release Information
38 -------- -------------------
39
40 Shedskin Debian package: shedskin
41 (Tested with 0.9.2-2)
42 Source: http://code.google.com/p/shedskin/
43
44 g++ Debian package: g++
45 (Tested with 4:4.7.2-1)
46 Source: https://gcc.gnu.org/
47
48 make Debian package: make
49 (Tested with 3.81-8.2)
50 Source: https://www.gnu.org/software/make/
51
52 Compilation with Shedskin
53 =========================
54
55 Suitable versions of the code (see the simpleimage-shedskin branch below) can
56 be compiled with the Shedskin Python-to-C++ compiler for additional
57 performance gains. This is done as follows:
58
59 shedskin -e optimiserlib.py
60 make
61
62 A file called optimiserlib.so should be produced which should then behave just
63 like the original Python version, at least when used with the optimiser.py
64 program.
65
66 Repository Branches
67 ===================
68
69 The default branch is the original development branch where new techniques
70 have been introduced.
71
72 The simpleimage branch introduces an alternative image class so that the image
73 processing routines need not be tightly coupled with the Python Imaging
74 Library abstractions.
75
76 The simpleimage-shedskin branch takes advantage of the simpleimage branch to
77 define a separate module that can be compiled using the Shedskin Python-to-C++
78 compiler. The resulting compiled module enables an approximate four-fold
79 increase in speed.
80
81 The shedskin branch is an obsolete and not particularly effective attempt to
82 try and get an earlier version of the tool to compile using Shedskin.
83
84 Contact, Copyright and Licence Information
85 ==========================================
86
87 See the following Web page for more information about this work:
88
89 http://hgweb.boddie.org.uk/PaletteOptimiser
90
91 The author can be contacted at the following e-mail address:
92
93 paul@boddie.org.uk
94
95 Copyright and licence information can be found in the docs directory - see
96 docs/COPYING.txt and docs/gpl-3.0.txt for more information.