~ubuntu-branches/ubuntu/jaunty/freeimage/jaunty

« back to all changes in this revision

Viewing changes to FreeImage/Source/LibMNG/libmng_pixels.h

  • Committer: Bazaar Package Importer
  • Author(s): Federico Di Gregorio
  • Date: 2007-05-07 15:35:21 UTC
  • Revision ID: james.westby@ubuntu.com-20070507153521-m4lx765bzxxug9qf
Tags: upstream-3.9.3
ImportĀ upstreamĀ versionĀ 3.9.3

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.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
/* ************************************************************************** */