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