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