~ubuntu-branches/ubuntu/oneiric/libmng/oneiric

« back to all changes in this revision

Viewing changes to libmng_pixels.h

  • Committer: Bazaar Package Importer
  • Author(s): Shiju p. Nair
  • Date: 2006-04-07 09:49:11 UTC
  • mfrom: (0.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20060407094911-ay3179o63gvlh4ll
Tags: 1.0.9-1
* New upstream release. (closes: #303968, #271979)
* Patch from Aurelien Jarno <aurel32@debian.org> to support GNU/kFreeBSD.
  Closes: #314696)
* Patch from Christopher Bodenstein <cb@physicman.net> to support
  hurd-i386. (closes: #361103)
* README.Debian provide information on what options are compiled in to
  libmng.(closes: #174523)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* ************************************************************************** */
2
 
/* *             For conditions of distribution and use,                    * */
3
 
/* *                see copyright notice in libmng.h                        * */
4
 
/* ************************************************************************** */
5
 
/* *                                                                        * */
6
 
/* * project   : libmng                                                     * */
7
 
/* * file      : libmng_pixels.h           copyright (c) 2000-2004 G.Juyn   * */
8
 
/* * version   : 1.0.7                                                      * */
9
 
/* *                                                                        * */
10
 
/* * purpose   : Pixel-row management routines (definition)                 * */
11
 
/* *                                                                        * */
12
 
/* * author    : G.Juyn                                                     * */
13
 
/* *                                                                        * */
14
 
/* * comment   : Definition of the pixel-row management routines            * */
15
 
/* *                                                                        * */
16
 
/* * changes   : 0.5.1 - 05/08/2000 - G.Juyn                                * */
17
 
/* *             - changed strict-ANSI stuff                                * */
18
 
/* *                                                                        * */
19
 
/* *             0.5.2 - 05/22/2000 - G.Juyn                                * */
20
 
/* *             - added some JNG definitions                               * */
21
 
/* *             - added delta-image row-processing routines                * */
22
 
/* *             0.5.2 - 06/05/2000 - G.Juyn                                * */
23
 
/* *             - added support for RGB8_A8 canvasstyle                    * */
24
 
/* *                                                                        * */
25
 
/* *             0.5.3 - 06/16/2000 - G.Juyn                                * */
26
 
/* *             - changed progressive-display processing                   * */
27
 
/* *                                                                        * */
28
 
/* *             0.9.2 - 08/05/2000 - G.Juyn                                * */
29
 
/* *             - changed file-prefixes                                    * */
30
 
/* *                                                                        * */
31
 
/* *             0.9.3 - 08/26/2000 - G.Juyn                                * */
32
 
/* *             - added MAGN support                                       * */
33
 
/* *             0.9.3 - 09/07/2000 - G.Juyn                                * */
34
 
/* *             - added support for new filter_types                       * */
35
 
/* *             0.9.3 - 10/16/2000 - G.Juyn                                * */
36
 
/* *             - added optional support for bKGD for PNG images           * */
37
 
/* *             - added support for JDAA                                   * */
38
 
/* *             0.9.3 - 10/19/2000 - G.Juyn                                * */
39
 
/* *             - implemented delayed delta-processing                     * */
40
 
/* *                                                                        * */
41
 
/* *             0.9.4 -  1/18/2001 - G.Juyn                                * */
42
 
/* *             - added "new" MAGN methods 3, 4 & 5                        * */
43
 
/* *                                                                        * */
44
 
/* *             1.0.1 - 04/21/2001 - G.Juyn (code by G.Kelly)              * */
45
 
/* *             - added BGRA8 canvas with premultiplied alpha              * */
46
 
/* *                                                                        * */
47
 
/* *             1.0.5 - 08/15/2002 - G.Juyn                                * */
48
 
/* *             - completed PROM support                                   * */
49
 
/* *             - completed delta-image support                            * */
50
 
/* *             1.0.5 - 08/16/2002 - G.Juyn                                * */
51
 
/* *             - completed MAGN support (16-bit functions)                * */
52
 
/* *             1.0.5 - 08/19/2002 - G.Juyn                                * */
53
 
/* *             - B597134 - libmng pollutes the linker namespace           * */
54
 
/* *             1.0.5 - 09/22/2002 - G.Juyn                                * */
55
 
/* *             - added bgrx8 canvas (filler byte)                         * */
56
 
/* *             1.0.5 - 09/23/2002 - G.Juyn                                * */
57
 
/* *             - added compose over/under routines for PAST processing    * */
58
 
/* *             - added flip & tile routines for PAST processing           * */
59
 
/* *                                                                        * */
60
 
/* *             1.0.6 - 03/09/2003 - G.Juyn                                * */
61
 
/* *             - hiding 12-bit JPEG stuff                                 * */
62
 
/* *             1.0.6 - 05/11/2003 - G. Juyn                               * */
63
 
/* *             - added conditionals around canvas update routines         * */
64
 
/* *             1.0.6 - 06/09/2003 - G. R-P                                * */
65
 
/* *             - added conditionals around 8-bit magn routines            * */
66
 
/* *             1.0.6 - 07/07/2003 - G. R-P                                * */
67
 
/* *             - removed conditionals around 8-bit magn routines          * */
68
 
/* *             - added conditionals around 16-bit and delta-PNG           * */
69
 
/* *               supporting code                                          * */
70
 
/* *             1.0.6 - 07/29/2003 - G.R-P                                 * */
71
 
/* *             - added SKIPCHUNK conditionals around PAST chunk support   * */
72
 
/* *             1.0.6 - 08/18/2003 - G.R-P                                 * */
73
 
/* *             - added conditionals around 1, 2, and 4-bit prototypes     * */
74
 
/* *                                                                        * */
75
 
/* *             1.0.7 - 11/27/2003 - R.A                                   * */
76
 
/* *             - added CANVAS_RGB565 and CANVAS_BGR565                    * */
77
 
/* *             1.0.7 - 12/06/2003 - R.A                                   * */
78
 
/* *             - added CANVAS_RGBA565 and CANVAS_BGRA565                  * */
79
 
/* *             1.0.7 - 01/25/2004 - J.S                                   * */
80
 
/* *             - added premultiplied alpha canvas' for RGBA, ARGB, ABGR   * */
81
 
/* *                                                                        * */
82
 
/* ************************************************************************** */
83
 
 
84
 
#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
85
 
#pragma option -A                      /* force ANSI-C */
86
 
#endif
87
 
 
88
 
#ifndef _libmng_pixels_h_
89
 
#define _libmng_pixels_h_
90
 
 
91
 
/* ************************************************************************** */
92
 
/* *                                                                        * */
93
 
/* * Progressive display check - checks to see if progressive display is    * */
94
 
/* * in order & indicates so                                                * */
95
 
/* *                                                                        * */
96
 
/* * The routine is called after a call to one of the display_xxx routines  * */
97
 
/* * if appropriate                                                         * */
98
 
/* *                                                                        * */
99
 
/* * The refresh is warrented in the read_chunk routine (mng_read.c)        * */
100
 
/* * and only during read&display processing, since there's not much point  * */
101
 
/* * doing it from memory!                                                  * */
102
 
/* *                                                                        * */
103
 
/* ************************************************************************** */
104
 
 
105
 
mng_retcode mng_display_progressive_check (mng_datap pData);
106
 
 
107
 
/* ************************************************************************** */
108
 
/* *                                                                        * */
109
 
/* * Display routines - convert rowdata (which is already color-corrected)  * */
110
 
/* * to the output canvas, respecting any transparency information          * */
111
 
/* *                                                                        * */
112
 
/* ************************************************************************** */
113
 
 
114
 
#ifndef MNG_SKIPCANVAS_RGB8
115
 
mng_retcode mng_display_rgb8           (mng_datap  pData);
116
 
#endif
117
 
#ifndef MNG_SKIPCANVAS_RGBA8
118
 
mng_retcode mng_display_rgba8          (mng_datap  pData);
119
 
#endif
120
 
#ifndef MNG_SKIPCANVAS_RGBA8_PM
121
 
mng_retcode mng_display_rgba8_pm       (mng_datap  pData);
122
 
#endif
123
 
#ifndef MNG_SKIPCANVAS_ARGB8
124
 
mng_retcode mng_display_argb8          (mng_datap  pData);
125
 
#endif
126
 
#ifndef MNG_SKIPCANVAS_ARGB8_PM
127
 
mng_retcode mng_display_argb8_pm       (mng_datap  pData);
128
 
#endif
129
 
#ifndef MNG_SKIPCANVAS_RGB8_A8
130
 
mng_retcode mng_display_rgb8_a8        (mng_datap  pData);
131
 
#endif
132
 
#ifndef MNG_SKIPCANVAS_BGR8
133
 
mng_retcode mng_display_bgr8           (mng_datap  pData);
134
 
#endif
135
 
#ifndef MNG_SKIPCANVAS_BGRX8
136
 
mng_retcode mng_display_bgrx8          (mng_datap  pData);
137
 
#endif
138
 
#ifndef MNG_SKIPCANVAS_BGRA8
139
 
mng_retcode mng_display_bgra8          (mng_datap  pData);
140
 
#endif
141
 
#ifndef MNG_SKIPCANVAS_BGRA8_PM
142
 
mng_retcode mng_display_bgra8_pm       (mng_datap  pData);
143
 
#endif
144
 
#ifndef MNG_SKIPCANVAS_ABGR8
145
 
mng_retcode mng_display_abgr8          (mng_datap  pData);
146
 
#endif
147
 
#ifndef MNG_SKIPCANVAS_ABGR8_PM
148
 
mng_retcode mng_display_abgr8_pm       (mng_datap  pData);
149
 
#endif
150
 
#ifndef MNG_SKIPCANVAS_RGB565
151
 
mng_retcode mng_display_rgb565         (mng_datap  pData);
152
 
#endif
153
 
#ifndef MNG_SKIPCANVAS_RGBA565
154
 
mng_retcode mng_display_rgba565        (mng_datap  pData);
155
 
#endif
156
 
#ifndef MNG_SKIPCANVAS_BGR565
157
 
mng_retcode mng_display_bgr565         (mng_datap  pData);
158
 
#endif
159
 
#ifndef MNG_SKIPCANVAS_BGRA565
160
 
mng_retcode mng_display_bgra565        (mng_datap  pData);
161
 
#endif
162
 
 
163
 
/* ************************************************************************** */
164
 
/* *                                                                        * */
165
 
/* * Background restore routines - restore the background with info from    * */
166
 
/* * the BACK and/or bKGD chunk and/or the app's background canvas          * */
167
 
/* *                                                                        * */
168
 
/* ************************************************************************** */
169
 
 
170
 
mng_retcode mng_restore_bkgd_backimage (mng_datap  pData);
171
 
mng_retcode mng_restore_bkgd_backcolor (mng_datap  pData);
172
 
mng_retcode mng_restore_bkgd_bkgd      (mng_datap  pData);
173
 
mng_retcode mng_restore_bkgd_bgcolor   (mng_datap  pData);
174
 
#ifndef MNG_SKIPCANVAS_RGB8
175
 
mng_retcode mng_restore_bkgd_rgb8      (mng_datap  pData);
176
 
#endif
177
 
#ifndef MNG_SKIPCANVAS_BGR8
178
 
mng_retcode mng_restore_bkgd_bgr8      (mng_datap  pData);
179
 
#endif
180
 
#ifndef MNG_SKIPCANVAS_BGRX8
181
 
mng_retcode mng_restore_bkgd_bgrx8     (mng_datap  pData);
182
 
#endif
183
 
#ifndef MNG_SKIPCANVAS_RGB565
184
 
mng_retcode mng_restore_bkgd_rgb565    (mng_datap  pData);
185
 
#endif
186
 
#ifndef MNG_SKIPCANVAS_BGR565
187
 
mng_retcode mng_restore_bkgd_bgr565    (mng_datap  pData);
188
 
#endif
189
 
 
190
 
/* ************************************************************************** */
191
 
/* *                                                                        * */
192
 
/* * Row retrieval routines - retrieve processed & uncompressed row-data    * */
193
 
/* * from the current "object"                                              * */
194
 
/* *                                                                        * */
195
 
/* ************************************************************************** */
196
 
 
197
 
mng_retcode mng_retrieve_g8            (mng_datap  pData);
198
 
mng_retcode mng_retrieve_rgb8          (mng_datap  pData);
199
 
mng_retcode mng_retrieve_idx8          (mng_datap  pData);
200
 
mng_retcode mng_retrieve_ga8           (mng_datap  pData);
201
 
mng_retcode mng_retrieve_rgba8         (mng_datap  pData);
202
 
#ifndef MNG_NO_16BIT_SUPPORT
203
 
mng_retcode mng_retrieve_g16           (mng_datap  pData);
204
 
mng_retcode mng_retrieve_ga16          (mng_datap  pData);
205
 
mng_retcode mng_retrieve_rgb16         (mng_datap  pData);
206
 
mng_retcode mng_retrieve_rgba16        (mng_datap  pData);
207
 
#endif
208
 
 
209
 
/* ************************************************************************** */
210
 
/* *                                                                        * */
211
 
/* * Row storage routines - store processed & uncompressed row-data         * */
212
 
/* * into the current "object"                                              * */
213
 
/* *                                                                        * */
214
 
/* ************************************************************************** */
215
 
 
216
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
217
 
mng_retcode mng_store_g1               (mng_datap  pData);
218
 
mng_retcode mng_store_g2               (mng_datap  pData);
219
 
mng_retcode mng_store_g4               (mng_datap  pData);
220
 
mng_retcode mng_store_g8               (mng_datap  pData);
221
 
mng_retcode mng_store_idx1             (mng_datap  pData);
222
 
mng_retcode mng_store_idx2             (mng_datap  pData);
223
 
mng_retcode mng_store_idx4             (mng_datap  pData);
224
 
#endif
225
 
mng_retcode mng_store_idx8             (mng_datap  pData);
226
 
mng_retcode mng_store_rgb8             (mng_datap  pData);
227
 
mng_retcode mng_store_ga8              (mng_datap  pData);
228
 
mng_retcode mng_store_rgba8            (mng_datap  pData);
229
 
#ifndef MNG_NO_16BIT_SUPPORT
230
 
mng_retcode mng_store_g16              (mng_datap  pData);
231
 
mng_retcode mng_store_ga16             (mng_datap  pData);
232
 
mng_retcode mng_store_rgb16            (mng_datap  pData);
233
 
mng_retcode mng_store_rgba16           (mng_datap  pData);
234
 
#endif
235
 
 
236
 
/* ************************************************************************** */
237
 
/* *                                                                        * */
238
 
/* * Row storage routines (JPEG) - store processed & uncompressed row-data  * */
239
 
/* * into the current "object"                                              * */
240
 
/* *                                                                        * */
241
 
/* ************************************************************************** */
242
 
 
243
 
#ifdef MNG_INCLUDE_JNG
244
 
mng_retcode mng_store_jpeg_g8          (mng_datap  pData);
245
 
mng_retcode mng_store_jpeg_rgb8        (mng_datap  pData);
246
 
mng_retcode mng_store_jpeg_ga8         (mng_datap  pData);
247
 
mng_retcode mng_store_jpeg_rgba8       (mng_datap  pData);
248
 
 
249
 
#ifdef MNG_SUPPORT_JPEG12
250
 
mng_retcode mng_store_jpeg_g12         (mng_datap  pData);
251
 
mng_retcode mng_store_jpeg_rgb12       (mng_datap  pData);
252
 
mng_retcode mng_store_jpeg_ga12        (mng_datap  pData);
253
 
mng_retcode mng_store_jpeg_rgba12      (mng_datap  pData);
254
 
#endif
255
 
 
256
 
mng_retcode mng_store_jpeg_g8_alpha    (mng_datap  pData);
257
 
mng_retcode mng_store_jpeg_rgb8_alpha  (mng_datap  pData);
258
 
 
259
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
260
 
mng_retcode mng_store_jpeg_g8_a1       (mng_datap  pData);
261
 
mng_retcode mng_store_jpeg_g8_a2       (mng_datap  pData);
262
 
mng_retcode mng_store_jpeg_g8_a4       (mng_datap  pData);
263
 
#endif
264
 
mng_retcode mng_store_jpeg_g8_a8       (mng_datap  pData);
265
 
#ifndef MNG_NO_16BIT_SUPPORT
266
 
mng_retcode mng_store_jpeg_g8_a16      (mng_datap  pData);
267
 
#endif
268
 
 
269
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
270
 
mng_retcode mng_store_jpeg_rgb8_a1     (mng_datap  pData);
271
 
mng_retcode mng_store_jpeg_rgb8_a2     (mng_datap  pData);
272
 
mng_retcode mng_store_jpeg_rgb8_a4     (mng_datap  pData);
273
 
#endif
274
 
mng_retcode mng_store_jpeg_rgb8_a8     (mng_datap  pData);
275
 
#ifndef MNG_NO_16BIT_SUPPORT
276
 
mng_retcode mng_store_jpeg_rgb8_a16    (mng_datap  pData);
277
 
#endif
278
 
 
279
 
#ifdef MNG_SUPPORT_JPEG12
280
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
281
 
mng_retcode mng_store_jpeg_g12_a1      (mng_datap  pData);
282
 
mng_retcode mng_store_jpeg_g12_a2      (mng_datap  pData);
283
 
mng_retcode mng_store_jpeg_g12_a4      (mng_datap  pData);
284
 
#endif
285
 
mng_retcode mng_store_jpeg_g12_a8      (mng_datap  pData);
286
 
#ifndef MNG_NO_16BIT_SUPPORT
287
 
mng_retcode mng_store_jpeg_g12_a16     (mng_datap  pData);
288
 
#endif
289
 
 
290
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
291
 
mng_retcode mng_store_jpeg_rgb12_a1    (mng_datap  pData);
292
 
mng_retcode mng_store_jpeg_rgb12_a2    (mng_datap  pData);
293
 
mng_retcode mng_store_jpeg_rgb12_a4    (mng_datap  pData);
294
 
#endif
295
 
mng_retcode mng_store_jpeg_rgb12_a8    (mng_datap  pData);
296
 
#ifndef MNG_NO_16BIT_SUPPORT
297
 
mng_retcode mng_store_jpeg_rgb12_a16   (mng_datap  pData);
298
 
#endif
299
 
#endif
300
 
#endif
301
 
 
302
 
/* ************************************************************************** */
303
 
/* *                                                                        * */
304
 
/* * Delta-image row routines - apply the processed & uncompressed row-data * */
305
 
/* * onto the target "object"                                               * */
306
 
/* *                                                                        * */
307
 
/* ************************************************************************** */
308
 
 
309
 
#ifndef MNG_NO_DELTA_PNG
310
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
311
 
mng_retcode mng_delta_g1               (mng_datap  pData);
312
 
mng_retcode mng_delta_g2               (mng_datap  pData);
313
 
mng_retcode mng_delta_g4               (mng_datap  pData);
314
 
#endif
315
 
mng_retcode mng_delta_g8               (mng_datap  pData);
316
 
mng_retcode mng_delta_g16              (mng_datap  pData);
317
 
mng_retcode mng_delta_rgb8             (mng_datap  pData);
318
 
#ifndef MNG_NO_16BIT_SUPPORT
319
 
mng_retcode mng_delta_rgb16            (mng_datap  pData);
320
 
#endif
321
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
322
 
mng_retcode mng_delta_idx1             (mng_datap  pData);
323
 
mng_retcode mng_delta_idx2             (mng_datap  pData);
324
 
mng_retcode mng_delta_idx4             (mng_datap  pData);
325
 
#endif
326
 
mng_retcode mng_delta_idx8             (mng_datap  pData);
327
 
mng_retcode mng_delta_ga8              (mng_datap  pData);
328
 
mng_retcode mng_delta_rgba8            (mng_datap  pData);
329
 
#ifndef MNG_NO_16BIT_SUPPORT
330
 
mng_retcode mng_delta_ga16             (mng_datap  pData);
331
 
mng_retcode mng_delta_rgba16           (mng_datap  pData);
332
 
#endif
333
 
 
334
 
/* ************************************************************************** */
335
 
/* *                                                                        * */
336
 
/* * Delta-image row routines - apply the source row onto the target        * */
337
 
/* *                                                                        * */
338
 
/* ************************************************************************** */
339
 
 
340
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
341
 
mng_retcode mng_delta_g1_g1            (mng_datap  pData);
342
 
mng_retcode mng_delta_g2_g2            (mng_datap  pData);
343
 
mng_retcode mng_delta_g4_g4            (mng_datap  pData);
344
 
#endif
345
 
mng_retcode mng_delta_g8_g8            (mng_datap  pData);
346
 
#ifndef MNG_NO_16BIT_SUPPORT
347
 
mng_retcode mng_delta_g16_g16          (mng_datap  pData);
348
 
#endif
349
 
mng_retcode mng_delta_ga8_ga8          (mng_datap  pData);
350
 
mng_retcode mng_delta_ga8_g8           (mng_datap  pData);
351
 
mng_retcode mng_delta_ga8_a8           (mng_datap  pData);
352
 
mng_retcode mng_delta_rgba8_rgb8       (mng_datap  pData);
353
 
mng_retcode mng_delta_rgba8_a8         (mng_datap  pData);
354
 
#ifndef MNG_NO_16BIT_SUPPORT
355
 
mng_retcode mng_delta_ga16_ga16        (mng_datap  pData);
356
 
mng_retcode mng_delta_ga16_g16         (mng_datap  pData);
357
 
mng_retcode mng_delta_ga16_a16         (mng_datap  pData);
358
 
mng_retcode mng_delta_rgba16_a16       (mng_datap  pData);
359
 
mng_retcode mng_delta_rgba16_rgb16     (mng_datap  pData);
360
 
#endif
361
 
#endif /* MNG_NO_DELTA_PNG */
362
 
mng_retcode mng_delta_rgb8_rgb8        (mng_datap  pData); /* Used for PAST */
363
 
mng_retcode mng_delta_rgba8_rgba8      (mng_datap  pData);
364
 
#ifndef MNG_NO_16BIT_SUPPORT
365
 
mng_retcode mng_delta_rgb16_rgb16      (mng_datap  pData);
366
 
mng_retcode mng_delta_rgba16_rgba16    (mng_datap  pData);
367
 
#endif
368
 
 
369
 
#ifndef MNG_NO_DELTA_PNG
370
 
/* ************************************************************************** */
371
 
/* *                                                                        * */
372
 
/* * Delta-image row routines - scale the delta to bitdepth of target       * */
373
 
/* *                                                                        * */
374
 
/* ************************************************************************** */
375
 
 
376
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
377
 
mng_retcode mng_scale_g1_g2            (mng_datap  pData);
378
 
mng_retcode mng_scale_g1_g4            (mng_datap  pData);
379
 
mng_retcode mng_scale_g1_g8            (mng_datap  pData);
380
 
mng_retcode mng_scale_g2_g4            (mng_datap  pData);
381
 
mng_retcode mng_scale_g2_g8            (mng_datap  pData);
382
 
mng_retcode mng_scale_g4_g8            (mng_datap  pData);
383
 
#endif
384
 
#ifndef MNG_NO_16BIT_SUPPORT
385
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
386
 
mng_retcode mng_scale_g1_g16           (mng_datap  pData);
387
 
mng_retcode mng_scale_g2_g16           (mng_datap  pData);
388
 
mng_retcode mng_scale_g4_g16           (mng_datap  pData);
389
 
#endif
390
 
mng_retcode mng_scale_g8_g16           (mng_datap  pData);
391
 
mng_retcode mng_scale_ga8_ga16         (mng_datap  pData);
392
 
mng_retcode mng_scale_rgb8_rgb16       (mng_datap  pData);
393
 
mng_retcode mng_scale_rgba8_rgba16     (mng_datap  pData);
394
 
#endif
395
 
 
396
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
397
 
mng_retcode mng_scale_g2_g1            (mng_datap  pData);
398
 
mng_retcode mng_scale_g4_g1            (mng_datap  pData);
399
 
mng_retcode mng_scale_g8_g1            (mng_datap  pData);
400
 
mng_retcode mng_scale_g4_g2            (mng_datap  pData);
401
 
mng_retcode mng_scale_g8_g2            (mng_datap  pData);
402
 
mng_retcode mng_scale_g8_g4            (mng_datap  pData);
403
 
#endif
404
 
#ifndef MNG_NO_16BIT_SUPPORT
405
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
406
 
mng_retcode mng_scale_g16_g1           (mng_datap  pData);
407
 
mng_retcode mng_scale_g16_g2           (mng_datap  pData);
408
 
mng_retcode mng_scale_g16_g4           (mng_datap  pData);
409
 
#endif
410
 
mng_retcode mng_scale_g16_g8           (mng_datap  pData);
411
 
mng_retcode mng_scale_ga16_ga8         (mng_datap  pData);
412
 
mng_retcode mng_scale_rgb16_rgb8       (mng_datap  pData);
413
 
mng_retcode mng_scale_rgba16_rgba8     (mng_datap  pData);
414
 
#endif
415
 
#endif /* MNG_NO_DELTA_PNG */
416
 
 
417
 
/* ************************************************************************** */
418
 
/* *                                                                        * */
419
 
/* * Delta-image bit routines - promote bit_depth                           * */
420
 
/* *                                                                        * */
421
 
/* ************************************************************************** */
422
 
 
423
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
424
 
mng_uint8   mng_promote_replicate_1_2  (mng_uint8  iB);
425
 
mng_uint8   mng_promote_replicate_1_4  (mng_uint8  iB);
426
 
mng_uint8   mng_promote_replicate_1_8  (mng_uint8  iB);
427
 
mng_uint8   mng_promote_replicate_2_4  (mng_uint8  iB);
428
 
mng_uint8   mng_promote_replicate_2_8  (mng_uint8  iB);
429
 
mng_uint8   mng_promote_replicate_4_8  (mng_uint8  iB);
430
 
#endif
431
 
#ifndef MNG_NO_16BIT_SUPPORT
432
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
433
 
mng_uint16  mng_promote_replicate_1_16 (mng_uint8  iB);
434
 
mng_uint16  mng_promote_replicate_2_16 (mng_uint8  iB);
435
 
mng_uint16  mng_promote_replicate_4_16 (mng_uint8  iB);
436
 
#endif
437
 
mng_uint16  mng_promote_replicate_8_16 (mng_uint8  iB);
438
 
#endif
439
 
 
440
 
/* ************************************************************************** */
441
 
 
442
 
#ifndef MNG_NO_DELTA_PNG
443
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
444
 
mng_uint8   mng_promote_zerofill_1_2   (mng_uint8  iB);
445
 
mng_uint8   mng_promote_zerofill_1_4   (mng_uint8  iB);
446
 
mng_uint8   mng_promote_zerofill_1_8   (mng_uint8  iB);
447
 
mng_uint8   mng_promote_zerofill_2_4   (mng_uint8  iB);
448
 
mng_uint8   mng_promote_zerofill_2_8   (mng_uint8  iB);
449
 
mng_uint8   mng_promote_zerofill_4_8   (mng_uint8  iB);
450
 
#endif
451
 
#ifndef MNG_NO_16BIT_SUPPORT
452
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
453
 
mng_uint16  mng_promote_zerofill_1_16  (mng_uint8  iB);
454
 
mng_uint16  mng_promote_zerofill_2_16  (mng_uint8  iB);
455
 
mng_uint16  mng_promote_zerofill_4_16  (mng_uint8  iB);
456
 
#endif
457
 
mng_uint16  mng_promote_zerofill_8_16  (mng_uint8  iB);
458
 
#endif
459
 
#endif /* MNG_NO_DELTA_PNG */
460
 
 
461
 
/* ************************************************************************** */
462
 
/* *                                                                        * */
463
 
/* * Delta-image row routines - promote color_type                          * */
464
 
/* *                                                                        * */
465
 
/* ************************************************************************** */
466
 
 
467
 
mng_retcode mng_promote_g8_g8          (mng_datap  pData);
468
 
#ifndef MNG_NO_16BIT_SUPPORT
469
 
mng_retcode mng_promote_g8_g16         (mng_datap  pData);
470
 
mng_retcode mng_promote_g16_g16        (mng_datap  pData);
471
 
#endif
472
 
 
473
 
mng_retcode mng_promote_g8_ga8         (mng_datap  pData);
474
 
#ifndef MNG_NO_16BIT_SUPPORT
475
 
mng_retcode mng_promote_g8_ga16        (mng_datap  pData);
476
 
mng_retcode mng_promote_g16_ga16       (mng_datap  pData);
477
 
#endif
478
 
 
479
 
mng_retcode mng_promote_g8_rgb8        (mng_datap  pData);
480
 
#ifndef MNG_NO_16BIT_SUPPORT
481
 
mng_retcode mng_promote_g8_rgb16       (mng_datap  pData);
482
 
mng_retcode mng_promote_g16_rgb16      (mng_datap  pData);
483
 
#endif
484
 
 
485
 
mng_retcode mng_promote_g8_rgba8       (mng_datap  pData);
486
 
#ifndef MNG_NO_16BIT_SUPPORT
487
 
mng_retcode mng_promote_g8_rgba16      (mng_datap  pData);
488
 
mng_retcode mng_promote_g16_rgba16     (mng_datap  pData);
489
 
 
490
 
mng_retcode mng_promote_ga8_ga16       (mng_datap  pData);
491
 
#endif
492
 
 
493
 
mng_retcode mng_promote_ga8_rgba8      (mng_datap  pData);
494
 
#ifndef MNG_NO_16BIT_SUPPORT
495
 
mng_retcode mng_promote_ga8_rgba16     (mng_datap  pData);
496
 
mng_retcode mng_promote_ga16_rgba16    (mng_datap  pData);
497
 
#endif
498
 
 
499
 
#ifndef MNG_NO_16BIT_SUPPORT
500
 
mng_retcode mng_promote_rgb8_rgb16     (mng_datap  pData);
501
 
#endif
502
 
 
503
 
mng_retcode mng_promote_rgb8_rgba8     (mng_datap  pData);
504
 
#ifndef MNG_NO_16BIT_SUPPORT
505
 
mng_retcode mng_promote_rgb8_rgba16    (mng_datap  pData);
506
 
mng_retcode mng_promote_rgb16_rgba16   (mng_datap  pData);
507
 
#endif
508
 
 
509
 
mng_retcode mng_promote_idx8_rgb8      (mng_datap  pData);
510
 
#ifndef MNG_NO_16BIT_SUPPORT
511
 
mng_retcode mng_promote_idx8_rgb16     (mng_datap  pData);
512
 
#endif
513
 
 
514
 
mng_retcode mng_promote_idx8_rgba8     (mng_datap  pData);
515
 
#ifndef MNG_NO_16BIT_SUPPORT
516
 
mng_retcode mng_promote_idx8_rgba16    (mng_datap  pData);
517
 
 
518
 
mng_retcode mng_promote_rgba8_rgba16   (mng_datap  pData);
519
 
#endif
520
 
 
521
 
/* ************************************************************************** */
522
 
/* *                                                                        * */
523
 
/* * Row processing routines - convert uncompressed data from zlib to       * */
524
 
/* * managable row-data which serves as input to the color-management       * */
525
 
/* * routines                                                               * */
526
 
/* *                                                                        * */
527
 
/* ************************************************************************** */
528
 
 
529
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
530
 
mng_retcode mng_process_g1             (mng_datap  pData);
531
 
mng_retcode mng_process_g2             (mng_datap  pData);
532
 
mng_retcode mng_process_g4             (mng_datap  pData);
533
 
#endif
534
 
mng_retcode mng_process_g8             (mng_datap  pData);
535
 
mng_retcode mng_process_rgb8           (mng_datap  pData);
536
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
537
 
mng_retcode mng_process_idx1           (mng_datap  pData);
538
 
mng_retcode mng_process_idx2           (mng_datap  pData);
539
 
mng_retcode mng_process_idx4           (mng_datap  pData);
540
 
#endif
541
 
mng_retcode mng_process_idx8           (mng_datap  pData);
542
 
mng_retcode mng_process_ga8            (mng_datap  pData);
543
 
mng_retcode mng_process_rgba8          (mng_datap  pData);
544
 
#ifndef MNG_NO_16BIT_SUPPORT
545
 
mng_retcode mng_process_g16            (mng_datap  pData);
546
 
mng_retcode mng_process_ga16           (mng_datap  pData);
547
 
mng_retcode mng_process_rgb16          (mng_datap  pData);
548
 
mng_retcode mng_process_rgba16         (mng_datap  pData);
549
 
#endif
550
 
 
551
 
/* ************************************************************************** */
552
 
/* *                                                                        * */
553
 
/* * Row processing initialization routines - set up the variables needed   * */
554
 
/* * to process uncompressed row-data                                       * */
555
 
/* *                                                                        * */
556
 
/* ************************************************************************** */
557
 
 
558
 
#ifndef MNG_OPTIMIZE_FOOTPRINT_INIT
559
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
560
 
mng_retcode mng_init_g1_i              (mng_datap  pData);
561
 
mng_retcode mng_init_g2_i              (mng_datap  pData);
562
 
mng_retcode mng_init_g4_i              (mng_datap  pData);
563
 
#endif
564
 
mng_retcode mng_init_g8_i              (mng_datap  pData);
565
 
mng_retcode mng_init_rgb8_i            (mng_datap  pData);
566
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
567
 
mng_retcode mng_init_idx1_i            (mng_datap  pData);
568
 
mng_retcode mng_init_idx2_i            (mng_datap  pData);
569
 
mng_retcode mng_init_idx4_i            (mng_datap  pData);
570
 
#endif
571
 
mng_retcode mng_init_idx8_i            (mng_datap  pData);
572
 
mng_retcode mng_init_ga8_i             (mng_datap  pData);
573
 
mng_retcode mng_init_rgba8_i           (mng_datap  pData);
574
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
575
 
mng_retcode mng_init_g1_ni             (mng_datap  pData);
576
 
mng_retcode mng_init_g2_ni             (mng_datap  pData);
577
 
mng_retcode mng_init_g4_ni             (mng_datap  pData);
578
 
#endif
579
 
mng_retcode mng_init_g8_ni             (mng_datap  pData);
580
 
mng_retcode mng_init_rgb8_ni           (mng_datap  pData);
581
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
582
 
mng_retcode mng_init_idx1_ni           (mng_datap  pData);
583
 
mng_retcode mng_init_idx2_ni           (mng_datap  pData);
584
 
mng_retcode mng_init_idx4_ni           (mng_datap  pData);
585
 
#endif
586
 
mng_retcode mng_init_idx8_ni           (mng_datap  pData);
587
 
mng_retcode mng_init_ga8_ni            (mng_datap  pData);
588
 
mng_retcode mng_init_rgba8_ni          (mng_datap  pData);
589
 
#ifndef MNG_NO_16BIT_SUPPORT
590
 
mng_retcode mng_init_g16_i             (mng_datap  pData);
591
 
mng_retcode mng_init_rgb16_i           (mng_datap  pData);
592
 
mng_retcode mng_init_ga16_i            (mng_datap  pData);
593
 
mng_retcode mng_init_rgba16_i          (mng_datap  pData);
594
 
mng_retcode mng_init_g16_ni            (mng_datap  pData);
595
 
mng_retcode mng_init_rgb16_ni          (mng_datap  pData);
596
 
mng_retcode mng_init_ga16_ni           (mng_datap  pData);
597
 
mng_retcode mng_init_rgba16_ni         (mng_datap  pData);
598
 
#endif
599
 
#endif
600
 
 
601
 
/* ************************************************************************** */
602
 
/* *                                                                        * */
603
 
/* * Row processing initialization routines (JPEG) - set up the variables   * */
604
 
/* * needed to process uncompressed row-data                                * */
605
 
/* *                                                                        * */
606
 
/* ************************************************************************** */
607
 
 
608
 
#ifndef MNG_OPTIMIZE_FOOTPRINT_INIT
609
 
#ifdef MNG_INCLUDE_JNG
610
 
#ifndef MNG_NO_1_2_4BIT_SUPPORT
611
 
mng_retcode mng_init_jpeg_a1_ni        (mng_datap  pData);
612
 
mng_retcode mng_init_jpeg_a2_ni        (mng_datap  pData);
613
 
mng_retcode mng_init_jpeg_a4_ni        (mng_datap  pData);
614
 
#endif
615
 
mng_retcode mng_init_jpeg_a8_ni        (mng_datap  pData);
616
 
#ifndef MNG_NO_16BIT_SUPPORT
617
 
mng_retcode mng_init_jpeg_a16_ni       (mng_datap  pData);
618
 
#endif
619
 
#endif
620
 
#endif
621
 
 
622
 
/* ************************************************************************** */
623
 
/* *                                                                        * */
624
 
/* * General row processing routines                                        * */
625
 
/* *                                                                        * */
626
 
/* ************************************************************************** */
627
 
 
628
 
mng_retcode mng_init_rowproc           (mng_datap  pData);
629
 
mng_retcode mng_next_row               (mng_datap  pData);
630
 
#ifdef MNG_INCLUDE_JNG
631
 
mng_retcode mng_next_jpeg_alpharow     (mng_datap  pData);
632
 
mng_retcode mng_next_jpeg_row          (mng_datap  pData);
633
 
#endif
634
 
mng_retcode mng_cleanup_rowproc        (mng_datap  pData);
635
 
 
636
 
/* ************************************************************************** */
637
 
/* *                                                                        * */
638
 
/* * Magnification row routines - apply magnification transforms            * */
639
 
/* *                                                                        * */
640
 
/* ************************************************************************** */
641
 
 
642
 
#ifndef MNG_OPTIMIZE_FOOTPRINT_MAGN
643
 
mng_retcode mng_magnify_g8_x1          (mng_datap  pData,
644
 
                                        mng_uint16 iMX,
645
 
                                        mng_uint16 iML,
646
 
                                        mng_uint16 iMR,
647
 
                                        mng_uint32 iWidth,
648
 
                                        mng_uint8p pSrcline,
649
 
                                        mng_uint8p pDstline);
650
 
mng_retcode mng_magnify_g8_x2          (mng_datap  pData,
651
 
                                        mng_uint16 iMX,
652
 
                                        mng_uint16 iML,
653
 
                                        mng_uint16 iMR,
654
 
                                        mng_uint32 iWidth,
655
 
                                        mng_uint8p pSrcline,
656
 
                                        mng_uint8p pDstline);
657
 
mng_retcode mng_magnify_g8_x3          (mng_datap  pData,
658
 
                                        mng_uint16 iMX,
659
 
                                        mng_uint16 iML,
660
 
                                        mng_uint16 iMR,
661
 
                                        mng_uint32 iWidth,
662
 
                                        mng_uint8p pSrcline,
663
 
                                        mng_uint8p pDstline);
664
 
mng_retcode mng_magnify_rgb8_x1        (mng_datap  pData,
665
 
                                        mng_uint16 iMX,
666
 
                                        mng_uint16 iML,
667
 
                                        mng_uint16 iMR,
668
 
                                        mng_uint32 iWidth,
669
 
                                        mng_uint8p pSrcline,
670
 
                                        mng_uint8p pDstline);
671
 
mng_retcode mng_magnify_rgb8_x2        (mng_datap  pData,
672
 
                                        mng_uint16 iMX,
673
 
                                        mng_uint16 iML,
674
 
                                        mng_uint16 iMR,
675
 
                                        mng_uint32 iWidth,
676
 
                                        mng_uint8p pSrcline,
677
 
                                        mng_uint8p pDstline);
678
 
mng_retcode mng_magnify_rgb8_x3        (mng_datap  pData,
679
 
                                        mng_uint16 iMX,
680
 
                                        mng_uint16 iML,
681
 
                                        mng_uint16 iMR,
682
 
                                        mng_uint32 iWidth,
683
 
                                        mng_uint8p pSrcline,
684
 
                                        mng_uint8p pDstline);
685
 
mng_retcode mng_magnify_ga8_x1         (mng_datap  pData,
686
 
                                        mng_uint16 iMX,
687
 
                                        mng_uint16 iML,
688
 
                                        mng_uint16 iMR,
689
 
                                        mng_uint32 iWidth,
690
 
                                        mng_uint8p pSrcline,
691
 
                                        mng_uint8p pDstline);
692
 
mng_retcode mng_magnify_ga8_x2         (mng_datap  pData,
693
 
                                        mng_uint16 iMX,
694
 
                                        mng_uint16 iML,
695
 
                                        mng_uint16 iMR,
696
 
                                        mng_uint32 iWidth,
697
 
                                        mng_uint8p pSrcline,
698
 
                                        mng_uint8p pDstline);
699
 
mng_retcode mng_magnify_ga8_x3         (mng_datap  pData,
700
 
                                        mng_uint16 iMX,
701
 
                                        mng_uint16 iML,
702
 
                                        mng_uint16 iMR,
703
 
                                        mng_uint32 iWidth,
704
 
                                        mng_uint8p pSrcline,
705
 
                                        mng_uint8p pDstline);
706
 
mng_retcode mng_magnify_ga8_x4         (mng_datap  pData,
707
 
                                        mng_uint16 iMX,
708
 
                                        mng_uint16 iML,
709
 
                                        mng_uint16 iMR,
710
 
                                        mng_uint32 iWidth,
711
 
                                        mng_uint8p pSrcline,
712
 
                                        mng_uint8p pDstline);
713
 
mng_retcode mng_magnify_ga8_x5         (mng_datap  pData,
714
 
                                        mng_uint16 iMX,
715
 
                                        mng_uint16 iML,
716
 
                                        mng_uint16 iMR,
717
 
                                        mng_uint32 iWidth,
718
 
                                        mng_uint8p pSrcline,
719
 
                                        mng_uint8p pDstline);
720
 
#endif
721
 
mng_retcode mng_magnify_rgba8_x1       (mng_datap  pData,
722
 
                                        mng_uint16 iMX,
723
 
                                        mng_uint16 iML,
724
 
                                        mng_uint16 iMR,
725
 
                                        mng_uint32 iWidth,
726
 
                                        mng_uint8p pSrcline,
727
 
                                        mng_uint8p pDstline);
728
 
mng_retcode mng_magnify_rgba8_x2       (mng_datap  pData,
729
 
                                        mng_uint16 iMX,
730
 
                                        mng_uint16 iML,
731
 
                                        mng_uint16 iMR,
732
 
                                        mng_uint32 iWidth,
733
 
                                        mng_uint8p pSrcline,
734
 
                                        mng_uint8p pDstline);
735
 
mng_retcode mng_magnify_rgba8_x3       (mng_datap  pData,
736
 
                                        mng_uint16 iMX,
737
 
                                        mng_uint16 iML,
738
 
                                        mng_uint16 iMR,
739
 
                                        mng_uint32 iWidth,
740
 
                                        mng_uint8p pSrcline,
741
 
                                        mng_uint8p pDstline);
742
 
mng_retcode mng_magnify_rgba8_x4       (mng_datap  pData,
743
 
                                        mng_uint16 iMX,
744
 
                                        mng_uint16 iML,
745
 
                                        mng_uint16 iMR,
746
 
                                        mng_uint32 iWidth,
747
 
                                        mng_uint8p pSrcline,
748
 
                                        mng_uint8p pDstline);
749
 
mng_retcode mng_magnify_rgba8_x5       (mng_datap  pData,
750
 
                                        mng_uint16 iMX,
751
 
                                        mng_uint16 iML,
752
 
                                        mng_uint16 iMR,
753
 
                                        mng_uint32 iWidth,
754
 
                                        mng_uint8p pSrcline,
755
 
                                        mng_uint8p pDstline);
756
 
#ifndef MNG_OPTIMIZE_FOOTPRINT_MAGN
757
 
mng_retcode mng_magnify_g8_y1          (mng_datap  pData,
758
 
                                        mng_int32  iS,
759
 
                                        mng_int32  iM,
760
 
                                        mng_uint32 iWidth,
761
 
                                        mng_uint8p pSrcline1,
762
 
                                        mng_uint8p pSrcline2,
763
 
                                        mng_uint8p pDstline);
764
 
mng_retcode mng_magnify_g8_y2          (mng_datap  pData,
765
 
                                        mng_int32  iS,
766
 
                                        mng_int32  iM,
767
 
                                        mng_uint32 iWidth,
768
 
                                        mng_uint8p pSrcline1,
769
 
                                        mng_uint8p pSrcline2,
770
 
                                        mng_uint8p pDstline);
771
 
mng_retcode mng_magnify_g8_y3          (mng_datap  pData,
772
 
                                        mng_int32  iS,
773
 
                                        mng_int32  iM,
774
 
                                        mng_uint32 iWidth,
775
 
                                        mng_uint8p pSrcline1,
776
 
                                        mng_uint8p pSrcline2,
777
 
                                        mng_uint8p pDstline);
778
 
mng_retcode mng_magnify_rgb8_y1        (mng_datap  pData,
779
 
                                        mng_int32  iS,
780
 
                                        mng_int32  iM,
781
 
                                        mng_uint32 iWidth,
782
 
                                        mng_uint8p pSrcline1,
783
 
                                        mng_uint8p pSrcline2,
784
 
                                        mng_uint8p pDstline);
785
 
mng_retcode mng_magnify_rgb8_y2        (mng_datap  pData,
786
 
                                        mng_int32  iS,
787
 
                                        mng_int32  iM,
788
 
                                        mng_uint32 iWidth,
789
 
                                        mng_uint8p pSrcline1,
790
 
                                        mng_uint8p pSrcline2,
791
 
                                        mng_uint8p pDstline);
792
 
mng_retcode mng_magnify_rgb8_y3        (mng_datap  pData,
793
 
                                        mng_int32  iS,
794
 
                                        mng_int32  iM,
795
 
                                        mng_uint32 iWidth,
796
 
                                        mng_uint8p pSrcline1,
797
 
                                        mng_uint8p pSrcline2,
798
 
                                        mng_uint8p pDstline);
799
 
mng_retcode mng_magnify_ga8_y1         (mng_datap  pData,
800
 
                                        mng_int32  iS,
801
 
                                        mng_int32  iM,
802
 
                                        mng_uint32 iWidth,
803
 
                                        mng_uint8p pSrcline1,
804
 
                                        mng_uint8p pSrcline2,
805
 
                                        mng_uint8p pDstline);
806
 
mng_retcode mng_magnify_ga8_y2         (mng_datap  pData,
807
 
                                        mng_int32  iS,
808
 
                                        mng_int32  iM,
809
 
                                        mng_uint32 iWidth,
810
 
                                        mng_uint8p pSrcline1,
811
 
                                        mng_uint8p pSrcline2,
812
 
                                        mng_uint8p pDstline);
813
 
mng_retcode mng_magnify_ga8_y3         (mng_datap  pData,
814
 
                                        mng_int32  iS,
815
 
                                        mng_int32  iM,
816
 
                                        mng_uint32 iWidth,
817
 
                                        mng_uint8p pSrcline1,
818
 
                                        mng_uint8p pSrcline2,
819
 
                                        mng_uint8p pDstline);
820
 
mng_retcode mng_magnify_ga8_y4         (mng_datap  pData,
821
 
                                        mng_int32  iS,
822
 
                                        mng_int32  iM,
823
 
                                        mng_uint32 iWidth,
824
 
                                        mng_uint8p pSrcline1,
825
 
                                        mng_uint8p pSrcline2,
826
 
                                        mng_uint8p pDstline);
827
 
mng_retcode mng_magnify_ga8_y5         (mng_datap  pData,
828
 
                                        mng_int32  iS,
829
 
                                        mng_int32  iM,
830
 
                                        mng_uint32 iWidth,
831
 
                                        mng_uint8p pSrcline1,
832
 
                                        mng_uint8p pSrcline2,
833
 
                                        mng_uint8p pDstline);
834
 
#endif
835
 
mng_retcode mng_magnify_rgba8_y1       (mng_datap  pData,
836
 
                                        mng_int32  iS,
837
 
                                        mng_int32  iM,
838
 
                                        mng_uint32 iWidth,
839
 
                                        mng_uint8p pSrcline1,
840
 
                                        mng_uint8p pSrcline2,
841
 
                                        mng_uint8p pDstline);
842
 
mng_retcode mng_magnify_rgba8_y2       (mng_datap  pData,
843
 
                                        mng_int32  iS,
844
 
                                        mng_int32  iM,
845
 
                                        mng_uint32 iWidth,
846
 
                                        mng_uint8p pSrcline1,
847
 
                                        mng_uint8p pSrcline2,
848
 
                                        mng_uint8p pDstline);
849
 
mng_retcode mng_magnify_rgba8_y3       (mng_datap  pData,
850
 
                                        mng_int32  iS,
851
 
                                        mng_int32  iM,
852
 
                                        mng_uint32 iWidth,
853
 
                                        mng_uint8p pSrcline1,
854
 
                                        mng_uint8p pSrcline2,
855
 
                                        mng_uint8p pDstline);
856
 
mng_retcode mng_magnify_rgba8_y4       (mng_datap  pData,
857
 
                                        mng_int32  iS,
858
 
                                        mng_int32  iM,
859
 
                                        mng_uint32 iWidth,
860
 
                                        mng_uint8p pSrcline1,
861
 
                                        mng_uint8p pSrcline2,
862
 
                                        mng_uint8p pDstline);
863
 
mng_retcode mng_magnify_rgba8_y5       (mng_datap  pData,
864
 
                                        mng_int32  iS,
865
 
                                        mng_int32  iM,
866
 
                                        mng_uint32 iWidth,
867
 
                                        mng_uint8p pSrcline1,
868
 
                                        mng_uint8p pSrcline2,
869
 
                                        mng_uint8p pDstline);
870
 
 
871
 
/* ************************************************************************** */
872
 
#ifndef MNG_NO_16BIT_SUPPORT
873
 
#ifndef MNG_OPTIMIZE_FOOTPRINT_MAGN
874
 
mng_retcode mng_magnify_g16_x1         (mng_datap  pData,
875
 
                                        mng_uint16 iMX,
876
 
                                        mng_uint16 iML,
877
 
                                        mng_uint16 iMR,
878
 
                                        mng_uint32 iWidth,
879
 
                                        mng_uint8p pSrcline,
880
 
                                        mng_uint8p pDstline);
881
 
mng_retcode mng_magnify_g16_x2         (mng_datap  pData,
882
 
                                        mng_uint16 iMX,
883
 
                                        mng_uint16 iML,
884
 
                                        mng_uint16 iMR,
885
 
                                        mng_uint32 iWidth,
886
 
                                        mng_uint8p pSrcline,
887
 
                                        mng_uint8p pDstline);
888
 
mng_retcode mng_magnify_g16_x3         (mng_datap  pData,
889
 
                                        mng_uint16 iMX,
890
 
                                        mng_uint16 iML,
891
 
                                        mng_uint16 iMR,
892
 
                                        mng_uint32 iWidth,
893
 
                                        mng_uint8p pSrcline,
894
 
                                        mng_uint8p pDstline);
895
 
mng_retcode mng_magnify_rgb16_x1       (mng_datap  pData,
896
 
                                        mng_uint16 iMX,
897
 
                                        mng_uint16 iML,
898
 
                                        mng_uint16 iMR,
899
 
                                        mng_uint32 iWidth,
900
 
                                        mng_uint8p pSrcline,
901
 
                                        mng_uint8p pDstline);
902
 
mng_retcode mng_magnify_rgb16_x2       (mng_datap  pData,
903
 
                                        mng_uint16 iMX,
904
 
                                        mng_uint16 iML,
905
 
                                        mng_uint16 iMR,
906
 
                                        mng_uint32 iWidth,
907
 
                                        mng_uint8p pSrcline,
908
 
                                        mng_uint8p pDstline);
909
 
mng_retcode mng_magnify_rgb16_x3       (mng_datap  pData,
910
 
                                        mng_uint16 iMX,
911
 
                                        mng_uint16 iML,
912
 
                                        mng_uint16 iMR,
913
 
                                        mng_uint32 iWidth,
914
 
                                        mng_uint8p pSrcline,
915
 
                                        mng_uint8p pDstline);
916
 
mng_retcode mng_magnify_ga16_x1        (mng_datap  pData,
917
 
                                        mng_uint16 iMX,
918
 
                                        mng_uint16 iML,
919
 
                                        mng_uint16 iMR,
920
 
                                        mng_uint32 iWidth,
921
 
                                        mng_uint8p pSrcline,
922
 
                                        mng_uint8p pDstline);
923
 
mng_retcode mng_magnify_ga16_x2        (mng_datap  pData,
924
 
                                        mng_uint16 iMX,
925
 
                                        mng_uint16 iML,
926
 
                                        mng_uint16 iMR,
927
 
                                        mng_uint32 iWidth,
928
 
                                        mng_uint8p pSrcline,
929
 
                                        mng_uint8p pDstline);
930
 
mng_retcode mng_magnify_ga16_x3        (mng_datap  pData,
931
 
                                        mng_uint16 iMX,
932
 
                                        mng_uint16 iML,
933
 
                                        mng_uint16 iMR,
934
 
                                        mng_uint32 iWidth,
935
 
                                        mng_uint8p pSrcline,
936
 
                                        mng_uint8p pDstline);
937
 
mng_retcode mng_magnify_ga16_x4        (mng_datap  pData,
938
 
                                        mng_uint16 iMX,
939
 
                                        mng_uint16 iML,
940
 
                                        mng_uint16 iMR,
941
 
                                        mng_uint32 iWidth,
942
 
                                        mng_uint8p pSrcline,
943
 
                                        mng_uint8p pDstline);
944
 
mng_retcode mng_magnify_ga16_x5        (mng_datap  pData,
945
 
                                        mng_uint16 iMX,
946
 
                                        mng_uint16 iML,
947
 
                                        mng_uint16 iMR,
948
 
                                        mng_uint32 iWidth,
949
 
                                        mng_uint8p pSrcline,
950
 
                                        mng_uint8p pDstline);
951
 
mng_retcode mng_magnify_rgba16_x1      (mng_datap  pData,
952
 
                                        mng_uint16 iMX,
953
 
                                        mng_uint16 iML,
954
 
                                        mng_uint16 iMR,
955
 
                                        mng_uint32 iWidth,
956
 
                                        mng_uint8p pSrcline,
957
 
                                        mng_uint8p pDstline);
958
 
mng_retcode mng_magnify_rgba16_x2      (mng_datap  pData,
959
 
                                        mng_uint16 iMX,
960
 
                                        mng_uint16 iML,
961
 
                                        mng_uint16 iMR,
962
 
                                        mng_uint32 iWidth,
963
 
                                        mng_uint8p pSrcline,
964
 
                                        mng_uint8p pDstline);
965
 
mng_retcode mng_magnify_rgba16_x3      (mng_datap  pData,
966
 
                                        mng_uint16 iMX,
967
 
                                        mng_uint16 iML,
968
 
                                        mng_uint16 iMR,
969
 
                                        mng_uint32 iWidth,
970
 
                                        mng_uint8p pSrcline,
971
 
                                        mng_uint8p pDstline);
972
 
mng_retcode mng_magnify_rgba16_x4      (mng_datap  pData,
973
 
                                        mng_uint16 iMX,
974
 
                                        mng_uint16 iML,
975
 
                                        mng_uint16 iMR,
976
 
                                        mng_uint32 iWidth,
977
 
                                        mng_uint8p pSrcline,
978
 
                                        mng_uint8p pDstline);
979
 
mng_retcode mng_magnify_rgba16_x5      (mng_datap  pData,
980
 
                                        mng_uint16 iMX,
981
 
                                        mng_uint16 iML,
982
 
                                        mng_uint16 iMR,
983
 
                                        mng_uint32 iWidth,
984
 
                                        mng_uint8p pSrcline,
985
 
                                        mng_uint8p pDstline);
986
 
 
987
 
mng_retcode mng_magnify_g16_y1         (mng_datap  pData,
988
 
                                        mng_int32  iS,
989
 
                                        mng_int32  iM,
990
 
                                        mng_uint32 iWidth,
991
 
                                        mng_uint8p pSrcline1,
992
 
                                        mng_uint8p pSrcline2,
993
 
                                        mng_uint8p pDstline);
994
 
mng_retcode mng_magnify_g16_y2         (mng_datap  pData,
995
 
                                        mng_int32  iS,
996
 
                                        mng_int32  iM,
997
 
                                        mng_uint32 iWidth,
998
 
                                        mng_uint8p pSrcline1,
999
 
                                        mng_uint8p pSrcline2,
1000
 
                                        mng_uint8p pDstline);
1001
 
mng_retcode mng_magnify_g16_y3         (mng_datap  pData,
1002
 
                                        mng_int32  iS,
1003
 
                                        mng_int32  iM,
1004
 
                                        mng_uint32 iWidth,
1005
 
                                        mng_uint8p pSrcline1,
1006
 
                                        mng_uint8p pSrcline2,
1007
 
                                        mng_uint8p pDstline);
1008
 
mng_retcode mng_magnify_rgb16_y1       (mng_datap  pData,
1009
 
                                        mng_int32  iS,
1010
 
                                        mng_int32  iM,
1011
 
                                        mng_uint32 iWidth,
1012
 
                                        mng_uint8p pSrcline1,
1013
 
                                        mng_uint8p pSrcline2,
1014
 
                                        mng_uint8p pDstline);
1015
 
mng_retcode mng_magnify_rgb16_y2       (mng_datap  pData,
1016
 
                                        mng_int32  iS,
1017
 
                                        mng_int32  iM,
1018
 
                                        mng_uint32 iWidth,
1019
 
                                        mng_uint8p pSrcline1,
1020
 
                                        mng_uint8p pSrcline2,
1021
 
                                        mng_uint8p pDstline);
1022
 
mng_retcode mng_magnify_rgb16_y3       (mng_datap  pData,
1023
 
                                        mng_int32  iS,
1024
 
                                        mng_int32  iM,
1025
 
                                        mng_uint32 iWidth,
1026
 
                                        mng_uint8p pSrcline1,
1027
 
                                        mng_uint8p pSrcline2,
1028
 
                                        mng_uint8p pDstline);
1029
 
mng_retcode mng_magnify_ga16_y1        (mng_datap  pData,
1030
 
                                        mng_int32  iS,
1031
 
                                        mng_int32  iM,
1032
 
                                        mng_uint32 iWidth,
1033
 
                                        mng_uint8p pSrcline1,
1034
 
                                        mng_uint8p pSrcline2,
1035
 
                                        mng_uint8p pDstline);
1036
 
mng_retcode mng_magnify_ga16_y2        (mng_datap  pData,
1037
 
                                        mng_int32  iS,
1038
 
                                        mng_int32  iM,
1039
 
                                        mng_uint32 iWidth,
1040
 
                                        mng_uint8p pSrcline1,
1041
 
                                        mng_uint8p pSrcline2,
1042
 
                                        mng_uint8p pDstline);
1043
 
mng_retcode mng_magnify_ga16_y3        (mng_datap  pData,
1044
 
                                        mng_int32  iS,
1045
 
                                        mng_int32  iM,
1046
 
                                        mng_uint32 iWidth,
1047
 
                                        mng_uint8p pSrcline1,
1048
 
                                        mng_uint8p pSrcline2,
1049
 
                                        mng_uint8p pDstline);
1050
 
mng_retcode mng_magnify_ga16_y4        (mng_datap  pData,
1051
 
                                        mng_int32  iS,
1052
 
                                        mng_int32  iM,
1053
 
                                        mng_uint32 iWidth,
1054
 
                                        mng_uint8p pSrcline1,
1055
 
                                        mng_uint8p pSrcline2,
1056
 
                                        mng_uint8p pDstline);
1057
 
mng_retcode mng_magnify_ga16_y5        (mng_datap  pData,
1058
 
                                        mng_int32  iS,
1059
 
                                        mng_int32  iM,
1060
 
                                        mng_uint32 iWidth,
1061
 
                                        mng_uint8p pSrcline1,
1062
 
                                        mng_uint8p pSrcline2,
1063
 
                                        mng_uint8p pDstline);
1064
 
mng_retcode mng_magnify_rgba16_y1      (mng_datap  pData,
1065
 
                                        mng_int32  iS,
1066
 
                                        mng_int32  iM,
1067
 
                                        mng_uint32 iWidth,
1068
 
                                        mng_uint8p pSrcline1,
1069
 
                                        mng_uint8p pSrcline2,
1070
 
                                        mng_uint8p pDstline);
1071
 
mng_retcode mng_magnify_rgba16_y2      (mng_datap  pData,
1072
 
                                        mng_int32  iS,
1073
 
                                        mng_int32  iM,
1074
 
                                        mng_uint32 iWidth,
1075
 
                                        mng_uint8p pSrcline1,
1076
 
                                        mng_uint8p pSrcline2,
1077
 
                                        mng_uint8p pDstline);
1078
 
mng_retcode mng_magnify_rgba16_y3      (mng_datap  pData,
1079
 
                                        mng_int32  iS,
1080
 
                                        mng_int32  iM,
1081
 
                                        mng_uint32 iWidth,
1082
 
                                        mng_uint8p pSrcline1,
1083
 
                                        mng_uint8p pSrcline2,
1084
 
                                        mng_uint8p pDstline);
1085
 
mng_retcode mng_magnify_rgba16_y4      (mng_datap  pData,
1086
 
                                        mng_int32  iS,
1087
 
                                        mng_int32  iM,
1088
 
                                        mng_uint32 iWidth,
1089
 
                                        mng_uint8p pSrcline1,
1090
 
                                        mng_uint8p pSrcline2,
1091
 
                                        mng_uint8p pDstline);
1092
 
mng_retcode mng_magnify_rgba16_y5      (mng_datap  pData,
1093
 
                                        mng_int32  iS,
1094
 
                                        mng_int32  iM,
1095
 
                                        mng_uint32 iWidth,
1096
 
                                        mng_uint8p pSrcline1,
1097
 
                                        mng_uint8p pSrcline2,
1098
 
                                        mng_uint8p pDstline);
1099
 
#endif
1100
 
#endif
1101
 
 
1102
 
/* ************************************************************************** */
1103
 
/* *                                                                        * */
1104
 
/* * PAST composition routines - compose over/under with a target object    * */
1105
 
/* *                                                                        * */
1106
 
/* ************************************************************************** */
1107
 
 
1108
 
mng_retcode mng_composeover_rgba8      (mng_datap  pData);
1109
 
#ifndef MNG_SKIPCHUNK_PAST
1110
 
mng_retcode mng_composeunder_rgba8     (mng_datap  pData);
1111
 
#ifndef MNG_NO_16BIT_SUPPORT
1112
 
mng_retcode mng_composeover_rgba16     (mng_datap  pData);
1113
 
mng_retcode mng_composeunder_rgba16    (mng_datap  pData);
1114
 
#endif
1115
 
#endif
1116
 
 
1117
 
/* ************************************************************************** */
1118
 
/* *                                                                        * */
1119
 
/* * PAST flip & tile routines - flip or tile a row of pixels               * */
1120
 
/* *                                                                        * */
1121
 
/* ************************************************************************** */
1122
 
 
1123
 
#ifndef MNG_SKIPCHUNK_PAST
1124
 
mng_retcode mng_flip_rgba8             (mng_datap  pData);
1125
 
mng_retcode mng_tile_rgba8             (mng_datap  pData);
1126
 
#ifndef MNG_NO_16BIT_SUPPORT
1127
 
mng_retcode mng_flip_rgba16            (mng_datap  pData);
1128
 
mng_retcode mng_tile_rgba16            (mng_datap  pData);
1129
 
#endif
1130
 
#endif
1131
 
 
1132
 
/* ************************************************************************** */
1133
 
 
1134
 
#endif /* _libmng_pixels_h_ */
1135
 
 
1136
 
/* ************************************************************************** */
1137
 
/* * end of file                                                            * */
1138
 
/* ************************************************************************** */
 
1
/* ************************************************************************** */
 
2
/* *             For conditions of distribution and use,                    * */
 
3
/* *                see copyright notice in libmng.h                        * */
 
4
/* ************************************************************************** */
 
5
/* *                                                                        * */
 
6
/* * project   : libmng                                                     * */
 
7
/* * file      : libmng_pixels.h           copyright (c) 2000-2004 G.Juyn   * */
 
8
/* * version   : 1.0.9                                                      * */
 
9
/* *                                                                        * */
 
10
/* * purpose   : Pixel-row management routines (definition)                 * */
 
11
/* *                                                                        * */
 
12
/* * author    : G.Juyn                                                     * */
 
13
/* *                                                                        * */
 
14
/* * comment   : Definition of the pixel-row management routines            * */
 
15
/* *                                                                        * */
 
16
/* * changes   : 0.5.1 - 05/08/2000 - G.Juyn                                * */
 
17
/* *             - changed strict-ANSI stuff                                * */
 
18
/* *                                                                        * */
 
19
/* *             0.5.2 - 05/22/2000 - G.Juyn                                * */
 
20
/* *             - added some JNG definitions                               * */
 
21
/* *             - added delta-image row-processing routines                * */
 
22
/* *             0.5.2 - 06/05/2000 - G.Juyn                                * */
 
23
/* *             - added support for RGB8_A8 canvasstyle                    * */
 
24
/* *                                                                        * */
 
25
/* *             0.5.3 - 06/16/2000 - G.Juyn                                * */
 
26
/* *             - changed progressive-display processing                   * */
 
27
/* *                                                                        * */
 
28
/* *             0.9.2 - 08/05/2000 - G.Juyn                                * */
 
29
/* *             - changed file-prefixes                                    * */
 
30
/* *                                                                        * */
 
31
/* *             0.9.3 - 08/26/2000 - G.Juyn                                * */
 
32
/* *             - added MAGN support                                       * */
 
33
/* *             0.9.3 - 09/07/2000 - G.Juyn                                * */
 
34
/* *             - added support for new filter_types                       * */
 
35
/* *             0.9.3 - 10/16/2000 - G.Juyn                                * */
 
36
/* *             - added optional support for bKGD for PNG images           * */
 
37
/* *             - added support for JDAA                                   * */
 
38
/* *             0.9.3 - 10/19/2000 - G.Juyn                                * */
 
39
/* *             - implemented delayed delta-processing                     * */
 
40
/* *                                                                        * */
 
41
/* *             0.9.4 -  1/18/2001 - G.Juyn                                * */
 
42
/* *             - added "new" MAGN methods 3, 4 & 5                        * */
 
43
/* *                                                                        * */
 
44
/* *             1.0.1 - 04/21/2001 - G.Juyn (code by G.Kelly)              * */
 
45
/* *             - added BGRA8 canvas with premultiplied alpha              * */
 
46
/* *                                                                        * */
 
47
/* *             1.0.5 - 08/15/2002 - G.Juyn                                * */
 
48
/* *             - completed PROM support                                   * */
 
49
/* *             - completed delta-image support                            * */
 
50
/* *             1.0.5 - 08/16/2002 - G.Juyn                                * */
 
51
/* *             - completed MAGN support (16-bit functions)                * */
 
52
/* *             1.0.5 - 08/19/2002 - G.Juyn                                * */
 
53
/* *             - B597134 - libmng pollutes the linker namespace           * */
 
54
/* *             1.0.5 - 09/22/2002 - G.Juyn                                * */
 
55
/* *             - added bgrx8 canvas (filler byte)                         * */
 
56
/* *             1.0.5 - 09/23/2002 - G.Juyn                                * */
 
57
/* *             - added compose over/under routines for PAST processing    * */
 
58
/* *             - added flip & tile routines for PAST processing           * */
 
59
/* *                                                                        * */
 
60
/* *             1.0.6 - 03/09/2003 - G.Juyn                                * */
 
61
/* *             - hiding 12-bit JPEG stuff                                 * */
 
62
/* *             1.0.6 - 05/11/2003 - G. Juyn                               * */
 
63
/* *             - added conditionals around canvas update routines         * */
 
64
/* *             1.0.6 - 06/09/2003 - G. R-P                                * */
 
65
/* *             - added conditionals around 8-bit magn routines            * */
 
66
/* *             1.0.6 - 07/07/2003 - G. R-P                                * */
 
67
/* *             - removed conditionals around 8-bit magn routines          * */
 
68
/* *             - added conditionals around 16-bit and delta-PNG           * */
 
69
/* *               supporting code                                          * */
 
70
/* *             1.0.6 - 07/29/2003 - G.R-P                                 * */
 
71
/* *             - added SKIPCHUNK conditionals around PAST chunk support   * */
 
72
/* *             1.0.6 - 08/18/2003 - G.R-P                                 * */
 
73
/* *             - added conditionals around 1, 2, and 4-bit prototypes     * */
 
74
/* *                                                                        * */
 
75
/* *             1.0.7 - 11/27/2003 - R.A                                   * */
 
76
/* *             - added CANVAS_RGB565 and CANVAS_BGR565                    * */
 
77
/* *             1.0.7 - 12/06/2003 - R.A                                   * */
 
78
/* *             - added CANVAS_RGBA565 and CANVAS_BGRA565                  * */
 
79
/* *             1.0.7 - 01/25/2004 - J.S                                   * */
 
80
/* *             - added premultiplied alpha canvas' for RGBA, ARGB, ABGR   * */
 
81
/* *                                                                        * */
 
82
/* *             1.0.9 - 10/10/2004 - G.R-P.                                * */
 
83
/* *             - added MNG_NO_1_2_4BIT_SUPPORT                            * */
 
84
/* *             1.0.9 - 10/14/2004 - G.Juyn                                * */
 
85
/* *             - added bgr565_a8 canvas-style (thanks to J. Elvander)     * */
 
86
/* *                                                                        * */
 
87
/* ************************************************************************** */
 
88
 
 
89
#if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
 
90
#pragma option -A                      /* force ANSI-C */
 
91
#endif
 
92
 
 
93
#ifndef _libmng_pixels_h_
 
94
#define _libmng_pixels_h_
 
95
 
 
96
/* ************************************************************************** */
 
97
/* *                                                                        * */
 
98
/* * Progressive display check - checks to see if progressive display is    * */
 
99
/* * in order & indicates so                                                * */
 
100
/* *                                                                        * */
 
101
/* * The routine is called after a call to one of the display_xxx routines  * */
 
102
/* * if appropriate                                                         * */
 
103
/* *                                                                        * */
 
104
/* * The refresh is warrented in the read_chunk routine (mng_read.c)        * */
 
105
/* * and only during read&display processing, since there's not much point  * */
 
106
/* * doing it from memory!                                                  * */
 
107
/* *                                                                        * */
 
108
/* ************************************************************************** */
 
109
 
 
110
mng_retcode mng_display_progressive_check (mng_datap pData);
 
111
 
 
112
/* ************************************************************************** */
 
113
/* *                                                                        * */
 
114
/* * Display routines - convert rowdata (which is already color-corrected)  * */
 
115
/* * to the output canvas, respecting any transparency information          * */
 
116
/* *                                                                        * */
 
117
/* ************************************************************************** */
 
118
 
 
119
#ifndef MNG_SKIPCANVAS_RGB8
 
120
mng_retcode mng_display_rgb8           (mng_datap  pData);
 
121
#endif
 
122
#ifndef MNG_SKIPCANVAS_RGBA8
 
123
mng_retcode mng_display_rgba8          (mng_datap  pData);
 
124
#endif
 
125
#ifndef MNG_SKIPCANVAS_RGBA8_PM
 
126
mng_retcode mng_display_rgba8_pm       (mng_datap  pData);
 
127
#endif
 
128
#ifndef MNG_SKIPCANVAS_ARGB8
 
129
mng_retcode mng_display_argb8          (mng_datap  pData);
 
130
#endif
 
131
#ifndef MNG_SKIPCANVAS_ARGB8_PM
 
132
mng_retcode mng_display_argb8_pm       (mng_datap  pData);
 
133
#endif
 
134
#ifndef MNG_SKIPCANVAS_RGB8_A8
 
135
mng_retcode mng_display_rgb8_a8        (mng_datap  pData);
 
136
#endif
 
137
#ifndef MNG_SKIPCANVAS_BGR8
 
138
mng_retcode mng_display_bgr8           (mng_datap  pData);
 
139
#endif
 
140
#ifndef MNG_SKIPCANVAS_BGRX8
 
141
mng_retcode mng_display_bgrx8          (mng_datap  pData);
 
142
#endif
 
143
#ifndef MNG_SKIPCANVAS_BGRA8
 
144
mng_retcode mng_display_bgra8          (mng_datap  pData);
 
145
#endif
 
146
#ifndef MNG_SKIPCANVAS_BGRA8_PM
 
147
mng_retcode mng_display_bgra8_pm       (mng_datap  pData);
 
148
#endif
 
149
#ifndef MNG_SKIPCANVAS_ABGR8
 
150
mng_retcode mng_display_abgr8          (mng_datap  pData);
 
151
#endif
 
152
#ifndef MNG_SKIPCANVAS_ABGR8_PM
 
153
mng_retcode mng_display_abgr8_pm       (mng_datap  pData);
 
154
#endif
 
155
#ifndef MNG_SKIPCANVAS_RGB565
 
156
mng_retcode mng_display_rgb565         (mng_datap  pData);
 
157
#endif
 
158
#ifndef MNG_SKIPCANVAS_RGBA565
 
159
mng_retcode mng_display_rgba565        (mng_datap  pData);
 
160
#endif
 
161
#ifndef MNG_SKIPCANVAS_BGR565
 
162
mng_retcode mng_display_bgr565         (mng_datap  pData);
 
163
#endif
 
164
#ifndef MNG_SKIPCANVAS_BGRA565
 
165
mng_retcode mng_display_bgra565        (mng_datap  pData);
 
166
#endif
 
167
#ifndef MNG_SKIPCANVAS_BGR565_A8
 
168
mng_retcode mng_display_bgr565_a8      (mng_datap  pData);
 
169
#endif
 
170
 
 
171
/* ************************************************************************** */
 
172
/* *                                                                        * */
 
173
/* * Background restore routines - restore the background with info from    * */
 
174
/* * the BACK and/or bKGD chunk and/or the app's background canvas          * */
 
175
/* *                                                                        * */
 
176
/* ************************************************************************** */
 
177
 
 
178
mng_retcode mng_restore_bkgd_backimage (mng_datap  pData);
 
179
mng_retcode mng_restore_bkgd_backcolor (mng_datap  pData);
 
180
mng_retcode mng_restore_bkgd_bkgd      (mng_datap  pData);
 
181
mng_retcode mng_restore_bkgd_bgcolor   (mng_datap  pData);
 
182
#ifndef MNG_SKIPCANVAS_RGB8
 
183
mng_retcode mng_restore_bkgd_rgb8      (mng_datap  pData);
 
184
#endif
 
185
#ifndef MNG_SKIPCANVAS_BGR8
 
186
mng_retcode mng_restore_bkgd_bgr8      (mng_datap  pData);
 
187
#endif
 
188
#ifndef MNG_SKIPCANVAS_BGRX8
 
189
mng_retcode mng_restore_bkgd_bgrx8     (mng_datap  pData);
 
190
#endif
 
191
#ifndef MNG_SKIPCANVAS_RGB565
 
192
mng_retcode mng_restore_bkgd_rgb565    (mng_datap  pData);
 
193
#endif
 
194
#ifndef MNG_SKIPCANVAS_BGR565
 
195
mng_retcode mng_restore_bkgd_bgr565    (mng_datap  pData);
 
196
#endif
 
197
 
 
198
/* ************************************************************************** */
 
199
/* *                                                                        * */
 
200
/* * Row retrieval routines - retrieve processed & uncompressed row-data    * */
 
201
/* * from the current "object"                                              * */
 
202
/* *                                                                        * */
 
203
/* ************************************************************************** */
 
204
 
 
205
mng_retcode mng_retrieve_g8            (mng_datap  pData);
 
206
mng_retcode mng_retrieve_rgb8          (mng_datap  pData);
 
207
mng_retcode mng_retrieve_idx8          (mng_datap  pData);
 
208
mng_retcode mng_retrieve_ga8           (mng_datap  pData);
 
209
mng_retcode mng_retrieve_rgba8         (mng_datap  pData);
 
210
#ifndef MNG_NO_16BIT_SUPPORT
 
211
mng_retcode mng_retrieve_g16           (mng_datap  pData);
 
212
mng_retcode mng_retrieve_ga16          (mng_datap  pData);
 
213
mng_retcode mng_retrieve_rgb16         (mng_datap  pData);
 
214
mng_retcode mng_retrieve_rgba16        (mng_datap  pData);
 
215
#endif
 
216
 
 
217
/* ************************************************************************** */
 
218
/* *                                                                        * */
 
219
/* * Row storage routines - store processed & uncompressed row-data         * */
 
220
/* * into the current "object"                                              * */
 
221
/* *                                                                        * */
 
222
/* ************************************************************************** */
 
223
 
 
224
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
225
mng_retcode mng_store_g1               (mng_datap  pData);
 
226
mng_retcode mng_store_g2               (mng_datap  pData);
 
227
mng_retcode mng_store_g4               (mng_datap  pData);
 
228
mng_retcode mng_store_idx1             (mng_datap  pData);
 
229
mng_retcode mng_store_idx2             (mng_datap  pData);
 
230
mng_retcode mng_store_idx4             (mng_datap  pData);
 
231
#endif
 
232
mng_retcode mng_store_idx8             (mng_datap  pData);
 
233
mng_retcode mng_store_rgb8             (mng_datap  pData);
 
234
mng_retcode mng_store_g8               (mng_datap  pData);
 
235
mng_retcode mng_store_ga8              (mng_datap  pData);
 
236
mng_retcode mng_store_rgba8            (mng_datap  pData);
 
237
#ifndef MNG_NO_16BIT_SUPPORT
 
238
mng_retcode mng_store_g16              (mng_datap  pData);
 
239
mng_retcode mng_store_ga16             (mng_datap  pData);
 
240
mng_retcode mng_store_rgb16            (mng_datap  pData);
 
241
mng_retcode mng_store_rgba16           (mng_datap  pData);
 
242
#endif
 
243
 
 
244
/* ************************************************************************** */
 
245
/* *                                                                        * */
 
246
/* * Row storage routines (JPEG) - store processed & uncompressed row-data  * */
 
247
/* * into the current "object"                                              * */
 
248
/* *                                                                        * */
 
249
/* ************************************************************************** */
 
250
 
 
251
#ifdef MNG_INCLUDE_JNG
 
252
mng_retcode mng_store_jpeg_g8          (mng_datap  pData);
 
253
mng_retcode mng_store_jpeg_rgb8        (mng_datap  pData);
 
254
mng_retcode mng_store_jpeg_ga8         (mng_datap  pData);
 
255
mng_retcode mng_store_jpeg_rgba8       (mng_datap  pData);
 
256
 
 
257
#ifdef MNG_SUPPORT_JPEG12
 
258
mng_retcode mng_store_jpeg_g12         (mng_datap  pData);
 
259
mng_retcode mng_store_jpeg_rgb12       (mng_datap  pData);
 
260
mng_retcode mng_store_jpeg_ga12        (mng_datap  pData);
 
261
mng_retcode mng_store_jpeg_rgba12      (mng_datap  pData);
 
262
#endif
 
263
 
 
264
mng_retcode mng_store_jpeg_g8_alpha    (mng_datap  pData);
 
265
mng_retcode mng_store_jpeg_rgb8_alpha  (mng_datap  pData);
 
266
 
 
267
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
268
mng_retcode mng_store_jpeg_g8_a1       (mng_datap  pData);
 
269
mng_retcode mng_store_jpeg_g8_a2       (mng_datap  pData);
 
270
mng_retcode mng_store_jpeg_g8_a4       (mng_datap  pData);
 
271
#endif
 
272
mng_retcode mng_store_jpeg_g8_a8       (mng_datap  pData);
 
273
#ifndef MNG_NO_16BIT_SUPPORT
 
274
mng_retcode mng_store_jpeg_g8_a16      (mng_datap  pData);
 
275
#endif
 
276
 
 
277
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
278
mng_retcode mng_store_jpeg_rgb8_a1     (mng_datap  pData);
 
279
mng_retcode mng_store_jpeg_rgb8_a2     (mng_datap  pData);
 
280
mng_retcode mng_store_jpeg_rgb8_a4     (mng_datap  pData);
 
281
#endif
 
282
mng_retcode mng_store_jpeg_rgb8_a8     (mng_datap  pData);
 
283
#ifndef MNG_NO_16BIT_SUPPORT
 
284
mng_retcode mng_store_jpeg_rgb8_a16    (mng_datap  pData);
 
285
#endif
 
286
 
 
287
#ifdef MNG_SUPPORT_JPEG12
 
288
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
289
mng_retcode mng_store_jpeg_g12_a1      (mng_datap  pData);
 
290
mng_retcode mng_store_jpeg_g12_a2      (mng_datap  pData);
 
291
mng_retcode mng_store_jpeg_g12_a4      (mng_datap  pData);
 
292
#endif
 
293
mng_retcode mng_store_jpeg_g12_a8      (mng_datap  pData);
 
294
#ifndef MNG_NO_16BIT_SUPPORT
 
295
mng_retcode mng_store_jpeg_g12_a16     (mng_datap  pData);
 
296
#endif
 
297
 
 
298
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
299
mng_retcode mng_store_jpeg_rgb12_a1    (mng_datap  pData);
 
300
mng_retcode mng_store_jpeg_rgb12_a2    (mng_datap  pData);
 
301
mng_retcode mng_store_jpeg_rgb12_a4    (mng_datap  pData);
 
302
#endif
 
303
mng_retcode mng_store_jpeg_rgb12_a8    (mng_datap  pData);
 
304
#ifndef MNG_NO_16BIT_SUPPORT
 
305
mng_retcode mng_store_jpeg_rgb12_a16   (mng_datap  pData);
 
306
#endif
 
307
#endif
 
308
#endif
 
309
 
 
310
/* ************************************************************************** */
 
311
/* *                                                                        * */
 
312
/* * Delta-image row routines - apply the processed & uncompressed row-data * */
 
313
/* * onto the target "object"                                               * */
 
314
/* *                                                                        * */
 
315
/* ************************************************************************** */
 
316
 
 
317
#ifndef MNG_NO_DELTA_PNG
 
318
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
319
mng_retcode mng_delta_g1               (mng_datap  pData);
 
320
mng_retcode mng_delta_g2               (mng_datap  pData);
 
321
mng_retcode mng_delta_g4               (mng_datap  pData);
 
322
#endif
 
323
mng_retcode mng_delta_g8               (mng_datap  pData);
 
324
mng_retcode mng_delta_g16              (mng_datap  pData);
 
325
mng_retcode mng_delta_rgb8             (mng_datap  pData);
 
326
#ifndef MNG_NO_16BIT_SUPPORT
 
327
mng_retcode mng_delta_rgb16            (mng_datap  pData);
 
328
#endif
 
329
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
330
mng_retcode mng_delta_idx1             (mng_datap  pData);
 
331
mng_retcode mng_delta_idx2             (mng_datap  pData);
 
332
mng_retcode mng_delta_idx4             (mng_datap  pData);
 
333
#endif
 
334
mng_retcode mng_delta_idx8             (mng_datap  pData);
 
335
mng_retcode mng_delta_ga8              (mng_datap  pData);
 
336
mng_retcode mng_delta_rgba8            (mng_datap  pData);
 
337
#ifndef MNG_NO_16BIT_SUPPORT
 
338
mng_retcode mng_delta_ga16             (mng_datap  pData);
 
339
mng_retcode mng_delta_rgba16           (mng_datap  pData);
 
340
#endif
 
341
 
 
342
/* ************************************************************************** */
 
343
/* *                                                                        * */
 
344
/* * Delta-image row routines - apply the source row onto the target        * */
 
345
/* *                                                                        * */
 
346
/* ************************************************************************** */
 
347
 
 
348
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
349
mng_retcode mng_delta_g1_g1            (mng_datap  pData);
 
350
mng_retcode mng_delta_g2_g2            (mng_datap  pData);
 
351
mng_retcode mng_delta_g4_g4            (mng_datap  pData);
 
352
#endif
 
353
mng_retcode mng_delta_g8_g8            (mng_datap  pData);
 
354
#ifndef MNG_NO_16BIT_SUPPORT
 
355
mng_retcode mng_delta_g16_g16          (mng_datap  pData);
 
356
#endif
 
357
mng_retcode mng_delta_ga8_ga8          (mng_datap  pData);
 
358
mng_retcode mng_delta_ga8_g8           (mng_datap  pData);
 
359
mng_retcode mng_delta_ga8_a8           (mng_datap  pData);
 
360
mng_retcode mng_delta_rgba8_rgb8       (mng_datap  pData);
 
361
mng_retcode mng_delta_rgba8_a8         (mng_datap  pData);
 
362
#ifndef MNG_NO_16BIT_SUPPORT
 
363
mng_retcode mng_delta_ga16_ga16        (mng_datap  pData);
 
364
mng_retcode mng_delta_ga16_g16         (mng_datap  pData);
 
365
mng_retcode mng_delta_ga16_a16         (mng_datap  pData);
 
366
mng_retcode mng_delta_rgba16_a16       (mng_datap  pData);
 
367
mng_retcode mng_delta_rgba16_rgb16     (mng_datap  pData);
 
368
#endif
 
369
#endif /* MNG_NO_DELTA_PNG */
 
370
mng_retcode mng_delta_rgb8_rgb8        (mng_datap  pData); /* Used for PAST */
 
371
mng_retcode mng_delta_rgba8_rgba8      (mng_datap  pData);
 
372
#ifndef MNG_NO_16BIT_SUPPORT
 
373
mng_retcode mng_delta_rgb16_rgb16      (mng_datap  pData);
 
374
mng_retcode mng_delta_rgba16_rgba16    (mng_datap  pData);
 
375
#endif
 
376
 
 
377
#ifndef MNG_NO_DELTA_PNG
 
378
/* ************************************************************************** */
 
379
/* *                                                                        * */
 
380
/* * Delta-image row routines - scale the delta to bitdepth of target       * */
 
381
/* *                                                                        * */
 
382
/* ************************************************************************** */
 
383
 
 
384
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
385
mng_retcode mng_scale_g1_g2            (mng_datap  pData);
 
386
mng_retcode mng_scale_g1_g4            (mng_datap  pData);
 
387
mng_retcode mng_scale_g1_g8            (mng_datap  pData);
 
388
mng_retcode mng_scale_g2_g4            (mng_datap  pData);
 
389
mng_retcode mng_scale_g2_g8            (mng_datap  pData);
 
390
mng_retcode mng_scale_g4_g8            (mng_datap  pData);
 
391
#endif
 
392
#ifndef MNG_NO_16BIT_SUPPORT
 
393
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
394
mng_retcode mng_scale_g1_g16           (mng_datap  pData);
 
395
mng_retcode mng_scale_g2_g16           (mng_datap  pData);
 
396
mng_retcode mng_scale_g4_g16           (mng_datap  pData);
 
397
#endif
 
398
mng_retcode mng_scale_g8_g16           (mng_datap  pData);
 
399
mng_retcode mng_scale_ga8_ga16         (mng_datap  pData);
 
400
mng_retcode mng_scale_rgb8_rgb16       (mng_datap  pData);
 
401
mng_retcode mng_scale_rgba8_rgba16     (mng_datap  pData);
 
402
#endif
 
403
 
 
404
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
405
mng_retcode mng_scale_g2_g1            (mng_datap  pData);
 
406
mng_retcode mng_scale_g4_g1            (mng_datap  pData);
 
407
mng_retcode mng_scale_g8_g1            (mng_datap  pData);
 
408
mng_retcode mng_scale_g4_g2            (mng_datap  pData);
 
409
mng_retcode mng_scale_g8_g2            (mng_datap  pData);
 
410
mng_retcode mng_scale_g8_g4            (mng_datap  pData);
 
411
#endif
 
412
#ifndef MNG_NO_16BIT_SUPPORT
 
413
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
414
mng_retcode mng_scale_g16_g1           (mng_datap  pData);
 
415
mng_retcode mng_scale_g16_g2           (mng_datap  pData);
 
416
mng_retcode mng_scale_g16_g4           (mng_datap  pData);
 
417
#endif
 
418
mng_retcode mng_scale_g16_g8           (mng_datap  pData);
 
419
mng_retcode mng_scale_ga16_ga8         (mng_datap  pData);
 
420
mng_retcode mng_scale_rgb16_rgb8       (mng_datap  pData);
 
421
mng_retcode mng_scale_rgba16_rgba8     (mng_datap  pData);
 
422
#endif
 
423
#endif /* MNG_NO_DELTA_PNG */
 
424
 
 
425
/* ************************************************************************** */
 
426
/* *                                                                        * */
 
427
/* * Delta-image bit routines - promote bit_depth                           * */
 
428
/* *                                                                        * */
 
429
/* ************************************************************************** */
 
430
 
 
431
mng_uint8   mng_promote_replicate_1_2  (mng_uint8  iB);
 
432
mng_uint8   mng_promote_replicate_1_4  (mng_uint8  iB);
 
433
mng_uint8   mng_promote_replicate_1_8  (mng_uint8  iB);
 
434
mng_uint8   mng_promote_replicate_2_4  (mng_uint8  iB);
 
435
mng_uint8   mng_promote_replicate_2_8  (mng_uint8  iB);
 
436
mng_uint8   mng_promote_replicate_4_8  (mng_uint8  iB);
 
437
#ifndef MNG_NO_16BIT_SUPPORT
 
438
mng_uint16  mng_promote_replicate_1_16 (mng_uint8  iB);
 
439
mng_uint16  mng_promote_replicate_2_16 (mng_uint8  iB);
 
440
mng_uint16  mng_promote_replicate_4_16 (mng_uint8  iB);
 
441
mng_uint16  mng_promote_replicate_8_16 (mng_uint8  iB);
 
442
#endif
 
443
 
 
444
/* ************************************************************************** */
 
445
 
 
446
#ifndef MNG_NO_DELTA_PNG
 
447
mng_uint8   mng_promote_zerofill_1_2   (mng_uint8  iB);
 
448
mng_uint8   mng_promote_zerofill_1_4   (mng_uint8  iB);
 
449
mng_uint8   mng_promote_zerofill_1_8   (mng_uint8  iB);
 
450
mng_uint8   mng_promote_zerofill_2_4   (mng_uint8  iB);
 
451
mng_uint8   mng_promote_zerofill_2_8   (mng_uint8  iB);
 
452
mng_uint8   mng_promote_zerofill_4_8   (mng_uint8  iB);
 
453
#ifndef MNG_NO_16BIT_SUPPORT
 
454
mng_uint16  mng_promote_zerofill_1_16  (mng_uint8  iB);
 
455
mng_uint16  mng_promote_zerofill_2_16  (mng_uint8  iB);
 
456
mng_uint16  mng_promote_zerofill_4_16  (mng_uint8  iB);
 
457
mng_uint16  mng_promote_zerofill_8_16  (mng_uint8  iB);
 
458
#endif
 
459
#endif /* MNG_NO_DELTA_PNG */
 
460
 
 
461
/* ************************************************************************** */
 
462
/* *                                                                        * */
 
463
/* * Delta-image row routines - promote color_type                          * */
 
464
/* *                                                                        * */
 
465
/* ************************************************************************** */
 
466
 
 
467
mng_retcode mng_promote_g8_g8          (mng_datap  pData);
 
468
#ifndef MNG_NO_16BIT_SUPPORT
 
469
mng_retcode mng_promote_g8_g16         (mng_datap  pData);
 
470
mng_retcode mng_promote_g16_g16        (mng_datap  pData);
 
471
#endif
 
472
 
 
473
mng_retcode mng_promote_g8_ga8         (mng_datap  pData);
 
474
#ifndef MNG_NO_16BIT_SUPPORT
 
475
mng_retcode mng_promote_g8_ga16        (mng_datap  pData);
 
476
mng_retcode mng_promote_g16_ga16       (mng_datap  pData);
 
477
#endif
 
478
 
 
479
mng_retcode mng_promote_g8_rgb8        (mng_datap  pData);
 
480
#ifndef MNG_NO_16BIT_SUPPORT
 
481
mng_retcode mng_promote_g8_rgb16       (mng_datap  pData);
 
482
mng_retcode mng_promote_g16_rgb16      (mng_datap  pData);
 
483
#endif
 
484
 
 
485
mng_retcode mng_promote_g8_rgba8       (mng_datap  pData);
 
486
#ifndef MNG_NO_16BIT_SUPPORT
 
487
mng_retcode mng_promote_g8_rgba16      (mng_datap  pData);
 
488
mng_retcode mng_promote_g16_rgba16     (mng_datap  pData);
 
489
 
 
490
mng_retcode mng_promote_ga8_ga16       (mng_datap  pData);
 
491
#endif
 
492
 
 
493
mng_retcode mng_promote_ga8_rgba8      (mng_datap  pData);
 
494
#ifndef MNG_NO_16BIT_SUPPORT
 
495
mng_retcode mng_promote_ga8_rgba16     (mng_datap  pData);
 
496
mng_retcode mng_promote_ga16_rgba16    (mng_datap  pData);
 
497
#endif
 
498
 
 
499
#ifndef MNG_NO_16BIT_SUPPORT
 
500
mng_retcode mng_promote_rgb8_rgb16     (mng_datap  pData);
 
501
#endif
 
502
 
 
503
mng_retcode mng_promote_rgb8_rgba8     (mng_datap  pData);
 
504
#ifndef MNG_NO_16BIT_SUPPORT
 
505
mng_retcode mng_promote_rgb8_rgba16    (mng_datap  pData);
 
506
mng_retcode mng_promote_rgb16_rgba16   (mng_datap  pData);
 
507
#endif
 
508
 
 
509
mng_retcode mng_promote_idx8_rgb8      (mng_datap  pData);
 
510
#ifndef MNG_NO_16BIT_SUPPORT
 
511
mng_retcode mng_promote_idx8_rgb16     (mng_datap  pData);
 
512
#endif
 
513
 
 
514
mng_retcode mng_promote_idx8_rgba8     (mng_datap  pData);
 
515
#ifndef MNG_NO_16BIT_SUPPORT
 
516
mng_retcode mng_promote_idx8_rgba16    (mng_datap  pData);
 
517
 
 
518
mng_retcode mng_promote_rgba8_rgba16   (mng_datap  pData);
 
519
#endif
 
520
 
 
521
/* ************************************************************************** */
 
522
/* *                                                                        * */
 
523
/* * Row processing routines - convert uncompressed data from zlib to       * */
 
524
/* * managable row-data which serves as input to the color-management       * */
 
525
/* * routines                                                               * */
 
526
/* *                                                                        * */
 
527
/* ************************************************************************** */
 
528
 
 
529
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
530
mng_retcode mng_process_g1             (mng_datap  pData);
 
531
mng_retcode mng_process_g2             (mng_datap  pData);
 
532
mng_retcode mng_process_g4             (mng_datap  pData);
 
533
#endif
 
534
mng_retcode mng_process_g8             (mng_datap  pData);
 
535
mng_retcode mng_process_rgb8           (mng_datap  pData);
 
536
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
537
mng_retcode mng_process_idx1           (mng_datap  pData);
 
538
mng_retcode mng_process_idx2           (mng_datap  pData);
 
539
mng_retcode mng_process_idx4           (mng_datap  pData);
 
540
#endif
 
541
mng_retcode mng_process_idx8           (mng_datap  pData);
 
542
mng_retcode mng_process_ga8            (mng_datap  pData);
 
543
mng_retcode mng_process_rgba8          (mng_datap  pData);
 
544
#ifndef MNG_NO_16BIT_SUPPORT
 
545
mng_retcode mng_process_g16            (mng_datap  pData);
 
546
mng_retcode mng_process_ga16           (mng_datap  pData);
 
547
mng_retcode mng_process_rgb16          (mng_datap  pData);
 
548
mng_retcode mng_process_rgba16         (mng_datap  pData);
 
549
#endif
 
550
 
 
551
/* ************************************************************************** */
 
552
/* *                                                                        * */
 
553
/* * Row processing initialization routines - set up the variables needed   * */
 
554
/* * to process uncompressed row-data                                       * */
 
555
/* *                                                                        * */
 
556
/* ************************************************************************** */
 
557
 
 
558
#ifndef MNG_OPTIMIZE_FOOTPRINT_INIT
 
559
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
560
mng_retcode mng_init_g1_i              (mng_datap  pData);
 
561
mng_retcode mng_init_g2_i              (mng_datap  pData);
 
562
mng_retcode mng_init_g4_i              (mng_datap  pData);
 
563
#endif
 
564
mng_retcode mng_init_g8_i              (mng_datap  pData);
 
565
mng_retcode mng_init_rgb8_i            (mng_datap  pData);
 
566
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
567
mng_retcode mng_init_idx1_i            (mng_datap  pData);
 
568
mng_retcode mng_init_idx2_i            (mng_datap  pData);
 
569
mng_retcode mng_init_idx4_i            (mng_datap  pData);
 
570
#endif
 
571
mng_retcode mng_init_idx8_i            (mng_datap  pData);
 
572
mng_retcode mng_init_ga8_i             (mng_datap  pData);
 
573
mng_retcode mng_init_rgba8_i           (mng_datap  pData);
 
574
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
575
mng_retcode mng_init_g1_ni             (mng_datap  pData);
 
576
mng_retcode mng_init_g2_ni             (mng_datap  pData);
 
577
mng_retcode mng_init_g4_ni             (mng_datap  pData);
 
578
#endif
 
579
mng_retcode mng_init_g8_ni             (mng_datap  pData);
 
580
mng_retcode mng_init_rgb8_ni           (mng_datap  pData);
 
581
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
582
mng_retcode mng_init_idx1_ni           (mng_datap  pData);
 
583
mng_retcode mng_init_idx2_ni           (mng_datap  pData);
 
584
mng_retcode mng_init_idx4_ni           (mng_datap  pData);
 
585
#endif
 
586
mng_retcode mng_init_idx8_ni           (mng_datap  pData);
 
587
mng_retcode mng_init_ga8_ni            (mng_datap  pData);
 
588
mng_retcode mng_init_rgba8_ni          (mng_datap  pData);
 
589
#ifndef MNG_NO_16BIT_SUPPORT
 
590
mng_retcode mng_init_g16_i             (mng_datap  pData);
 
591
mng_retcode mng_init_rgb16_i           (mng_datap  pData);
 
592
mng_retcode mng_init_ga16_i            (mng_datap  pData);
 
593
mng_retcode mng_init_rgba16_i          (mng_datap  pData);
 
594
mng_retcode mng_init_g16_ni            (mng_datap  pData);
 
595
mng_retcode mng_init_rgb16_ni          (mng_datap  pData);
 
596
mng_retcode mng_init_ga16_ni           (mng_datap  pData);
 
597
mng_retcode mng_init_rgba16_ni         (mng_datap  pData);
 
598
#endif
 
599
#endif
 
600
 
 
601
/* ************************************************************************** */
 
602
/* *                                                                        * */
 
603
/* * Row processing initialization routines (JPEG) - set up the variables   * */
 
604
/* * needed to process uncompressed row-data                                * */
 
605
/* *                                                                        * */
 
606
/* ************************************************************************** */
 
607
 
 
608
#ifndef MNG_OPTIMIZE_FOOTPRINT_INIT
 
609
#ifdef MNG_INCLUDE_JNG
 
610
#ifndef MNG_NO_1_2_4BIT_SUPPORT
 
611
mng_retcode mng_init_jpeg_a1_ni        (mng_datap  pData);
 
612
mng_retcode mng_init_jpeg_a2_ni        (mng_datap  pData);
 
613
mng_retcode mng_init_jpeg_a4_ni        (mng_datap  pData);
 
614
#endif
 
615
mng_retcode mng_init_jpeg_a8_ni        (mng_datap  pData);
 
616
#ifndef MNG_NO_16BIT_SUPPORT
 
617
mng_retcode mng_init_jpeg_a16_ni       (mng_datap  pData);
 
618
#endif
 
619
#endif
 
620
#endif
 
621
 
 
622
/* ************************************************************************** */
 
623
/* *                                                                        * */
 
624
/* * General row processing routines                                        * */
 
625
/* *                                                                        * */
 
626
/* ************************************************************************** */
 
627
 
 
628
mng_retcode mng_init_rowproc           (mng_datap  pData);
 
629
mng_retcode mng_next_row               (mng_datap  pData);
 
630
#ifdef MNG_INCLUDE_JNG
 
631
mng_retcode mng_next_jpeg_alpharow     (mng_datap  pData);
 
632
mng_retcode mng_next_jpeg_row          (mng_datap  pData);
 
633
#endif
 
634
mng_retcode mng_cleanup_rowproc        (mng_datap  pData);
 
635
 
 
636
/* ************************************************************************** */
 
637
/* *                                                                        * */
 
638
/* * Magnification row routines - apply magnification transforms            * */
 
639
/* *                                                                        * */
 
640
/* ************************************************************************** */
 
641
 
 
642
#ifndef MNG_OPTIMIZE_FOOTPRINT_MAGN
 
643
mng_retcode mng_magnify_g8_x1          (mng_datap  pData,
 
644
                                        mng_uint16 iMX,
 
645
                                        mng_uint16 iML,
 
646
                                        mng_uint16 iMR,
 
647
                                        mng_uint32 iWidth,
 
648
                                        mng_uint8p pSrcline,
 
649
                                        mng_uint8p pDstline);
 
650
mng_retcode mng_magnify_g8_x2          (mng_datap  pData,
 
651
                                        mng_uint16 iMX,
 
652
                                        mng_uint16 iML,
 
653
                                        mng_uint16 iMR,
 
654
                                        mng_uint32 iWidth,
 
655
                                        mng_uint8p pSrcline,
 
656
                                        mng_uint8p pDstline);
 
657
mng_retcode mng_magnify_g8_x3          (mng_datap  pData,
 
658
                                        mng_uint16 iMX,
 
659
                                        mng_uint16 iML,
 
660
                                        mng_uint16 iMR,
 
661
                                        mng_uint32 iWidth,
 
662
                                        mng_uint8p pSrcline,
 
663
                                        mng_uint8p pDstline);
 
664
mng_retcode mng_magnify_rgb8_x1        (mng_datap  pData,
 
665
                                        mng_uint16 iMX,
 
666
                                        mng_uint16 iML,
 
667
                                        mng_uint16 iMR,
 
668
                                        mng_uint32 iWidth,
 
669
                                        mng_uint8p pSrcline,
 
670
                                        mng_uint8p pDstline);
 
671
mng_retcode mng_magnify_rgb8_x2        (mng_datap  pData,
 
672
                                        mng_uint16 iMX,
 
673
                                        mng_uint16 iML,
 
674
                                        mng_uint16 iMR,
 
675
                                        mng_uint32 iWidth,
 
676
                                        mng_uint8p pSrcline,
 
677
                                        mng_uint8p pDstline);
 
678
mng_retcode mng_magnify_rgb8_x3        (mng_datap  pData,
 
679
                                        mng_uint16 iMX,
 
680
                                        mng_uint16 iML,
 
681
                                        mng_uint16 iMR,
 
682
                                        mng_uint32 iWidth,
 
683
                                        mng_uint8p pSrcline,
 
684
                                        mng_uint8p pDstline);
 
685
mng_retcode mng_magnify_ga8_x1         (mng_datap  pData,
 
686
                                        mng_uint16 iMX,
 
687
                                        mng_uint16 iML,
 
688
                                        mng_uint16 iMR,
 
689
                                        mng_uint32 iWidth,
 
690
                                        mng_uint8p pSrcline,
 
691
                                        mng_uint8p pDstline);
 
692
mng_retcode mng_magnify_ga8_x2         (mng_datap  pData,
 
693
                                        mng_uint16 iMX,
 
694
                                        mng_uint16 iML,
 
695
                                        mng_uint16 iMR,
 
696
                                        mng_uint32 iWidth,
 
697
                                        mng_uint8p pSrcline,
 
698
                                        mng_uint8p pDstline);
 
699
mng_retcode mng_magnify_ga8_x3         (mng_datap  pData,
 
700
                                        mng_uint16 iMX,
 
701
                                        mng_uint16 iML,
 
702
                                        mng_uint16 iMR,
 
703
                                        mng_uint32 iWidth,
 
704
                                        mng_uint8p pSrcline,
 
705
                                        mng_uint8p pDstline);
 
706
mng_retcode mng_magnify_ga8_x4         (mng_datap  pData,
 
707
                                        mng_uint16 iMX,
 
708
                                        mng_uint16 iML,
 
709
                                        mng_uint16 iMR,
 
710
                                        mng_uint32 iWidth,
 
711
                                        mng_uint8p pSrcline,
 
712
                                        mng_uint8p pDstline);
 
713
mng_retcode mng_magnify_ga8_x5         (mng_datap  pData,
 
714
                                        mng_uint16 iMX,
 
715
                                        mng_uint16 iML,
 
716
                                        mng_uint16 iMR,
 
717
                                        mng_uint32 iWidth,
 
718
                                        mng_uint8p pSrcline,
 
719
                                        mng_uint8p pDstline);
 
720
#endif
 
721
mng_retcode mng_magnify_rgba8_x1       (mng_datap  pData,
 
722
                                        mng_uint16 iMX,
 
723
                                        mng_uint16 iML,
 
724
                                        mng_uint16 iMR,
 
725
                                        mng_uint32 iWidth,
 
726
                                        mng_uint8p pSrcline,
 
727
                                        mng_uint8p pDstline);
 
728
mng_retcode mng_magnify_rgba8_x2       (mng_datap  pData,
 
729
                                        mng_uint16 iMX,
 
730
                                        mng_uint16 iML,
 
731
                                        mng_uint16 iMR,
 
732
                                        mng_uint32 iWidth,
 
733
                                        mng_uint8p pSrcline,
 
734
                                        mng_uint8p pDstline);
 
735
mng_retcode mng_magnify_rgba8_x3       (mng_datap  pData,
 
736
                                        mng_uint16 iMX,
 
737
                                        mng_uint16 iML,
 
738
                                        mng_uint16 iMR,
 
739
                                        mng_uint32 iWidth,
 
740
                                        mng_uint8p pSrcline,
 
741
                                        mng_uint8p pDstline);
 
742
mng_retcode mng_magnify_rgba8_x4       (mng_datap  pData,
 
743
                                        mng_uint16 iMX,
 
744
                                        mng_uint16 iML,
 
745
                                        mng_uint16 iMR,
 
746
                                        mng_uint32 iWidth,
 
747
                                        mng_uint8p pSrcline,
 
748
                                        mng_uint8p pDstline);
 
749
mng_retcode mng_magnify_rgba8_x5       (mng_datap  pData,
 
750
                                        mng_uint16 iMX,
 
751
                                        mng_uint16 iML,
 
752
                                        mng_uint16 iMR,
 
753
                                        mng_uint32 iWidth,
 
754
                                        mng_uint8p pSrcline,
 
755
                                        mng_uint8p pDstline);
 
756
#ifndef MNG_OPTIMIZE_FOOTPRINT_MAGN
 
757
mng_retcode mng_magnify_g8_y1          (mng_datap  pData,
 
758
                                        mng_int32  iS,
 
759
                                        mng_int32  iM,
 
760
                                        mng_uint32 iWidth,
 
761
                                        mng_uint8p pSrcline1,
 
762
                                        mng_uint8p pSrcline2,
 
763
                                        mng_uint8p pDstline);
 
764
mng_retcode mng_magnify_g8_y2          (mng_datap  pData,
 
765
                                        mng_int32  iS,
 
766
                                        mng_int32  iM,
 
767
                                        mng_uint32 iWidth,
 
768
                                        mng_uint8p pSrcline1,
 
769
                                        mng_uint8p pSrcline2,
 
770
                                        mng_uint8p pDstline);
 
771
mng_retcode mng_magnify_g8_y3          (mng_datap  pData,
 
772
                                        mng_int32  iS,
 
773
                                        mng_int32  iM,
 
774
                                        mng_uint32 iWidth,
 
775
                                        mng_uint8p pSrcline1,
 
776
                                        mng_uint8p pSrcline2,
 
777
                                        mng_uint8p pDstline);
 
778
mng_retcode mng_magnify_rgb8_y1        (mng_datap  pData,
 
779
                                        mng_int32  iS,
 
780
                                        mng_int32  iM,
 
781
                                        mng_uint32 iWidth,
 
782
                                        mng_uint8p pSrcline1,
 
783
                                        mng_uint8p pSrcline2,
 
784
                                        mng_uint8p pDstline);
 
785
mng_retcode mng_magnify_rgb8_y2        (mng_datap  pData,
 
786
                                        mng_int32  iS,
 
787
                                        mng_int32  iM,
 
788
                                        mng_uint32 iWidth,
 
789
                                        mng_uint8p pSrcline1,
 
790
                                        mng_uint8p pSrcline2,
 
791
                                        mng_uint8p pDstline);
 
792
mng_retcode mng_magnify_rgb8_y3        (mng_datap  pData,
 
793
                                        mng_int32  iS,
 
794
                                        mng_int32  iM,
 
795
                                        mng_uint32 iWidth,
 
796
                                        mng_uint8p pSrcline1,
 
797
                                        mng_uint8p pSrcline2,
 
798
                                        mng_uint8p pDstline);
 
799
mng_retcode mng_magnify_ga8_y1         (mng_datap  pData,
 
800
                                        mng_int32  iS,
 
801
                                        mng_int32  iM,
 
802
                                        mng_uint32 iWidth,
 
803
                                        mng_uint8p pSrcline1,
 
804
                                        mng_uint8p pSrcline2,
 
805
                                        mng_uint8p pDstline);
 
806
mng_retcode mng_magnify_ga8_y2         (mng_datap  pData,
 
807
                                        mng_int32  iS,
 
808
                                        mng_int32  iM,
 
809
                                        mng_uint32 iWidth,
 
810
                                        mng_uint8p pSrcline1,
 
811
                                        mng_uint8p pSrcline2,
 
812
                                        mng_uint8p pDstline);
 
813
mng_retcode mng_magnify_ga8_y3         (mng_datap  pData,
 
814
                                        mng_int32  iS,
 
815
                                        mng_int32  iM,
 
816
                                        mng_uint32 iWidth,
 
817
                                        mng_uint8p pSrcline1,
 
818
                                        mng_uint8p pSrcline2,
 
819
                                        mng_uint8p pDstline);
 
820
mng_retcode mng_magnify_ga8_y4         (mng_datap  pData,
 
821
                                        mng_int32  iS,
 
822
                                        mng_int32  iM,
 
823
                                        mng_uint32 iWidth,
 
824
                                        mng_uint8p pSrcline1,
 
825
                                        mng_uint8p pSrcline2,
 
826
                                        mng_uint8p pDstline);
 
827
mng_retcode mng_magnify_ga8_y5         (mng_datap  pData,
 
828
                                        mng_int32  iS,
 
829
                                        mng_int32  iM,
 
830
                                        mng_uint32 iWidth,
 
831
                                        mng_uint8p pSrcline1,
 
832
                                        mng_uint8p pSrcline2,
 
833
                                        mng_uint8p pDstline);
 
834
#endif
 
835
mng_retcode mng_magnify_rgba8_y1       (mng_datap  pData,
 
836
                                        mng_int32  iS,
 
837
                                        mng_int32  iM,
 
838
                                        mng_uint32 iWidth,
 
839
                                        mng_uint8p pSrcline1,
 
840
                                        mng_uint8p pSrcline2,
 
841
                                        mng_uint8p pDstline);
 
842
mng_retcode mng_magnify_rgba8_y2       (mng_datap  pData,
 
843
                                        mng_int32  iS,
 
844
                                        mng_int32  iM,
 
845
                                        mng_uint32 iWidth,
 
846
                                        mng_uint8p pSrcline1,
 
847
                                        mng_uint8p pSrcline2,
 
848
                                        mng_uint8p pDstline);
 
849
mng_retcode mng_magnify_rgba8_y3       (mng_datap  pData,
 
850
                                        mng_int32  iS,
 
851
                                        mng_int32  iM,
 
852
                                        mng_uint32 iWidth,
 
853
                                        mng_uint8p pSrcline1,
 
854
                                        mng_uint8p pSrcline2,
 
855
                                        mng_uint8p pDstline);
 
856
mng_retcode mng_magnify_rgba8_y4       (mng_datap  pData,
 
857
                                        mng_int32  iS,
 
858
                                        mng_int32  iM,
 
859
                                        mng_uint32 iWidth,
 
860
                                        mng_uint8p pSrcline1,
 
861
                                        mng_uint8p pSrcline2,
 
862
                                        mng_uint8p pDstline);
 
863
mng_retcode mng_magnify_rgba8_y5       (mng_datap  pData,
 
864
                                        mng_int32  iS,
 
865
                                        mng_int32  iM,
 
866
                                        mng_uint32 iWidth,
 
867
                                        mng_uint8p pSrcline1,
 
868
                                        mng_uint8p pSrcline2,
 
869
                                        mng_uint8p pDstline);
 
870
 
 
871
/* ************************************************************************** */
 
872
#ifndef MNG_NO_16BIT_SUPPORT
 
873
#ifndef MNG_OPTIMIZE_FOOTPRINT_MAGN
 
874
mng_retcode mng_magnify_g16_x1         (mng_datap  pData,
 
875
                                        mng_uint16 iMX,
 
876
                                        mng_uint16 iML,
 
877
                                        mng_uint16 iMR,
 
878
                                        mng_uint32 iWidth,
 
879
                                        mng_uint8p pSrcline,
 
880
                                        mng_uint8p pDstline);
 
881
mng_retcode mng_magnify_g16_x2         (mng_datap  pData,
 
882
                                        mng_uint16 iMX,
 
883
                                        mng_uint16 iML,
 
884
                                        mng_uint16 iMR,
 
885
                                        mng_uint32 iWidth,
 
886
                                        mng_uint8p pSrcline,
 
887
                                        mng_uint8p pDstline);
 
888
mng_retcode mng_magnify_g16_x3         (mng_datap  pData,
 
889
                                        mng_uint16 iMX,
 
890
                                        mng_uint16 iML,
 
891
                                        mng_uint16 iMR,
 
892
                                        mng_uint32 iWidth,
 
893
                                        mng_uint8p pSrcline,
 
894
                                        mng_uint8p pDstline);
 
895
mng_retcode mng_magnify_rgb16_x1       (mng_datap  pData,
 
896
                                        mng_uint16 iMX,
 
897
                                        mng_uint16 iML,
 
898
                                        mng_uint16 iMR,
 
899
                                        mng_uint32 iWidth,
 
900
                                        mng_uint8p pSrcline,
 
901
                                        mng_uint8p pDstline);
 
902
mng_retcode mng_magnify_rgb16_x2       (mng_datap  pData,
 
903
                                        mng_uint16 iMX,
 
904
                                        mng_uint16 iML,
 
905
                                        mng_uint16 iMR,
 
906
                                        mng_uint32 iWidth,
 
907
                                        mng_uint8p pSrcline,
 
908
                                        mng_uint8p pDstline);
 
909
mng_retcode mng_magnify_rgb16_x3       (mng_datap  pData,
 
910
                                        mng_uint16 iMX,
 
911
                                        mng_uint16 iML,
 
912
                                        mng_uint16 iMR,
 
913
                                        mng_uint32 iWidth,
 
914
                                        mng_uint8p pSrcline,
 
915
                                        mng_uint8p pDstline);
 
916
mng_retcode mng_magnify_ga16_x1        (mng_datap  pData,
 
917
                                        mng_uint16 iMX,
 
918
                                        mng_uint16 iML,
 
919
                                        mng_uint16 iMR,
 
920
                                        mng_uint32 iWidth,
 
921
                                        mng_uint8p pSrcline,
 
922
                                        mng_uint8p pDstline);
 
923
mng_retcode mng_magnify_ga16_x2        (mng_datap  pData,
 
924
                                        mng_uint16 iMX,
 
925
                                        mng_uint16 iML,
 
926
                                        mng_uint16 iMR,
 
927
                                        mng_uint32 iWidth,
 
928
                                        mng_uint8p pSrcline,
 
929
                                        mng_uint8p pDstline);
 
930
mng_retcode mng_magnify_ga16_x3        (mng_datap  pData,
 
931
                                        mng_uint16 iMX,
 
932
                                        mng_uint16 iML,
 
933
                                        mng_uint16 iMR,
 
934
                                        mng_uint32 iWidth,
 
935
                                        mng_uint8p pSrcline,
 
936
                                        mng_uint8p pDstline);
 
937
mng_retcode mng_magnify_ga16_x4        (mng_datap  pData,
 
938
                                        mng_uint16 iMX,
 
939
                                        mng_uint16 iML,
 
940
                                        mng_uint16 iMR,
 
941
                                        mng_uint32 iWidth,
 
942
                                        mng_uint8p pSrcline,
 
943
                                        mng_uint8p pDstline);
 
944
mng_retcode mng_magnify_ga16_x5        (mng_datap  pData,
 
945
                                        mng_uint16 iMX,
 
946
                                        mng_uint16 iML,
 
947
                                        mng_uint16 iMR,
 
948
                                        mng_uint32 iWidth,
 
949
                                        mng_uint8p pSrcline,
 
950
                                        mng_uint8p pDstline);
 
951
mng_retcode mng_magnify_rgba16_x1      (mng_datap  pData,
 
952
                                        mng_uint16 iMX,
 
953
                                        mng_uint16 iML,
 
954
                                        mng_uint16 iMR,
 
955
                                        mng_uint32 iWidth,
 
956
                                        mng_uint8p pSrcline,
 
957
                                        mng_uint8p pDstline);
 
958
mng_retcode mng_magnify_rgba16_x2      (mng_datap  pData,
 
959
                                        mng_uint16 iMX,
 
960
                                        mng_uint16 iML,
 
961
                                        mng_uint16 iMR,
 
962
                                        mng_uint32 iWidth,
 
963
                                        mng_uint8p pSrcline,
 
964
                                        mng_uint8p pDstline);
 
965
mng_retcode mng_magnify_rgba16_x3      (mng_datap  pData,
 
966
                                        mng_uint16 iMX,
 
967
                                        mng_uint16 iML,
 
968
                                        mng_uint16 iMR,
 
969
                                        mng_uint32 iWidth,
 
970
                                        mng_uint8p pSrcline,
 
971
                                        mng_uint8p pDstline);
 
972
mng_retcode mng_magnify_rgba16_x4      (mng_datap  pData,
 
973
                                        mng_uint16 iMX,
 
974
                                        mng_uint16 iML,
 
975
                                        mng_uint16 iMR,
 
976
                                        mng_uint32 iWidth,
 
977
                                        mng_uint8p pSrcline,
 
978
                                        mng_uint8p pDstline);
 
979
mng_retcode mng_magnify_rgba16_x5      (mng_datap  pData,
 
980
                                        mng_uint16 iMX,
 
981
                                        mng_uint16 iML,
 
982
                                        mng_uint16 iMR,
 
983
                                        mng_uint32 iWidth,
 
984
                                        mng_uint8p pSrcline,
 
985
                                        mng_uint8p pDstline);
 
986
 
 
987
mng_retcode mng_magnify_g16_y1         (mng_datap  pData,
 
988
                                        mng_int32  iS,
 
989
                                        mng_int32  iM,
 
990
                                        mng_uint32 iWidth,
 
991
                                        mng_uint8p pSrcline1,
 
992
                                        mng_uint8p pSrcline2,
 
993
                                        mng_uint8p pDstline);
 
994
mng_retcode mng_magnify_g16_y2         (mng_datap  pData,
 
995
                                        mng_int32  iS,
 
996
                                        mng_int32  iM,
 
997
                                        mng_uint32 iWidth,
 
998
                                        mng_uint8p pSrcline1,
 
999
                                        mng_uint8p pSrcline2,
 
1000
                                        mng_uint8p pDstline);
 
1001
mng_retcode mng_magnify_g16_y3         (mng_datap  pData,
 
1002
                                        mng_int32  iS,
 
1003
                                        mng_int32  iM,
 
1004
                                        mng_uint32 iWidth,
 
1005
                                        mng_uint8p pSrcline1,
 
1006
                                        mng_uint8p pSrcline2,
 
1007
                                        mng_uint8p pDstline);
 
1008
mng_retcode mng_magnify_rgb16_y1       (mng_datap  pData,
 
1009
                                        mng_int32  iS,
 
1010
                                        mng_int32  iM,
 
1011
                                        mng_uint32 iWidth,
 
1012
                                        mng_uint8p pSrcline1,
 
1013
                                        mng_uint8p pSrcline2,
 
1014
                                        mng_uint8p pDstline);
 
1015
mng_retcode mng_magnify_rgb16_y2       (mng_datap  pData,
 
1016
                                        mng_int32  iS,
 
1017
                                        mng_int32  iM,
 
1018
                                        mng_uint32 iWidth,
 
1019
                                        mng_uint8p pSrcline1,
 
1020
                                        mng_uint8p pSrcline2,
 
1021
                                        mng_uint8p pDstline);
 
1022
mng_retcode mng_magnify_rgb16_y3       (mng_datap  pData,
 
1023
                                        mng_int32  iS,
 
1024
                                        mng_int32  iM,
 
1025
                                        mng_uint32 iWidth,
 
1026
                                        mng_uint8p pSrcline1,
 
1027
                                        mng_uint8p pSrcline2,
 
1028
                                        mng_uint8p pDstline);
 
1029
mng_retcode mng_magnify_ga16_y1        (mng_datap  pData,
 
1030
                                        mng_int32  iS,
 
1031
                                        mng_int32  iM,
 
1032
                                        mng_uint32 iWidth,
 
1033
                                        mng_uint8p pSrcline1,
 
1034
                                        mng_uint8p pSrcline2,
 
1035
                                        mng_uint8p pDstline);
 
1036
mng_retcode mng_magnify_ga16_y2        (mng_datap  pData,
 
1037
                                        mng_int32  iS,
 
1038
                                        mng_int32  iM,
 
1039
                                        mng_uint32 iWidth,
 
1040
                                        mng_uint8p pSrcline1,
 
1041
                                        mng_uint8p pSrcline2,
 
1042
                                        mng_uint8p pDstline);
 
1043
mng_retcode mng_magnify_ga16_y3        (mng_datap  pData,
 
1044
                                        mng_int32  iS,
 
1045
                                        mng_int32  iM,
 
1046
                                        mng_uint32 iWidth,
 
1047
                                        mng_uint8p pSrcline1,
 
1048
                                        mng_uint8p pSrcline2,
 
1049
                                        mng_uint8p pDstline);
 
1050
mng_retcode mng_magnify_ga16_y4        (mng_datap  pData,
 
1051
                                        mng_int32  iS,
 
1052
                                        mng_int32  iM,
 
1053
                                        mng_uint32 iWidth,
 
1054
                                        mng_uint8p pSrcline1,
 
1055
                                        mng_uint8p pSrcline2,
 
1056
                                        mng_uint8p pDstline);
 
1057
mng_retcode mng_magnify_ga16_y5        (mng_datap  pData,
 
1058
                                        mng_int32  iS,
 
1059
                                        mng_int32  iM,
 
1060
                                        mng_uint32 iWidth,
 
1061
                                        mng_uint8p pSrcline1,
 
1062
                                        mng_uint8p pSrcline2,
 
1063
                                        mng_uint8p pDstline);
 
1064
mng_retcode mng_magnify_rgba16_y1      (mng_datap  pData,
 
1065
                                        mng_int32  iS,
 
1066
                                        mng_int32  iM,
 
1067
                                        mng_uint32 iWidth,
 
1068
                                        mng_uint8p pSrcline1,
 
1069
                                        mng_uint8p pSrcline2,
 
1070
                                        mng_uint8p pDstline);
 
1071
mng_retcode mng_magnify_rgba16_y2      (mng_datap  pData,
 
1072
                                        mng_int32  iS,
 
1073
                                        mng_int32  iM,
 
1074
                                        mng_uint32 iWidth,
 
1075
                                        mng_uint8p pSrcline1,
 
1076
                                        mng_uint8p pSrcline2,
 
1077
                                        mng_uint8p pDstline);
 
1078
mng_retcode mng_magnify_rgba16_y3      (mng_datap  pData,
 
1079
                                        mng_int32  iS,
 
1080
                                        mng_int32  iM,
 
1081
                                        mng_uint32 iWidth,
 
1082
                                        mng_uint8p pSrcline1,
 
1083
                                        mng_uint8p pSrcline2,
 
1084
                                        mng_uint8p pDstline);
 
1085
mng_retcode mng_magnify_rgba16_y4      (mng_datap  pData,
 
1086
                                        mng_int32  iS,
 
1087
                                        mng_int32  iM,
 
1088
                                        mng_uint32 iWidth,
 
1089
                                        mng_uint8p pSrcline1,
 
1090
                                        mng_uint8p pSrcline2,
 
1091
                                        mng_uint8p pDstline);
 
1092
mng_retcode mng_magnify_rgba16_y5      (mng_datap  pData,
 
1093
                                        mng_int32  iS,
 
1094
                                        mng_int32  iM,
 
1095
                                        mng_uint32 iWidth,
 
1096
                                        mng_uint8p pSrcline1,
 
1097
                                        mng_uint8p pSrcline2,
 
1098
                                        mng_uint8p pDstline);
 
1099
#endif
 
1100
#endif
 
1101
 
 
1102
/* ************************************************************************** */
 
1103
/* *                                                                        * */
 
1104
/* * PAST composition routines - compose over/under with a target object    * */
 
1105
/* *                                                                        * */
 
1106
/* ************************************************************************** */
 
1107
 
 
1108
mng_retcode mng_composeover_rgba8      (mng_datap  pData);
 
1109
#ifndef MNG_SKIPCHUNK_PAST
 
1110
mng_retcode mng_composeunder_rgba8     (mng_datap  pData);
 
1111
#ifndef MNG_NO_16BIT_SUPPORT
 
1112
mng_retcode mng_composeover_rgba16     (mng_datap  pData);
 
1113
mng_retcode mng_composeunder_rgba16    (mng_datap  pData);
 
1114
#endif
 
1115
#endif
 
1116
 
 
1117
/* ************************************************************************** */
 
1118
/* *                                                                        * */
 
1119
/* * PAST flip & tile routines - flip or tile a row of pixels               * */
 
1120
/* *                                                                        * */
 
1121
/* ************************************************************************** */
 
1122
 
 
1123
#ifndef MNG_SKIPCHUNK_PAST
 
1124
mng_retcode mng_flip_rgba8             (mng_datap  pData);
 
1125
mng_retcode mng_tile_rgba8             (mng_datap  pData);
 
1126
#ifndef MNG_NO_16BIT_SUPPORT
 
1127
mng_retcode mng_flip_rgba16            (mng_datap  pData);
 
1128
mng_retcode mng_tile_rgba16            (mng_datap  pData);
 
1129
#endif
 
1130
#endif
 
1131
 
 
1132
/* ************************************************************************** */
 
1133
 
 
1134
#endif /* _libmng_pixels_h_ */
 
1135
 
 
1136
/* ************************************************************************** */
 
1137
/* * end of file                                                            * */
 
1138
/* ************************************************************************** */