• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

Unix/mngtree/H13-Jul-2007-

bcb/H13-Jul-2007-2,9042,111

contrib/H13-Jul-2007-44,79735,752

delphi/mngview/H13-Jul-2007-

doc/H03-May-2022-1,4351,044

makefiles/H13-Jul-2007-1,351929

special/mozcfg/H13-Jul-2007-219164

unmaintained/H13-Jul-2007-5131

CHANGESH A D13-Jul-200743.7 KiB1,4481,098

LICENSEH A D09-Jul-20074.5 KiB5857

READMEH A D09-Jul-2007683 3721

README.autoconfH A D30-Jan-20058.8 KiB214163

README.configH A D05-Feb-20014 KiB10572

README.contribH A D13-Jul-20033.3 KiB9660

README.examplesH A D20-Dec-20041.9 KiB4932

README.footprintH A D20-Dec-20041.3 KiB4741

README.packagingH A D14-Sep-2000934 2517

libmng.hH A D09-Jul-2007173.7 KiB2,9331,742

libmng_callback_xs.cH A D20-Dec-200437 KiB1,240826

libmng_chunk_descr.cH A D20-Apr-2007192.6 KiB6,0914,984

libmng_chunk_descr.hH A D20-Apr-20076.3 KiB14791

libmng_chunk_io.cH A D08-Jul-2007339.9 KiB10,7418,108

libmng_chunk_io.hH A D20-Apr-200713.5 KiB416329

libmng_chunk_prc.cH A D20-Apr-2007121 KiB4,4533,180

libmng_chunk_prc.hH A D20-Apr-200713.6 KiB382304

libmng_chunk_xs.cH A D20-Apr-2007251.9 KiB7,0175,381

libmng_chunks.hH A D20-Apr-200737.5 KiB1,027747

libmng_cms.cH A D20-Dec-200429.5 KiB759504

libmng_cms.hH A D31-Aug-20035.1 KiB9337

libmng_conf.hH A D03-May-202212.9 KiB30091

libmng_data.hH A D20-Apr-200755 KiB1,030674

libmng_display.cH A D20-Apr-2007269.3 KiB7,1365,771

libmng_display.hH A D20-Apr-200716.6 KiB344226

libmng_dither.cH A D20-Dec-20042.9 KiB5916

libmng_dither.hH A D31-Aug-20032.7 KiB468

libmng_error.cH A D12-Apr-200716.4 KiB327204

libmng_error.hH A D31-Aug-20037.3 KiB12038

libmng_filter.cH A D20-Dec-200425.4 KiB979716

libmng_filter.hH A D31-Aug-20033.8 KiB7025

libmng_hlapi.cH A D06-Jul-2007108.1 KiB2,9962,255

libmng_jpeg.cH A D20-Dec-200443.4 KiB1,089747

libmng_jpeg.hH A D31-Aug-20033.2 KiB5818

libmng_memory.hH A D31-Aug-20033.8 KiB6520

libmng_object_prc.cH A D20-Apr-2007226.3 KiB6,9995,538

libmng_object_prc.hH A D20-Apr-200733.6 KiB691531

libmng_objects.hH A D20-Apr-200728.9 KiB636418

libmng_pixels.cH A D20-Apr-2007800.2 KiB24,61120,136

libmng_pixels.hH A D08-Mar-200659.7 KiB1,148881

libmng_prop_xs.cH A D08-Mar-200680.8 KiB2,8001,883

libmng_read.cH A D12-Apr-200758.7 KiB1,3701,039

libmng_read.hH A D12-Apr-20043 KiB5410

libmng_trace.cH A D06-Jul-200782.5 KiB1,6841,440

libmng_trace.hH A D06-Jul-200763.7 KiB1,4751,169

libmng_types.hH A D20-Apr-200728.8 KiB575324

libmng_write.cH A D14-Dec-20058.3 KiB199108

libmng_write.hH A D25-Sep-20042.9 KiB508

libmng_zlib.cH A D14-Dec-200521.6 KiB608415

libmng_zlib.hH A D31-Aug-20033.2 KiB6124

README

1libmng 1.0.10
2-------------
3
4Added provisional ANG and anIM support, and made some minor bugfixes.
5
6libmng 1.0.9
7------------
8
9A number of optimizations in the chunk handling and reader/writer code.
10This saves over 20KB on binary footprint!
11
12Also several bugfixes and a couple of patches bring it another step
13closer to perfection.... :-)
14
15See CHANGELOG for details.
16
17
18Y.T.
19
20Gerard
21
22
23For more information please visit:
24
25The official libmng web-site:
26  http://www.libmng.com/
27
28Libmng's community on SourceForge:
29  https://sourceforge.net/project/?group_id=5635
30
31The official MNG homepage:
32  http://www.libpng.org/pub/mng/
33
34The official PNG homepage:
35  http://www.libpng.org/pub/png/
36
37

README.autoconf

1**********************************************************************
2**********************************************************************
3
4                ***** this is unmaintained *****
5
6If you happen to find problems with autoconfiguration and building,
7I simply cannot help you. I'm looking for a maintainer that doesn't mind
8spending a few minutes every now and then on the next release to make sure
9things are still in working order.
10
11For the moment all autoconf stuff ahs been moved into unmaintained!!
12
13**********************************************************************
14**********************************************************************
15
16
17
18
19Configuration from CVS
20======================
21
22If you're using source checked out from CVS, rather than a source
23distribution tarball, please be aware that you can use ./autogen.sh in
24place of ./configure below.
25
26Because this is a cross-platform project, the source templates for
27the autoconf scripts are sequestered in the 'makefiles' directory.
28Running './autogen.sh' will copy them into their conventional places at
29the lop level. If you already see the files there, you don't need to
30worry about this step.
31
32Basic Installation
33==================
34
35   These are generic installation instructions.
36
37   The `configure' shell script attempts to guess correct values for
38various system-dependent variables used during compilation.  It uses
39those values to create a `Makefile' in each directory of the package.
40It may also create one or more `.h' files containing system-dependent
41definitions.  Finally, it creates a shell script `config.status' that
42you can run in the future to recreate the current configuration, a file
43`config.cache' that saves the results of its tests to speed up
44reconfiguring, and a file `config.log' containing compiler output
45(useful mainly for debugging `configure').
46
47   If you need to do unusual things to compile the package, please try
48to figure out how `configure' could check whether to do them, and mail
49diffs or instructions to the address given in the `README' so they can
50be considered for the next release.  If at some point `config.cache'
51contains results you don't want to keep, you may remove or edit it.
52
53   The file `configure.in' is used to create `configure' by a program
54called `autoconf'.  You only need `configure.in' if you want to change
55it or regenerate `configure' using a newer version of `autoconf'.
56
57The simplest way to compile this package is:
58
59  1. `cd' to the directory containing the package's source code and type
60     `./configure' to configure the package for your system.  If you're
61     using `csh' on an old version of System V, you might need to type
62     `sh ./configure' instead to prevent `csh' from trying to execute
63     `configure' itself.
64
65     Running `configure' takes awhile.  While running, it prints some
66     messages telling which features it is checking for.
67
68  2. Type `make' to compile the package.
69
70  3. Optionally, type `make check' to run any self-tests that come with
71     the package.
72
73  4. Type `make install' to install the programs and any data files and
74     documentation.
75
76  5. You can remove the program binaries and object files from the
77     source code directory by typing `make clean'.  To also remove the
78     files that `configure' created (so you can compile the package for
79     a different kind of computer), type `make distclean'.  There is
80     also a `make maintainer-clean' target, but that is intended mainly
81     for the package's developers.  If you use it, you may have to get
82     all sorts of other programs in order to regenerate files that came
83     with the distribution.
84
85Compilers and Options
86=====================
87
88   Some systems require unusual options for compilation or linking that
89the `configure' script does not know about.  You can give `configure'
90initial values for variables by setting them in the environment.  Using
91a Bourne-compatible shell, you can do that on the command line like
92this:
93     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
94
95Or on systems that have the `env' program, you can do it like this:
96     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
97
98Compiling For Multiple Architectures
99====================================
100
101   You can compile the package for more than one kind of computer at the
102same time, by placing the object files for each architecture in their
103own directory.  To do this, you must use a version of `make' that
104supports the `VPATH' variable, such as GNU `make'.  `cd' to the
105directory where you want the object files and executables to go and run
106the `configure' script.  `configure' automatically checks for the
107source code in the directory that `configure' is in and in `..'.
108
109   If you have to use a `make' that does not supports the `VPATH'
110variable, you have to compile the package for one architecture at a time
111in the source code directory.  After you have installed the package for
112one architecture, use `make distclean' before reconfiguring for another
113architecture.
114
115Installation Names
116==================
117
118   By default, `make install' will install the package's files in
119`/usr/local/bin', `/usr/local/man', etc.  You can specify an
120installation prefix other than `/usr/local' by giving `configure' the
121option `--prefix=PATH'.
122
123   You can specify separate installation prefixes for
124architecture-specific files and architecture-independent files.  If you
125give `configure' the option `--exec-prefix=PATH', the package will use
126PATH as the prefix for installing programs and libraries.
127Documentation and other data files will still use the regular prefix.
128
129   In addition, if you use an unusual directory layout you can give
130options like `--bindir=PATH' to specify different values for particular
131kinds of files.  Run `configure --help' for a list of the directories
132you can set and what kinds of files go in them.
133
134   If the package supports it, you can cause programs to be installed
135with an extra prefix or suffix on their names by giving `configure' the
136option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
137
138Optional Features
139=================
140
141   Some packages pay attention to `--enable-FEATURE' options to
142`configure', where FEATURE indicates an optional part of the package.
143They may also pay attention to `--with-PACKAGE' options, where PACKAGE
144is something like `gnu-as' or `x' (for the X Window System).  The
145`README' should mention any `--enable-' and `--with-' options that the
146package recognizes.
147
148   For packages that use the X Window System, `configure' can usually
149find the X include and library files automatically, but if it doesn't,
150you can use the `configure' options `--x-includes=DIR' and
151`--x-libraries=DIR' to specify their locations.
152
153Specifying the System Type
154==========================
155
156   There may be some features `configure' can not figure out
157automatically, but needs to determine by the type of host the package
158will run on.  Usually `configure' can figure that out, but if it prints
159a message saying it can not guess the host type, give it the
160`--host=TYPE' option.  TYPE can either be a short name for the system
161type, such as `sun4', or a canonical name with three fields:
162     CPU-COMPANY-SYSTEM
163
164See the file `config.sub' for the possible values of each field.  If
165`config.sub' isn't included in this package, then this package doesn't
166need to know the host type.
167
168   If you are building compiler tools for cross-compiling, you can also
169use the `--target=TYPE' option to select the type of system they will
170produce code for and the `--build=TYPE' option to select the type of
171system on which you are compiling the package.
172
173Sharing Defaults
174================
175
176   If you want to set default values for `configure' scripts to share,
177you can create a site shell script called `config.site' that gives
178default values for variables like `CC', `cache_file', and `prefix'.
179`configure' looks for `PREFIX/share/config.site' if it exists, then
180`PREFIX/etc/config.site' if it exists.  Or, you can set the
181`CONFIG_SITE' environment variable to the location of the site script.
182A warning: not all `configure' scripts look for a site script.
183
184Operation Controls
185==================
186
187   `configure' recognizes the following options to control how it
188operates.
189
190`--cache-file=FILE'
191     Use and save the results of the tests in FILE instead of
192     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
193     debugging `configure'.
194
195`--help'
196     Print a summary of the options to `configure', and exit.
197
198`--quiet'
199`--silent'
200`-q'
201     Do not print messages saying which checks are being made.  To
202     suppress all normal output, redirect it to `/dev/null' (any error
203     messages will still be shown).
204
205`--srcdir=DIR'
206     Look for the package's source code in directory DIR.  Usually
207     `configure' can determine that directory automatically.
208
209`--version'
210     Print the version of Autoconf used to generate the `configure'
211     script, and exit.
212
213`configure' also accepts some other, not widely useful, options.
214

README.config

1Configuration options in libmng
2===============================
3
4The library is fairly configurable through the use of a number of defines.
5Please note however that certain defines are for internal use only.
6The following list gives a summary of options that can be used externally to
7define the functionality of the library:
8
9========================================
10
11#define MNG_BUILD_DLL
12
13This is used to indicate that a "standard" DLL should result from compiling
14the library. Please note the remarks in README.dll if you intend to work
15with the library as a DLL. The purpose of this option is to ensure that
16DLL builds have the same set of functions.
17
18#define MNG_BUILD_SO
19
20This is used to indicate that a "standard" shared library (SO) should result
21from a compilation. The purpose of this option is to ensure that all
22shared libraries generated this way will have the same set of functions.
23
24#define MNG_USE_DLL / #define MNG_USE_SO
25
26These should be used when including the library header in the compilation
27of an application to indicate that the compiler/linker must take the
28necessary steps to make the binary executable to use the standard DLL
29or shared library (SO).
30
31#define MNG_SKIP_ZLIB / #define MNG_SKIP_LCMS / #define MNG_SKIP_IJG6B
32
33Use these in conjunction with MNG_USE_DLL / MNG_USE_SO. This is useful if
34you only need the external definitions of the MNG library and not the others,
35which will speed up the compilation process.
36
37#define MNG_SUPPORT_FULL / #define MNG_SUPPORT_LC / #define MNG_SUPPORT_VLC
38
39These can be used to indicate the level of MNG spec compliance required.
40Currently only full MNG compliance is supported.
41
42#define MNG_SUPPORT_IJG6B
43
44This can be used to indicate if JNG support is required. This option will
45include the IJG JPEG-library. Note that MNG_SUPPORT_FULL will automatically
46set this option. Use this only if you need JNG support with MNG-(V)LC.
47
48#define MNG_FULL_CMS / #define MNG_GAMMA_ONLY / #define MNG_NO_CMS /
49#define MNG_APP_CMS
50
51These indicate the color-correction support level of the library.
52If you are on a platform that supports lcms (Little CMS by Marti Maria Saguar)
53then it is highly recommended to define MNG_FULL_CMS.
54If your platform has it's own CMS then select MNG_APP_CMS and be sure to
55include the appropriate callbacks in your app.
56In all other cases it is recommended to define MNG_GAMMA_ONLY.
57
58#define MNG_SUPPORT_READ / #define MNG_SUPPORT_WRITE /
59#define MNG_SUPPORT_DISPLAY
60
61These indicate the high-level support for reading, writing and/or
62displaying files. Note that in order to display a file, you'll need to read
63it first. (yes, really!)
64
65#define MNG_STORE_CHUNKS
66
67This indicates that the library should store chunk-information when reading
68a file. This information can then be processed through the
69MNG_ITERATE_CHUNKS() function. Note that you must specify this option if
70you want to create and write a new file.
71
72#define MNG_ACCESS_CHUNKS
73
74This is used to indicate that the app may need access to internally stored
75chunk information. MNG_STORE_CHUNKS must be defined as well for this option
76to function properly.
77
78#define MNG_INTERNAL_MEMMNGMT
79
80You can use this to have the library handle it's own memory allocation and
81deallocation through the "standard" memory functions. This option is turned
82off by default, which means your app must define the memory callbacks.
83
84#define MNG_ERROR_TELLTALE
85
86Set this on to allow human-readable error-messages to be included in the
87library and the error function and callback.
88
89#define MNG_BIGENDIAN_SUPPORTED
90
91This option should be used to indicate the hardware is based on big endian
92integers.
93
94#define MNG_SUPPORT_TRACE / #define MNG_TRACE_TELLTALE
95
96These two can be used when debugging an app. You'll need to have the trace
97callback setup also. This allows for a rather thorough investigation of the
98libraries function paths.
99
100========================================
101
102Any other optional defines you may encounter are for internal use only.
103please do not specify them externally. In case of doubt, consult the
104support email lists. More info can be found on http://www.libmng.com
105

README.contrib

1The contrib directory contains contributions made by fellow
2enthousiasts. (Check respective web-sites for the latest version)
3
4----------------------------------------------------------------------
5
6mngplg - A Netscape plugin for MNG - by Jason Summers
7
8http://pobox.com/~jason1/imaging/mngplg/
9
10The very first contribution, and what a start!
11GIF look out, MNG is on the prowl and ready to swat you like a fly!
12
13----------------------------------------------------------------------
14
15mngplay - An SDL based MNG viewer - by Ralph Giles
16
17http://snow.ashlu.bc.ca/~giles/mng/
18
19Another nice contribution. View MNG files on practically any platform
20with this standalone viewer.
21Source-code only; Requires SDL library and libmng.so
22
23(Modified by Greg Roelofs)
24
25----------------------------------------------------------------------
26
27mngview - A BCB port of the Delphi sample - by Andy Protano
28
29I have added this nice little port to the BCB samples directory.
30It adds a nifty progressbar while reading a file. Excellent work!
31Requires libmng.dll
32(note: this is in the BCB samples directory)
33
34----------------------------------------------------------------------
35
36mngdump - A BCB GUI-based dump utility - by Andy Protano
37
38Andy has sent me this fully functional MNG dump utility, that gives
39detailed information of the contents of any MNG file.
40Requires libmng.dll
41
42----------------------------------------------------------------------
43
44mng-view - A GTK-based MNG viewer - by Vova Babin
45
46Vova has been hacking away with the libmng code and has come up with
47this nice little sample how to write a MNG viewer using GTK.
48Thanks mate!
49Source-code only
50Requires GTK+ (1.2 or higher) and libmng (0.9.2 or higher)
51
52(Modified by Greg Roelofs)
53
54----------------------------------------------------------------------
55
56mngview - Another MNG viewer; this one for MSVC - by Nicholaus Brennig
57
58A welcome contribution from Nicholaus. Author of SlowView. A very nice
59image-handling utility for Windows. A welcome contribution since there
60have been numerous questions about linking libmng with MSVC.
61Well, look no further. Here it is!
62
63----------------------------------------------------------------------
64
65MSVC libmng project - An MSVC project to build libmng.dll
66                    - by Chad Austin
67
68Chad has contributed some project-files that you could use to build
69libmng.dll with MSVC. Please be sure to read the README file included.
70
71----------------------------------------------------------------------
72
73fbmngplay - A simple fbcon based mng player - by Stefan Reinauer
74
75Stefan has contributed this little example, based on Ralph's
76SDL player. It uses the kernel framebuffer device to display mng
77animations through the libmng interface.
78(currently for 16-bit buffers only)
79
80----------------------------------------------------------------------
81
82xmngview - Lesstif/Motif standalone player for MNG files
83         - by Winfried Szukalski
84
85Winfried contributed this MNG player for X-based systems.
86(recently updated)
87
88----------------------------------------------------------------------
89
90makemng - A delta-MNG creation utility for MSVC - by Alex Volkov
91
92Alex sent me this nice utility that will allow you to create highly
93optmized MNGs using the delta-PNG capabilities of MNG.
94
95----------------------------------------------------------------------
96

README.examples

1The samples are in platform-specific directories.
2
3!!! contributions are very welcome !!!
4
5
6bcb - Borland C++ Builder (3.0) (found under bcb/xxx)
7-----------------------------------------------------
8
9win32dll - sample project to create a Windows dll. Requires zlib1.2.1,
10           IJG jpgsrc6b and lcms1.0.14. The directories containing these
11           libraries must be at the same level as the libmng directory.
12           So if you're in the directory with this file and the libmng
13           sources, they should be in ..\zlib , ..\jpgsrc6b and ..\lcms
14           respectively.
15
16!!!        To run the other Win32 samples you need to copy the libmng.dll
17           file from here into the sample's directory !!!
18
19mngtree  - sample project to create a little command-line tool that dumps
20           the chunk-structure of a given file onto stdout.
21
22bogus    - a completely bogus example on how to create a perfectly valid
23           (though slightly biased) MNG.
24
25mngview  - port of the Delphi mngview sample. contributed by Andy Protano.
26           see also README.contrib
27
28mngrepair- an example on how to fix invalid MNG files
29           uses the new mng_copy_chunks() function and MNG_SOFTERRORS to
30           'ignore' certain input-errors. This conditional *MUST* only be used
31           for exactly this kind of software; eg. repair utilities.
32
33
34delphi - Borland Delphi (3.0+) (found under contrib/delphi/xxx)
35---------------------------------------------------------------
36
37mngview  - sample project for a simple mng-viewer. The general unit in
38           the delphi directory was translated from libmng.h It can be
39           used in other projects to access libmng.dll created with the
40           win32dll example above.
41
42
43unix - Unix (found under contrib/gcc/xxx)
44-----------------------------------------
45
46mngtree  - basically a copy of the BCB sample. It includes a makefile for
47           Linux and it's been tested on RedHat6.2
48
49

README.footprint

1/*
2   You can use one or more of the following defines to
3   reduce the size of the compiled library.  Define the
4   SKIPCANVAS macros for any canvas configurations that
5   your application doesn't use.  Define the SKIPCHUNK
6   macros for any chunks that your application doesn't
7   process.  Define MNG_OPTIMIZE_FOOTPRINT to choose
8   smaller code size over faster execution and less memory
9   usage.  These macros became available in version 1.0.6.
10*/
11
12/* eliminate unused features from libmng */
13#define MNG_OPTIMIZE_FOOTPRINT
14#define MNG_OPTIMIZE_OBJCLEANUP
15#define MNG_OPTIMIZE_CHUNKINITFREE
16#define MNG_OPTIMIZE_CHUNKASSIGN
17#define MNG_OPTIMIZE_CHUNKREADER
18
19#define MNG_SKIPCANVAS_ABGR8
20#define MNG_SKIPCANVAS_ARGB8
21#define MNG_SKIPCANVAS_BGR8
22#define MNG_SKIPCANVAS_BGRA8
23#define MNG_SKIPCANVAS_BGRA8_PM
24#define MNG_SKIPCANVAS_BGRX8
25#define MNG_SKIPCANVAS_RGBA8
26#define MNG_SKIPCANVAS_BGR565
27#define MNG_SKIPCANVAS_RGB565
28#define MNG_SKIPCANVAS_BGRA565
29#define MNG_SKIPCANVAS_RGBA565
30
31#define MNG_SKIPCHUNK_iCCP
32#define MNG_SKIPCHUNK_tEXt
33#define MNG_SKIPCHUNK_zTXt
34#define MNG_SKIPCHUNK_iTXt
35#define MNG_SKIPCHUNK_bKGD
36#define MNG_SKIPCHUNK_pHYs
37#define MNG_SKIPCHUNK_sBIT
38#define MNG_SKIPCHUNK_sPLT
39#define MNG_SKIPCHUNK_hIST
40#define MNG_SKIPCHUNK_tIME
41#define MNG_SKIPCHUNK_eXPI
42#define MNG_SKIPCHUNK_fPRI
43#define MNG_SKIPCHUNK_nEED
44#define MNG_SKIPCHUNK_pHYg
45
46
47

README.packaging

1Packaging Libmng for distribution
2---------------------------------
3
4These are some notes for those building binaries for distribution.
5
6We're interested to hear about anywhere libmng is helpful, so let us
7know if you're including it with your application or OS. Also, if your
8build is publicly accessible, we'd be happy to link to it from
9the libmng site.
10
11However, We respectfully request that you *not* distribute binaries as a
12shared library (DLL) with any of the major features disabled. While
13there is support for this in terms of #ifdef directives (in
14libmng_conf.h) and autoconf switches they are intended for embedded
15application and testing. The default compilation options support the
16full MNG specification, and we wish to avoid the confusion among
17general users that partial support would engender.
18
19
20Platform specific notes:
21
22We have a basic .spec file for generating rpms. Send us a note if you'd
23like to clean it up.
24
25