libmng_trace.c 82 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683
  1. /* ************************************************************************** */
  2. /* * For conditions of distribution and use, * */
  3. /* * see copyright notice in libmng.h * */
  4. /* ************************************************************************** */
  5. /* * * */
  6. /* * project : libmng * */
  7. /* * file : libmng_trace.c copyright (c) 2000-2007 G.Juyn * */
  8. /* * version : 1.0.10 * */
  9. /* * * */
  10. /* * purpose : Trace functions (implementation) * */
  11. /* * * */
  12. /* * author : G.Juyn * */
  13. /* * * */
  14. /* * comment : implementation of the trace functions * */
  15. /* * * */
  16. /* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */
  17. /* * - changed strict-ANSI stuff * */
  18. /* * 0.5.1 - 05/12/2000 - G.Juyn * */
  19. /* * - added callback error-reporting support * */
  20. /* * * */
  21. /* * 0.5.2 - 05/23/2000 - G.Juyn * */
  22. /* * - added trace telltale reporting * */
  23. /* * 0.5.2 - 05/24/2000 - G.Juyn * */
  24. /* * - added tracestrings for global animation color-chunks * */
  25. /* * - added tracestrings for get/set of default ZLIB/IJG parms * */
  26. /* * - added tracestrings for global PLTE,tRNS,bKGD * */
  27. /* * 0.5.2 - 05/30/2000 - G.Juyn * */
  28. /* * - added tracestrings for image-object promotion * */
  29. /* * - added tracestrings for delta-image processing * */
  30. /* * 0.5.2 - 06/02/2000 - G.Juyn * */
  31. /* * - added tracestrings for getalphaline callback * */
  32. /* * 0.5.2 - 06/05/2000 - G.Juyn * */
  33. /* * - added tracestring for RGB8_A8 canvasstyle * */
  34. /* * 0.5.2 - 06/06/2000 - G.Juyn * */
  35. /* * - added tracestring for mng_read_resume HLAPI function * */
  36. /* * * */
  37. /* * 0.5.3 - 06/21/2000 - G.Juyn * */
  38. /* * - added tracestrings for get/set speedtype * */
  39. /* * - added tracestring for get imagelevel * */
  40. /* * 0.5.3 - 06/22/2000 - G.Juyn * */
  41. /* * - added tracestring for delta-image processing * */
  42. /* * - added tracestrings for PPLT chunk processing * */
  43. /* * * */
  44. /* * 0.9.1 - 07/07/2000 - G.Juyn * */
  45. /* * - added tracecodes for special display processing * */
  46. /* * 0.9.1 - 07/08/2000 - G.Juyn * */
  47. /* * - added tracestring for get/set suspensionmode * */
  48. /* * - added tracestrings for get/set display variables * */
  49. /* * - added tracecode for read_databuffer (I/O-suspension) * */
  50. /* * 0.9.1 - 07/15/2000 - G.Juyn * */
  51. /* * - added tracestrings for SAVE/SEEK callbacks * */
  52. /* * - added tracestrings for get/set sectionbreaks * */
  53. /* * - added tracestring for special error routine * */
  54. /* * 0.9.1 - 07/19/2000 - G.Juyn * */
  55. /* * - added tracestring for updatemngheader * */
  56. /* * * */
  57. /* * 0.9.2 - 07/31/2000 - G.Juyn * */
  58. /* * - added tracestrings for status_xxxxx functions * */
  59. /* * 0.9.2 - 08/05/2000 - G.Juyn * */
  60. /* * - changed file-prefixes * */
  61. /* * - added tracestring for updatemngsimplicity * */
  62. /* * * */
  63. /* * 0.9.3 - 08/26/2000 - G.Juyn * */
  64. /* * - added MAGN chunk * */
  65. /* * 0.9.3 - 09/07/2000 - G.Juyn * */
  66. /* * - added support for new filter_types * */
  67. /* * 0.9.3 - 10/10/2000 - G.Juyn * */
  68. /* * - added support for alpha-depth prediction * */
  69. /* * 0.9.3 - 10/11/2000 - G.Juyn * */
  70. /* * - added JDAA chunk * */
  71. /* * - added support for nEED * */
  72. /* * 0.9.3 - 10/16/2000 - G.Juyn * */
  73. /* * - added functions to retrieve PNG/JNG specific header-info * */
  74. /* * - added optional support for bKGD for PNG images * */
  75. /* * 0.9.3 - 10/17/2000 - G.Juyn * */
  76. /* * - added callback to process non-critical unknown chunks * */
  77. /* * - added routine to discard "invalid" objects * */
  78. /* * 0.9.3 - 10/19/2000 - G.Juyn * */
  79. /* * - implemented delayed delta-processing * */
  80. /* * 0.9.3 - 10/20/2000 - G.Juyn * */
  81. /* * - added get/set for bKGD preference setting * */
  82. /* * 0.9.3 - 10/21/2000 - G.Juyn * */
  83. /* * - added get function for interlace/progressive display * */
  84. /* * * */
  85. /* * 0.9.4 - 1/18/2001 - G.Juyn * */
  86. /* * - added "new" MAGN methods 3, 4 & 5 * */
  87. /* * * */
  88. /* * 1.0.1 - 02/08/2001 - G.Juyn * */
  89. /* * - added MEND processing callback * */
  90. /* * 1.0.1 - 04/21/2001 - G.Juyn (code by G.Kelly) * */
  91. /* * - added BGRA8 canvas with premultiplied alpha * */
  92. /* * 1.0.1 - 05/02/2001 - G.Juyn * */
  93. /* * - added "default" sRGB generation (Thanks Marti!) * */
  94. /* * * */
  95. /* * 1.0.2 - 06/23/2001 - G.Juyn * */
  96. /* * - added optimization option for MNG-video playback * */
  97. /* * - added processterm callback * */
  98. /* * 1.0.2 - 06/25/2001 - G.Juyn * */
  99. /* * - added option to turn off progressive refresh * */
  100. /* * * */
  101. /* * 1.0.3 - 08/06/2001 - G.Juyn * */
  102. /* * - added get function for last processed BACK chunk * */
  103. /* * * */
  104. /* * 1.0.5 - 08/15/2002 - G.Juyn * */
  105. /* * - completed PROM support * */
  106. /* * - completed delta-image support * */
  107. /* * 1.0.5 - 08/19/2002 - G.Juyn * */
  108. /* * - B597134 - libmng pollutes the linker namespace * */
  109. /* * - added HLAPI function to copy chunks * */
  110. /* * 1.0.5 - 09/14/2002 - G.Juyn * */
  111. /* * - added event handling for dynamic MNG * */
  112. /* * 1.0.5 - 09/20/2002 - G.Juyn * */
  113. /* * - added support for PAST * */
  114. /* * 1.0.5 - 09/22/2002 - G.Juyn * */
  115. /* * - added bgrx8 canvas (filler byte) * */
  116. /* * 1.0.5 - 09/23/2002 - G.Juyn * */
  117. /* * - added in-memory color-correction of abstract images * */
  118. /* * - added compose over/under routines for PAST processing * */
  119. /* * - added flip & tile routines for PAST processing * */
  120. /* * 1.0.5 - 10/09/2002 - G.Juyn * */
  121. /* * - fixed trace-constants for PAST chunk * */
  122. /* * 1.0.5 - 11/07/2002 - G.Juyn * */
  123. /* * - added support to get totals after mng_read() * */
  124. /* * * */
  125. /* * 1.0.6 - 07/07/2003 - G.R-P * */
  126. /* * - added conditionals around JNG and Delta-PNG code * */
  127. /* * 1.0.6 - 07/14/2003 - G.R-P * */
  128. /* * - added conditionals around various unused functions * */
  129. /* * 1.0.6 - 07/29/2003 - G.R-P * */
  130. /* * - added conditionals around PAST chunk support * */
  131. /* * * */
  132. /* * 1.0.7 - 11/27/2003 - R.A * */
  133. /* * - added CANVAS_RGB565 and CANVAS_BGR565 * */
  134. /* * 1.0.7 - 01/25/2004 - J.S * */
  135. /* * - added premultiplied alpha canvas' for RGBA, ARGB, ABGR * */
  136. /* * 1.0.7 - 03/07/2004 - G. Randers-Pehrson * */
  137. /* * - put gamma, cms-related declarations inside #ifdef * */
  138. /* * 1.0.7 - 03/10/2004 - G.R-P * */
  139. /* * - added conditionals around openstream/closestream * */
  140. /* * * */
  141. /* * 1.0.8 - 04/02/2004 - G.Juyn * */
  142. /* * - added CRC existence & checking flags * */
  143. /* * 1.0.8 - 04/11/2004 - G.Juyn * */
  144. /* * - added data-push mechanisms for specialized decoders * */
  145. /* * * */
  146. /* * 1.0.9 - 10/03/2004 - G.Juyn * */
  147. /* * - added function to retrieve current FRAM delay * */
  148. /* * 1.0.9 - 10/14/2004 - G.Juyn * */
  149. /* * - added bgr565_a8 canvas-style (thanks to J. Elvander) * */
  150. /* * * */
  151. /* * 1.0.10 - 04/08/2007 - G.Juyn * */
  152. /* * - added support for mPNG proposal * */
  153. /* * 1.0.10 - 07/06/2007 - G.R-P bugfix by Lucas Quintana * */
  154. /* * * */
  155. /* ************************************************************************** */
  156. #include "libmng.h"
  157. #include "libmng_data.h"
  158. #include "libmng_error.h"
  159. #include "libmng_trace.h"
  160. #ifdef __BORLANDC__
  161. #pragma hdrstop
  162. #endif
  163. #if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
  164. #pragma option -A /* force ANSI-C */
  165. #endif
  166. /* ************************************************************************** */
  167. #ifdef MNG_INCLUDE_TRACE_PROCS
  168. /* ************************************************************************** */
  169. #ifdef MNG_INCLUDE_TRACE_STRINGS
  170. MNG_LOCAL mng_trace_entry const trace_table [] =
  171. {
  172. {MNG_FN_INITIALIZE, "initialize"},
  173. {MNG_FN_RESET, "reset"},
  174. {MNG_FN_CLEANUP, "cleanup"},
  175. {MNG_FN_READ, "read"},
  176. {MNG_FN_WRITE, "write"},
  177. {MNG_FN_CREATE, "create"},
  178. {MNG_FN_READDISPLAY, "readdisplay"},
  179. {MNG_FN_DISPLAY, "display"},
  180. {MNG_FN_DISPLAY_RESUME, "display_resume"},
  181. {MNG_FN_DISPLAY_FREEZE, "display_freeze"},
  182. {MNG_FN_DISPLAY_RESET, "display_reset"},
  183. #ifndef MNG_NO_DISPLAY_GO_SUPPORTED
  184. {MNG_FN_DISPLAY_GOFRAME, "display_goframe"},
  185. {MNG_FN_DISPLAY_GOLAYER, "display_golayer"},
  186. {MNG_FN_DISPLAY_GOTIME, "display_gotime"},
  187. #endif
  188. {MNG_FN_GETLASTERROR, "getlasterror"},
  189. {MNG_FN_READ_RESUME, "read_resume"},
  190. {MNG_FN_TRAPEVENT, "trapevent"},
  191. {MNG_FN_READ_PUSHDATA, "read_pushdata"},
  192. {MNG_FN_READ_PUSHSIG, "read_pushsig"},
  193. {MNG_FN_READ_PUSHCHUNK, "read_pushchunk"},
  194. {MNG_FN_SETCB_MEMALLOC, "setcb_memalloc"},
  195. {MNG_FN_SETCB_MEMFREE, "setcb_memfree"},
  196. {MNG_FN_SETCB_READDATA, "setcb_readdata"},
  197. {MNG_FN_SETCB_WRITEDATA, "setcb_writedata"},
  198. {MNG_FN_SETCB_ERRORPROC, "setcb_errorproc"},
  199. {MNG_FN_SETCB_TRACEPROC, "setcb_traceproc"},
  200. {MNG_FN_SETCB_PROCESSHEADER, "setcb_processheader"},
  201. {MNG_FN_SETCB_PROCESSTEXT, "setcb_processtext"},
  202. {MNG_FN_SETCB_GETCANVASLINE, "setcb_getcanvasline"},
  203. {MNG_FN_SETCB_GETBKGDLINE, "setcb_getbkgdline"},
  204. {MNG_FN_SETCB_REFRESH, "setcb_refresh"},
  205. {MNG_FN_SETCB_GETTICKCOUNT, "setcb_gettickcount"},
  206. {MNG_FN_SETCB_SETTIMER, "setcb_settimer"},
  207. {MNG_FN_SETCB_PROCESSGAMMA, "setcb_processgamma"},
  208. {MNG_FN_SETCB_PROCESSCHROMA, "setcb_processchroma"},
  209. {MNG_FN_SETCB_PROCESSSRGB, "setcb_processsrgb"},
  210. {MNG_FN_SETCB_PROCESSICCP, "setcb_processiccp"},
  211. {MNG_FN_SETCB_PROCESSAROW, "setcb_processarow"},
  212. #ifndef MNG_NO_OPEN_CLOSE_STREAM
  213. {MNG_FN_SETCB_OPENSTREAM, "setcb_openstream"},
  214. {MNG_FN_SETCB_CLOSESTREAM, "setcb_closestream"},
  215. #endif
  216. {MNG_FN_SETCB_GETALPHALINE, "setcb_getalphaline"},
  217. {MNG_FN_SETCB_PROCESSSAVE, "setcb_processsave"},
  218. {MNG_FN_SETCB_PROCESSSEEK, "setcb_processseek"},
  219. {MNG_FN_SETCB_PROCESSNEED, "setcb_processneed"},
  220. {MNG_FN_SETCB_PROCESSUNKNOWN, "setcb_processunknown"},
  221. {MNG_FN_SETCB_PROCESSMEND, "setcb_processmend"},
  222. {MNG_FN_SETCB_PROCESSTERM, "setcb_processterm"},
  223. {MNG_FN_SETCB_RELEASEDATA, "setcb_releasedata"},
  224. {MNG_FN_GETCB_MEMALLOC, "getcb_memalloc"},
  225. {MNG_FN_GETCB_MEMFREE, "getcb_memfree"},
  226. {MNG_FN_GETCB_READDATA, "getcb_readdata,"},
  227. {MNG_FN_GETCB_WRITEDATA, "getcb_writedata"},
  228. {MNG_FN_GETCB_ERRORPROC, "getcb_errorproc"},
  229. {MNG_FN_GETCB_TRACEPROC, "getcb_traceproc"},
  230. {MNG_FN_GETCB_PROCESSHEADER, "getcb_processheader"},
  231. {MNG_FN_GETCB_PROCESSTEXT, "getcb_processtext"},
  232. {MNG_FN_GETCB_GETCANVASLINE, "getcb_getcanvasline"},
  233. {MNG_FN_GETCB_GETBKGDLINE, "getcb_getbkgdline"},
  234. {MNG_FN_GETCB_REFRESH, "getcb_refresh"},
  235. {MNG_FN_GETCB_GETTICKCOUNT, "getcb_gettickcount"},
  236. {MNG_FN_GETCB_SETTIMER, "getcb_settimer"},
  237. {MNG_FN_GETCB_PROCESSGAMMA, "getcb_processgamma"},
  238. {MNG_FN_GETCB_PROCESSCHROMA, "getcb_processchroma"},
  239. {MNG_FN_GETCB_PROCESSSRGB, "getcb_processsrgb"},
  240. {MNG_FN_GETCB_PROCESSICCP, "getcb_processiccp"},
  241. {MNG_FN_GETCB_PROCESSAROW, "getcb_processarow"},
  242. #ifndef MNG_NO_OPEN_CLOSE_STREAM
  243. {MNG_FN_GETCB_OPENSTREAM, "getcb_openstream"},
  244. {MNG_FN_GETCB_CLOSESTREAM, "getcb_closestream"},
  245. #endif
  246. {MNG_FN_GETCB_GETALPHALINE, "getcb_getalphaline"},
  247. {MNG_FN_GETCB_PROCESSSAVE, "getcb_processsave"},
  248. {MNG_FN_GETCB_PROCESSSEEK, "getcb_processseek"},
  249. {MNG_FN_GETCB_PROCESSNEED, "getcb_processneed"},
  250. {MNG_FN_GETCB_PROCESSUNKNOWN, "getcb_processunknown"},
  251. {MNG_FN_GETCB_PROCESSMEND, "getcb_processmend"},
  252. {MNG_FN_GETCB_PROCESSTERM, "getcb_processterm"},
  253. {MNG_FN_GETCB_RELEASEDATA, "getcb_releasedata"},
  254. {MNG_FN_SET_USERDATA, "set_userdata"},
  255. {MNG_FN_SET_CANVASSTYLE, "set_canvasstyle"},
  256. {MNG_FN_SET_BKGDSTYLE, "set_bkgdstyle"},
  257. {MNG_FN_SET_BGCOLOR, "set_bgcolor"},
  258. {MNG_FN_SET_STORECHUNKS, "set_storechunks"},
  259. #if defined(MNG_FULL_CMS) || defined(MNG_GAMMA_ONLY) || defined(MNG_APP_CMS)
  260. {MNG_FN_SET_VIEWGAMMA, "set_viewgamma"},
  261. #ifndef MNG_NO_DFLT_INFO
  262. {MNG_FN_SET_DISPLAYGAMMA, "set_displaygamma"},
  263. #endif
  264. {MNG_FN_SET_DFLTIMGGAMMA, "set_dfltimggamma"},
  265. #endif
  266. {MNG_FN_SET_SRGB, "set_srgb"},
  267. {MNG_FN_SET_OUTPUTPROFILE, "set_outputprofile"},
  268. {MNG_FN_SET_SRGBPROFILE, "set_srgbprofile"},
  269. #ifndef MNG_SKIP_MAXCANVAS
  270. {MNG_FN_SET_MAXCANVASWIDTH, "set_maxcanvaswidth"},
  271. {MNG_FN_SET_MAXCANVASHEIGHT, "set_maxcanvasheight"},
  272. {MNG_FN_SET_MAXCANVASSIZE, "set_maxcanvassize"},
  273. #endif
  274. #ifndef MNG_NO_ACCESS_ZLIB
  275. {MNG_FN_SET_ZLIB_LEVEL, "set_zlib_level"},
  276. {MNG_FN_SET_ZLIB_METHOD, "set_zlib_method"},
  277. {MNG_FN_SET_ZLIB_WINDOWBITS, "set_zlib_windowbits"},
  278. {MNG_FN_SET_ZLIB_MEMLEVEL, "set_zlib_memlevel"},
  279. {MNG_FN_SET_ZLIB_STRATEGY, "set_zlib_strategy"},
  280. {MNG_FN_SET_ZLIB_MAXIDAT, "set_zlib_maxidat"},
  281. #endif
  282. #ifndef MNG_NO_ACCESS_JPEG
  283. {MNG_FN_SET_JPEG_DCTMETHOD, "set_jpeg_dctmethod"},
  284. {MNG_FN_SET_JPEG_QUALITY, "set_jpeg_quality"},
  285. {MNG_FN_SET_JPEG_SMOOTHING, "set_jpeg_smoothing"},
  286. {MNG_FN_SET_JPEG_PROGRESSIVE, "set_jpeg_progressive"},
  287. {MNG_FN_SET_JPEG_OPTIMIZED, "set_jpeg_optimized"},
  288. {MNG_FN_SET_JPEG_MAXJDAT, "set_jpeg_maxjdat"},
  289. #endif
  290. {MNG_FN_SET_SPEED, "set_speed"},
  291. {MNG_FN_SET_SUSPENSIONMODE, "set_suspensionmode"},
  292. {MNG_FN_SET_SECTIONBREAKS, "set_sectionbreaks"},
  293. {MNG_FN_SET_USEBKGD, "set_usebkgd"},
  294. {MNG_FN_SET_OUTPUTPROFILE2, "set_outputprofile2"},
  295. {MNG_FN_SET_SRGBPROFILE2, "set_srgbprofile2"},
  296. {MNG_FN_SET_OUTPUTSRGB, "set_outputsrgb"},
  297. {MNG_FN_SET_SRGBIMPLICIT, "set_srgbimplicit"},
  298. {MNG_FN_SET_CACHEPLAYBACK, "set_cacheplayback"},
  299. {MNG_FN_SET_DOPROGRESSIVE, "set_doprogressive"},
  300. {MNG_FN_SET_CRCMODE, "set_crcmode"},
  301. {MNG_FN_GET_USERDATA, "get_userdata"},
  302. {MNG_FN_GET_SIGTYPE, "get_sigtype"},
  303. {MNG_FN_GET_IMAGETYPE, "get_imagetype"},
  304. {MNG_FN_GET_IMAGEWIDTH, "get_imagewidth"},
  305. {MNG_FN_GET_IMAGEHEIGHT, "get_imageheight"},
  306. {MNG_FN_GET_TICKS, "get_ticks"},
  307. {MNG_FN_GET_FRAMECOUNT, "get_framecount"},
  308. {MNG_FN_GET_LAYERCOUNT, "get_layercount"},
  309. {MNG_FN_GET_PLAYTIME, "get_playtime"},
  310. {MNG_FN_GET_SIMPLICITY, "get_simplicity"},
  311. {MNG_FN_GET_CANVASSTYLE, "get_canvasstyle"},
  312. {MNG_FN_GET_BKGDSTYLE, "get_bkgdstyle"},
  313. {MNG_FN_GET_BGCOLOR, "get_bgcolor"},
  314. {MNG_FN_GET_STORECHUNKS, "get_storechunks"},
  315. #if defined(MNG_FULL_CMS) || defined(MNG_GAMMA_ONLY) || defined(MNG_APP_CMS)
  316. {MNG_FN_GET_VIEWGAMMA, "get_viewgamma"},
  317. {MNG_FN_GET_DISPLAYGAMMA, "get_displaygamma"},
  318. #ifndef MNG_NO_DFLT_INFO
  319. {MNG_FN_GET_DFLTIMGGAMMA, "get_dfltimggamma"},
  320. #endif
  321. #endif
  322. {MNG_FN_GET_SRGB, "get_srgb"},
  323. #ifndef MNG_SKIP_MAXCANVAS
  324. {MNG_FN_GET_MAXCANVASWIDTH, "get_maxcanvaswidth"},
  325. {MNG_FN_GET_MAXCANVASHEIGHT, "get_maxcanvasheight"},
  326. #endif
  327. #ifndef MNG_NO_ACCESS_ZLIB
  328. {MNG_FN_GET_ZLIB_LEVEL, "get_zlib_level"},
  329. {MNG_FN_GET_ZLIB_METHOD, "get_zlib_method"},
  330. {MNG_FN_GET_ZLIB_WINDOWBITS, "get_zlib_windowbits"},
  331. {MNG_FN_GET_ZLIB_MEMLEVEL, "get_zlib_memlevel"},
  332. {MNG_FN_GET_ZLIB_STRATEGY, "get_zlib_strategy"},
  333. {MNG_FN_GET_ZLIB_MAXIDAT, "get_zlib_maxidat"},
  334. #endif
  335. #ifndef MNG_NO_ACCESS_JPEG
  336. {MNG_FN_GET_JPEG_DCTMETHOD, "get_jpeg_dctmethod"},
  337. {MNG_FN_GET_JPEG_QUALITY, "get_jpeg_quality"},
  338. {MNG_FN_GET_JPEG_SMOOTHING, "get_jpeg_smoothing"},
  339. {MNG_FN_GET_JPEG_PROGRESSIVE, "get_jpeg_progressive"},
  340. {MNG_FN_GET_JPEG_OPTIMIZED, "get_jpeg_optimized"},
  341. {MNG_FN_GET_JPEG_MAXJDAT, "get_jpeg_maxjdat"},
  342. #endif
  343. {MNG_FN_GET_SPEED, "get_speed"},
  344. {MNG_FN_GET_IMAGELEVEL, "get_imagelevel"},
  345. {MNG_FN_GET_SUSPENSIONMODE, "get_speed"},
  346. {MNG_FN_GET_STARTTIME, "get_starttime"},
  347. {MNG_FN_GET_RUNTIME, "get_runtime"},
  348. #ifndef MNG_NO_CURRENT_INFO
  349. {MNG_FN_GET_CURRENTFRAME, "get_currentframe"},
  350. {MNG_FN_GET_CURRENTLAYER, "get_currentlayer"},
  351. {MNG_FN_GET_CURRENTPLAYTIME, "get_currentplaytime"},
  352. #endif
  353. {MNG_FN_GET_SECTIONBREAKS, "get_sectionbreaks"},
  354. {MNG_FN_GET_ALPHADEPTH, "get_alphadepth"},
  355. {MNG_FN_GET_BITDEPTH, "get_bitdepth"},
  356. {MNG_FN_GET_COLORTYPE, "get_colortype"},
  357. {MNG_FN_GET_COMPRESSION, "get_compression"},
  358. {MNG_FN_GET_FILTER, "get_filter"},
  359. {MNG_FN_GET_INTERLACE, "get_interlace"},
  360. {MNG_FN_GET_ALPHABITDEPTH, "get_alphabitdepth"},
  361. {MNG_FN_GET_ALPHACOMPRESSION, "get_alphacompression"},
  362. {MNG_FN_GET_ALPHAFILTER, "get_alphafilter"},
  363. {MNG_FN_GET_ALPHAINTERLACE, "get_alphainterlace"},
  364. {MNG_FN_GET_USEBKGD, "get_usebkgd"},
  365. {MNG_FN_GET_REFRESHPASS, "get_refreshpass"},
  366. {MNG_FN_GET_CACHEPLAYBACK, "get_cacheplayback"},
  367. {MNG_FN_GET_DOPROGRESSIVE, "get_doprogressive"},
  368. {MNG_FN_GET_LASTBACKCHUNK, "get_lastbackchunk"},
  369. {MNG_FN_GET_LASTSEEKNAME, "get_lastseekname"},
  370. #ifndef MNG_NO_CURRENT_INFO
  371. {MNG_FN_GET_TOTALFRAMES, "get_totalframes"},
  372. {MNG_FN_GET_TOTALLAYERS, "get_totallayers"},
  373. {MNG_FN_GET_TOTALPLAYTIME, "get_totalplaytime"},
  374. #endif
  375. {MNG_FN_GET_CRCMODE, "get_crcmode"},
  376. {MNG_FN_GET_CURRFRAMDELAY, "get_currframdelay"},
  377. {MNG_FN_STATUS_ERROR, "status_error"},
  378. {MNG_FN_STATUS_READING, "status_reading"},
  379. {MNG_FN_STATUS_SUSPENDBREAK, "status_suspendbreak"},
  380. {MNG_FN_STATUS_CREATING, "status_creating"},
  381. {MNG_FN_STATUS_WRITING, "status_writing"},
  382. {MNG_FN_STATUS_DISPLAYING, "status_displaying"},
  383. {MNG_FN_STATUS_RUNNING, "status_running"},
  384. {MNG_FN_STATUS_TIMERBREAK, "status_timerbreak"},
  385. {MNG_FN_STATUS_DYNAMIC, "status_dynamic"},
  386. {MNG_FN_STATUS_RUNNINGEVENT, "status_runningevent"},
  387. {MNG_FN_ITERATE_CHUNKS, "iterate_chunks"},
  388. {MNG_FN_COPY_CHUNK, "copy_chunk"},
  389. {MNG_FN_GETCHUNK_IHDR, "getchunk_ihdr"},
  390. {MNG_FN_GETCHUNK_PLTE, "getchunk_plte"},
  391. {MNG_FN_GETCHUNK_IDAT, "getchunk_idat"},
  392. {MNG_FN_GETCHUNK_IEND, "getchunk_iend"},
  393. {MNG_FN_GETCHUNK_TRNS, "getchunk_trns"},
  394. #ifndef MNG_SKIPCHUNK_gAMA
  395. {MNG_FN_GETCHUNK_GAMA, "getchunk_gama"},
  396. #endif
  397. #ifndef MNG_SKIPCHUNK_cHRM
  398. {MNG_FN_GETCHUNK_CHRM, "getchunk_chrm"},
  399. #endif
  400. #ifndef MNG_SKIPCHUNK_sRGB
  401. {MNG_FN_GETCHUNK_SRGB, "getchunk_srgb"},
  402. #endif
  403. #ifndef MNG_SKIPCHUNK_iCCP
  404. {MNG_FN_GETCHUNK_ICCP, "getchunk_iccp"},
  405. #endif
  406. #ifndef MNG_SKIPCHUNK_tEXt
  407. {MNG_FN_GETCHUNK_TEXT, "getchunk_text"},
  408. #endif
  409. #ifndef MNG_SKIPCHUNK_zTXt
  410. {MNG_FN_GETCHUNK_ZTXT, "getchunk_ztxt"},
  411. #endif
  412. #ifndef MNG_SKIPCHUNK_iTXt
  413. {MNG_FN_GETCHUNK_ITXT, "getchunk_itxt"},
  414. #endif
  415. #ifndef MNG_SKIPCHUNK_bKGD
  416. {MNG_FN_GETCHUNK_BKGD, "getchunk_bkgd"},
  417. #endif
  418. #ifndef MNG_SKIPCHUNK_pHYs
  419. {MNG_FN_GETCHUNK_PHYS, "getchunk_phys"},
  420. #endif
  421. #ifndef MNG_SKIPCHUNK_sBIT
  422. {MNG_FN_GETCHUNK_SBIT, "getchunk_sbit"},
  423. #endif
  424. #ifndef MNG_SKIPCHUNK_sPLT
  425. {MNG_FN_GETCHUNK_SPLT, "getchunk_splt"},
  426. #endif
  427. #ifndef MNG_SKIPCHUNK_hIST
  428. {MNG_FN_GETCHUNK_HIST, "getchunk_hist"},
  429. #endif
  430. #ifndef MNG_SKIPCHUNK_tIME
  431. {MNG_FN_GETCHUNK_TIME, "getchunk_time"},
  432. #endif
  433. {MNG_FN_GETCHUNK_MHDR, "getchunk_mhdr"},
  434. {MNG_FN_GETCHUNK_MEND, "getchunk_mend"},
  435. #ifndef MNG_SKIPCHUNK_LOOP
  436. {MNG_FN_GETCHUNK_LOOP, "getchunk_loop"},
  437. {MNG_FN_GETCHUNK_ENDL, "getchunk_endl"},
  438. #endif
  439. {MNG_FN_GETCHUNK_DEFI, "getchunk_defi"},
  440. #ifndef MNG_SKIPCHUNK_BASI
  441. {MNG_FN_GETCHUNK_BASI, "getchunk_basi"},
  442. #endif
  443. {MNG_FN_GETCHUNK_CLON, "getchunk_clon"},
  444. #ifndef MNG_SKIPCHUNK_PAST
  445. {MNG_FN_GETCHUNK_PAST, "getchunk_past"},
  446. #endif
  447. {MNG_FN_GETCHUNK_DISC, "getchunk_disc"},
  448. {MNG_FN_GETCHUNK_BACK, "getchunk_back"},
  449. {MNG_FN_GETCHUNK_FRAM, "getchunk_fram"},
  450. {MNG_FN_GETCHUNK_MOVE, "getchunk_move"},
  451. {MNG_FN_GETCHUNK_CLIP, "getchunk_clip"},
  452. {MNG_FN_GETCHUNK_SHOW, "getchunk_show"},
  453. {MNG_FN_GETCHUNK_TERM, "getchunk_term"},
  454. #ifndef MNG_SKIPCHUNK_SAVE
  455. {MNG_FN_GETCHUNK_SAVE, "getchunk_save"},
  456. #endif
  457. #ifndef MNG_SKIPCHUNK_SEEK
  458. {MNG_FN_GETCHUNK_SEEK, "getchunk_seek"},
  459. #endif
  460. #ifndef MNG_SKIPCHUNK_eXPI
  461. {MNG_FN_GETCHUNK_EXPI, "getchunk_expi"},
  462. #endif
  463. #ifndef MNG_SKIPCHUNK_fPRI
  464. {MNG_FN_GETCHUNK_FPRI, "getchunk_fpri"},
  465. #endif
  466. #ifndef MNG_SKIPCHUNK_nEED
  467. {MNG_FN_GETCHUNK_NEED, "getchunk_need"},
  468. #endif
  469. #ifndef MNG_SKIPCHUNK_pHYg
  470. {MNG_FN_GETCHUNK_PHYG, "getchunk_phyg"},
  471. #endif
  472. #ifdef MNG_INCLUDE_JNG
  473. {MNG_FN_GETCHUNK_JHDR, "getchunk_jhdr"},
  474. {MNG_FN_GETCHUNK_JDAT, "getchunk_jdat"},
  475. {MNG_FN_GETCHUNK_JSEP, "getchunk_jsep"},
  476. #endif
  477. #ifndef MNG_NO_DELTA_PNG
  478. {MNG_FN_GETCHUNK_DHDR, "getchunk_dhdr"},
  479. {MNG_FN_GETCHUNK_PROM, "getchunk_prom"},
  480. {MNG_FN_GETCHUNK_IPNG, "getchunk_ipng"},
  481. {MNG_FN_GETCHUNK_PPLT, "getchunk_pplt"},
  482. #ifdef MNG_INCLUDE_JNG
  483. {MNG_FN_GETCHUNK_IJNG, "getchunk_ijng"},
  484. #endif
  485. #ifndef MNG_SKIPCHUNK_DROP
  486. {MNG_FN_GETCHUNK_DROP, "getchunk_drop"},
  487. #endif
  488. #ifndef MNG_SKIPCHUNK_DBYK
  489. {MNG_FN_GETCHUNK_DBYK, "getchunk_dbyk"},
  490. #endif
  491. #ifndef MNG_SKIPCHUNK_ORDR
  492. {MNG_FN_GETCHUNK_ORDR, "getchunk_ordr"},
  493. #endif
  494. #endif
  495. {MNG_FN_GETCHUNK_UNKNOWN, "getchunk_unknown"},
  496. {MNG_FN_GETCHUNK_MAGN, "getchunk_magn"},
  497. #ifdef MNG_INCLUDE_JNG
  498. {MNG_FN_GETCHUNK_JDAA, "getchunk_jdaa"},
  499. #endif
  500. #ifndef MNG_SKIPCHUNK_evNT
  501. {MNG_FN_GETCHUNK_EVNT, "getchunk_evnt"},
  502. #endif
  503. #ifdef MNG_INCLUDE_MPNG_PROPOSAL
  504. {MNG_FN_GETCHUNK_MPNG, "getchunk_mpng"},
  505. #endif
  506. #ifndef MNG_SKIPCHUNK_PAST
  507. {MNG_FN_GETCHUNK_PAST_SRC, "getchunk_past_src"},
  508. #endif
  509. #ifndef MNG_SKIPCHUNK_SAVE
  510. {MNG_FN_GETCHUNK_SAVE_ENTRY, "getchunk_save_entry"},
  511. #endif
  512. #ifndef MNG_NO_DELTA_PNG
  513. {MNG_FN_GETCHUNK_PPLT_ENTRY, "getchunk_pplt_entry"},
  514. {MNG_FN_GETCHUNK_ORDR_ENTRY, "getchunk_ordr_entry"},
  515. #endif
  516. #ifndef MNG_SKIPCHUNK_evNT
  517. {MNG_FN_GETCHUNK_EVNT_ENTRY, "getchunk_evnt_entry"},
  518. #endif
  519. #ifdef MNG_INCLUDE_MPNG_PROPOSAL
  520. {MNG_FN_GETCHUNK_MPNG_FRAME, "getchunk_mpng_frame"},
  521. #endif
  522. {MNG_FN_PUTCHUNK_IHDR, "putchunk_ihdr"},
  523. {MNG_FN_PUTCHUNK_PLTE, "putchunk_plte"},
  524. {MNG_FN_PUTCHUNK_IDAT, "putchunk_idat"},
  525. {MNG_FN_PUTCHUNK_IEND, "putchunk_iend"},
  526. {MNG_FN_PUTCHUNK_TRNS, "putchunk_trns"},
  527. #ifndef MNG_SKIPCHUNK_gAMA
  528. {MNG_FN_PUTCHUNK_GAMA, "putchunk_gama"},
  529. #endif
  530. #ifndef MNG_SKIPCHUNK_cHRM
  531. {MNG_FN_PUTCHUNK_CHRM, "putchunk_chrm"},
  532. #endif
  533. #ifndef MNG_SKIPCHUNK_sRGB
  534. {MNG_FN_PUTCHUNK_SRGB, "putchunk_srgb"},
  535. #endif
  536. #ifndef MNG_SKIPCHUNK_iCCP
  537. {MNG_FN_PUTCHUNK_ICCP, "putchunk_iccp"},
  538. #endif
  539. #ifndef MNG_SKIPCHUNK_tEXt
  540. {MNG_FN_PUTCHUNK_TEXT, "putchunk_text"},
  541. #endif
  542. #ifndef MNG_SKIPCHUNK_zTXt
  543. {MNG_FN_PUTCHUNK_ZTXT, "putchunk_ztxt"},
  544. #endif
  545. #ifndef MNG_SKIPCHUNK_iTXt
  546. {MNG_FN_PUTCHUNK_ITXT, "putchunk_itxt"},
  547. #endif
  548. #ifndef MNG_SKIPCHUNK_bKGD
  549. {MNG_FN_PUTCHUNK_BKGD, "putchunk_bkgd"},
  550. #endif
  551. #ifndef MNG_SKIPCHUNK_pHYs
  552. {MNG_FN_PUTCHUNK_PHYS, "putchunk_phys"},
  553. #endif
  554. #ifndef MNG_SKIPCHUNK_sBIT
  555. {MNG_FN_PUTCHUNK_SBIT, "putchunk_sbit"},
  556. #endif
  557. #ifndef MNG_SKIPCHUNK_sPLT
  558. {MNG_FN_PUTCHUNK_SPLT, "putchunk_splt"},
  559. #endif
  560. #ifndef MNG_SKIPCHUNK_hIST
  561. {MNG_FN_PUTCHUNK_HIST, "putchunk_hist"},
  562. #endif
  563. #ifndef MNG_SKIPCHUNK_tIME
  564. {MNG_FN_PUTCHUNK_TIME, "putchunk_time"},
  565. #endif
  566. {MNG_FN_PUTCHUNK_MHDR, "putchunk_mhdr"},
  567. {MNG_FN_PUTCHUNK_MEND, "putchunk_mend"},
  568. {MNG_FN_PUTCHUNK_LOOP, "putchunk_loop"},
  569. {MNG_FN_PUTCHUNK_ENDL, "putchunk_endl"},
  570. {MNG_FN_PUTCHUNK_DEFI, "putchunk_defi"},
  571. {MNG_FN_PUTCHUNK_BASI, "putchunk_basi"},
  572. {MNG_FN_PUTCHUNK_CLON, "putchunk_clon"},
  573. #ifndef MNG_SKIPCHUNK_PAST
  574. {MNG_FN_PUTCHUNK_PAST, "putchunk_past"},
  575. #endif
  576. {MNG_FN_PUTCHUNK_DISC, "putchunk_disc"},
  577. {MNG_FN_PUTCHUNK_BACK, "putchunk_back"},
  578. {MNG_FN_PUTCHUNK_FRAM, "putchunk_fram"},
  579. {MNG_FN_PUTCHUNK_MOVE, "putchunk_move"},
  580. {MNG_FN_PUTCHUNK_CLIP, "putchunk_clip"},
  581. {MNG_FN_PUTCHUNK_SHOW, "putchunk_show"},
  582. {MNG_FN_PUTCHUNK_TERM, "putchunk_term"},
  583. #ifndef MNG_SKIPCHUNK_SAVE
  584. {MNG_FN_PUTCHUNK_SAVE, "putchunk_save"},
  585. #endif
  586. #ifndef MNG_SKIPCHUNK_SEEK
  587. {MNG_FN_PUTCHUNK_SEEK, "putchunk_seek"},
  588. #endif
  589. #ifndef MNG_SKIPCHUNK_eXPI
  590. {MNG_FN_PUTCHUNK_EXPI, "putchunk_expi"},
  591. #endif
  592. #ifndef MNG_SKIPCHUNK_fPRI
  593. {MNG_FN_PUTCHUNK_FPRI, "putchunk_fpri"},
  594. #endif
  595. #ifndef MNG_SKIPCHUNK_nEED
  596. {MNG_FN_PUTCHUNK_NEED, "putchunk_need"},
  597. #endif
  598. #ifndef MNG_SKIPCHUNK_pHYg
  599. {MNG_FN_PUTCHUNK_PHYG, "putchunk_phyg"},
  600. #endif
  601. #ifdef MNG_INCLUDE_JNG
  602. {MNG_FN_PUTCHUNK_JHDR, "putchunk_jhdr"},
  603. {MNG_FN_PUTCHUNK_JDAT, "putchunk_jdat"},
  604. {MNG_FN_PUTCHUNK_JSEP, "putchunk_jsep"},
  605. #endif
  606. #ifndef MNG_NO_DELTA_PNG
  607. {MNG_FN_PUTCHUNK_DHDR, "putchunk_dhdr"},
  608. {MNG_FN_PUTCHUNK_PROM, "putchunk_prom"},
  609. #ifdef MNG_INCLUDE_JNG
  610. {MNG_FN_PUTCHUNK_IPNG, "putchunk_ipng"},
  611. #endif
  612. {MNG_FN_PUTCHUNK_PPLT, "putchunk_pplt"},
  613. {MNG_FN_PUTCHUNK_IJNG, "putchunk_ijng"},
  614. #ifndef MNG_SKIPCHUNK_DROP
  615. {MNG_FN_PUTCHUNK_DROP, "putchunk_drop"},
  616. #endif
  617. #ifndef MNG_SKIPCHUNK_DBYK
  618. {MNG_FN_PUTCHUNK_DBYK, "putchunk_dbyk"},
  619. #endif
  620. #ifndef MNG_SKIPCHUNK_ORDR
  621. {MNG_FN_PUTCHUNK_ORDR, "putchunk_ordr"},
  622. #endif
  623. #endif
  624. {MNG_FN_PUTCHUNK_UNKNOWN, "putchunk_unknown"},
  625. {MNG_FN_PUTCHUNK_MAGN, "putchunk_magn"},
  626. {MNG_FN_PUTCHUNK_JDAA, "putchunk_jdaa"},
  627. #ifndef MNG_SKIPCHUNK_evNT
  628. {MNG_FN_PUTCHUNK_EVNT, "putchunk_evnt"},
  629. #endif
  630. #ifdef MNG_INCLUDE_MPNG_PROPOSAL
  631. {MNG_FN_PUTCHUNK_MPNG, "putchunk_mpng"},
  632. #endif
  633. #ifndef MNG_SKIPCHUNK_PAST
  634. {MNG_FN_PUTCHUNK_PAST_SRC, "putchunk_past_src"},
  635. #endif
  636. #ifndef MNG_SKIPCHUNK_SAVE
  637. {MNG_FN_PUTCHUNK_SAVE_ENTRY, "putchunk_save_entry"},
  638. #endif
  639. #ifndef MNG_NO_DELTA_PNG
  640. {MNG_FN_PUTCHUNK_PPLT_ENTRY, "putchunk_pplt_entry"},
  641. #ifndef MNG_SKIPCHUNK_ORDR
  642. {MNG_FN_PUTCHUNK_ORDR_ENTRY, "putchunk_ordr_entry"},
  643. #endif
  644. #endif
  645. #ifndef MNG_SKIPCHUNK_evNT
  646. {MNG_FN_PUTCHUNK_EVNT_ENTRY, "putchunk_evnt_entry"},
  647. #endif
  648. #ifdef MNG_INCLUDE_MPNG_PROPOSAL
  649. {MNG_FN_PUTCHUNK_MPNG_FRAME, "putchunk_mpng_frame"},
  650. #endif
  651. {MNG_FN_GETIMGDATA_SEQ, "getimgdata_seq"},
  652. {MNG_FN_GETIMGDATA_CHUNKSEQ, "getimgdata_chunkseq"},
  653. {MNG_FN_GETIMGDATA_CHUNK, "getimgdata_chunk"},
  654. {MNG_FN_PUTIMGDATA_IHDR, "putimgdata_ihdr"},
  655. #ifdef MNG_INCLUDE_JNG
  656. {MNG_FN_PUTIMGDATA_JHDR, "putimgdata_jhdr"},
  657. {MNG_FN_PUTIMGDATA_BASI, "putimgdata_basi"},
  658. {MNG_FN_PUTIMGDATA_DHDR, "putimgdata_dhdr"},
  659. #endif
  660. {MNG_FN_UPDATEMNGHEADER, "updatemngheader"},
  661. {MNG_FN_UPDATEMNGSIMPLICITY, "updatemngsimplicity"},
  662. {MNG_FN_PROCESS_RAW_CHUNK, "process_raw_chunk"},
  663. {MNG_FN_READ_GRAPHIC, "read_graphic"},
  664. {MNG_FN_DROP_CHUNKS, "drop_chunks"},
  665. {MNG_FN_PROCESS_ERROR, "process_error"},
  666. {MNG_FN_CLEAR_CMS, "clear_cms"},
  667. {MNG_FN_DROP_OBJECTS, "drop_objects"},
  668. {MNG_FN_READ_CHUNK, "read_chunk"},
  669. {MNG_FN_LOAD_BKGDLAYER, "load_bkgdlayer"},
  670. {MNG_FN_NEXT_FRAME, "next_frame"},
  671. {MNG_FN_NEXT_LAYER, "next_layer"},
  672. {MNG_FN_INTERFRAME_DELAY, "interframe_delay"},
  673. {MNG_FN_DISPLAY_IMAGE, "display_image"},
  674. {MNG_FN_DROP_IMGOBJECTS, "drop_imgobjects"},
  675. {MNG_FN_DROP_ANIOBJECTS, "drop_aniobjects"},
  676. {MNG_FN_INFLATE_BUFFER, "inflate_buffer"},
  677. {MNG_FN_DEFLATE_BUFFER, "deflate_buffer"},
  678. {MNG_FN_WRITE_RAW_CHUNK, "write_raw_chunk"},
  679. {MNG_FN_WRITE_GRAPHIC, "write_graphic"},
  680. {MNG_FN_SAVE_STATE, "save_state"},
  681. {MNG_FN_RESTORE_STATE, "restore_state"},
  682. {MNG_FN_DROP_SAVEDATA, "drop_savedata"},
  683. #ifndef MNG_NO_DELTA_PNG
  684. {MNG_FN_EXECUTE_DELTA_IMAGE, "execute_delta_image"},
  685. #endif
  686. {MNG_FN_PROCESS_DISPLAY, "process_display"},
  687. {MNG_FN_CLEAR_CANVAS, "clear_canvas"},
  688. {MNG_FN_READ_DATABUFFER, "read_databuffer"},
  689. {MNG_FN_STORE_ERROR, "store_error"},
  690. {MNG_FN_DROP_INVALID_OBJECTS, "drop_invalid_objects"},
  691. {MNG_FN_RELEASE_PUSHDATA, "release_pushdata"},
  692. {MNG_FN_READ_DATA, "read_data"},
  693. {MNG_FN_READ_CHUNK_CRC, "read_chunk_crc"},
  694. {MNG_FN_RELEASE_PUSHCHUNK, "release_pushchunk"},
  695. {MNG_FN_DISPLAY_RGB8, "display_rgb8"},
  696. {MNG_FN_DISPLAY_RGBA8, "display_rgba8"},
  697. {MNG_FN_DISPLAY_ARGB8, "display_argb8"},
  698. {MNG_FN_DISPLAY_BGR8, "display_bgr8"},
  699. {MNG_FN_DISPLAY_BGRA8, "display_bgra8"},
  700. {MNG_FN_DISPLAY_ABGR8, "display_abgr8"},
  701. {MNG_FN_DISPLAY_RGB16, "display_rgb16"},
  702. {MNG_FN_DISPLAY_RGBA16, "display_rgba16"},
  703. {MNG_FN_DISPLAY_ARGB16, "display_argb16"},
  704. {MNG_FN_DISPLAY_BGR16, "display_bgr16"},
  705. {MNG_FN_DISPLAY_BGRA16, "display_bgra16"},
  706. {MNG_FN_DISPLAY_ABGR16, "display_abgr16"},
  707. {MNG_FN_DISPLAY_INDEX8, "display_index8"},
  708. {MNG_FN_DISPLAY_INDEXA8, "display_indexa8"},
  709. {MNG_FN_DISPLAY_AINDEX8, "display_aindex8"},
  710. {MNG_FN_DISPLAY_GRAY8, "display_gray8"},
  711. {MNG_FN_DISPLAY_GRAY16, "display_gray16"},
  712. {MNG_FN_DISPLAY_GRAYA8, "display_graya8"},
  713. {MNG_FN_DISPLAY_GRAYA16, "display_graya16"},
  714. {MNG_FN_DISPLAY_AGRAY8, "display_agray8"},
  715. {MNG_FN_DISPLAY_AGRAY16, "display_agray16"},
  716. {MNG_FN_DISPLAY_DX15, "display_dx15"},
  717. {MNG_FN_DISPLAY_DX16, "display_dx16"},
  718. {MNG_FN_DISPLAY_RGB8_A8, "display_rgb8_a8"},
  719. {MNG_FN_DISPLAY_BGRA8PM, "display_bgra8_pm"},
  720. {MNG_FN_DISPLAY_BGRX8, "display_bgrx8"},
  721. {MNG_FN_DISPLAY_RGB565, "display_rgb565"},
  722. {MNG_FN_DISPLAY_RGBA565, "display_rgba565"},
  723. {MNG_FN_DISPLAY_BGR565, "display_bgr565"},
  724. {MNG_FN_DISPLAY_BGRA565, "display_bgra565"},
  725. {MNG_FN_DISPLAY_RGBA8_PM, "display_rgba8_pm"},
  726. {MNG_FN_DISPLAY_ARGB8_PM, "display_argb8_pm"},
  727. {MNG_FN_DISPLAY_ABGR8_PM, "display_abgr8_pm"},
  728. {MNG_FN_DISPLAY_BGR565_A8, "display_bgr565_a8"},
  729. {MNG_FN_INIT_FULL_CMS, "init_full_cms"},
  730. {MNG_FN_CORRECT_FULL_CMS, "correct_full_cms"},
  731. {MNG_FN_INIT_GAMMA_ONLY, "init_gamma_only"},
  732. {MNG_FN_CORRECT_GAMMA_ONLY, "correct_gamma_only"},
  733. {MNG_FN_CORRECT_APP_CMS, "correct_app_cms"},
  734. {MNG_FN_INIT_FULL_CMS_OBJ, "init_full_cms_obj"},
  735. {MNG_FN_INIT_GAMMA_ONLY_OBJ, "init_gamma_only_obj"},
  736. {MNG_FN_INIT_APP_CMS, "init_app_cms"},
  737. {MNG_FN_INIT_APP_CMS_OBJ, "init_app_cms_obj"},
  738. {MNG_FN_PROCESS_G1, "process_g1"},
  739. {MNG_FN_PROCESS_G2, "process_g2"},
  740. {MNG_FN_PROCESS_G4, "process_g4"},
  741. {MNG_FN_PROCESS_G8, "process_g8"},
  742. {MNG_FN_PROCESS_G16, "process_g16"},
  743. {MNG_FN_PROCESS_RGB8, "process_rgb8"},
  744. {MNG_FN_PROCESS_RGB16, "process_rgb16"},
  745. {MNG_FN_PROCESS_IDX1, "process_idx1"},
  746. {MNG_FN_PROCESS_IDX2, "process_idx2"},
  747. {MNG_FN_PROCESS_IDX4, "process_idx4"},
  748. {MNG_FN_PROCESS_IDX8, "process_idx8"},
  749. {MNG_FN_PROCESS_GA8, "process_ga8"},
  750. {MNG_FN_PROCESS_GA16, "process_ga16"},
  751. {MNG_FN_PROCESS_RGBA8, "process_rgba8"},
  752. {MNG_FN_PROCESS_RGBA16, "process_rgba16"},
  753. {MNG_FN_INIT_G1_I, "init_g1_i"},
  754. {MNG_FN_INIT_G2_I, "init_g2_i"},
  755. {MNG_FN_INIT_G4_I, "init_g4_i"},
  756. {MNG_FN_INIT_G8_I, "init_g8_i"},
  757. {MNG_FN_INIT_G16_I, "init_g16_i"},
  758. {MNG_FN_INIT_RGB8_I, "init_rgb8_i"},
  759. {MNG_FN_INIT_RGB16_I, "init_rgb16_i"},
  760. {MNG_FN_INIT_IDX1_I, "init_idx1_i"},
  761. {MNG_FN_INIT_IDX2_I, "init_idx2_i"},
  762. {MNG_FN_INIT_IDX4_I, "init_idx4_i"},
  763. {MNG_FN_INIT_IDX8_I, "init_idx8_i"},
  764. {MNG_FN_INIT_GA8_I, "init_ga8_i"},
  765. {MNG_FN_INIT_GA16_I, "init_ga16_i"},
  766. {MNG_FN_INIT_RGBA8_I, "init_rgba8_i"},
  767. {MNG_FN_INIT_RGBA16_I, "init_rgba16_i"},
  768. #ifndef MNG_OPTIMIZE_FOOTPRINT_INIT
  769. {MNG_FN_INIT_G1_NI, "init_g1_ni"},
  770. {MNG_FN_INIT_G2_NI, "init_g2_ni"},
  771. {MNG_FN_INIT_G4_NI, "init_g4_ni"},
  772. {MNG_FN_INIT_G8_NI, "init_g8_ni"},
  773. {MNG_FN_INIT_G16_NI, "init_g16_ni"},
  774. {MNG_FN_INIT_RGB8_NI, "init_rgb8_ni"},
  775. {MNG_FN_INIT_RGB16_NI, "init_rgb16_ni"},
  776. {MNG_FN_INIT_IDX1_NI, "init_idx1_ni"},
  777. {MNG_FN_INIT_IDX2_NI, "init_idx2_ni"},
  778. {MNG_FN_INIT_IDX4_NI, "init_idx4_ni"},
  779. {MNG_FN_INIT_IDX8_NI, "init_idx8_ni"},
  780. {MNG_FN_INIT_GA8_NI, "init_ga8_ni"},
  781. {MNG_FN_INIT_GA16_NI, "init_ga16_ni"},
  782. {MNG_FN_INIT_RGBA8_NI, "init_rgba8_ni"},
  783. {MNG_FN_INIT_RGBA16_NI, "init_rgba16_ni"},
  784. #endif
  785. {MNG_FN_INIT_ROWPROC, "init_rowproc"},
  786. {MNG_FN_NEXT_ROW, "next_row"},
  787. {MNG_FN_CLEANUP_ROWPROC, "cleanup_rowproc"},
  788. {MNG_FN_FILTER_A_ROW, "filter_a_row"},
  789. {MNG_FN_FILTER_SUB, "filter_sub"},
  790. {MNG_FN_FILTER_UP, "filter_up"},
  791. {MNG_FN_FILTER_AVERAGE, "filter_average"},
  792. {MNG_FN_FILTER_PAETH, "filter_paeth"},
  793. {MNG_FN_INIT_ROWDIFFERING, "init_rowdiffering"},
  794. {MNG_FN_DIFFER_G1, "differ_g1"},
  795. {MNG_FN_DIFFER_G2, "differ_g2"},
  796. {MNG_FN_DIFFER_G4, "differ_g4"},
  797. {MNG_FN_DIFFER_G8, "differ_g8"},
  798. {MNG_FN_DIFFER_G16, "differ_g16"},
  799. {MNG_FN_DIFFER_RGB8, "differ_rgb8"},
  800. {MNG_FN_DIFFER_RGB16, "differ_rgb16"},
  801. {MNG_FN_DIFFER_IDX1, "differ_idx1"},
  802. {MNG_FN_DIFFER_IDX2, "differ_idx2"},
  803. {MNG_FN_DIFFER_IDX4, "differ_idx4"},
  804. {MNG_FN_DIFFER_IDX8, "differ_idx8"},
  805. {MNG_FN_DIFFER_GA8, "differ_ga8"},
  806. {MNG_FN_DIFFER_GA16, "differ_ga16"},
  807. {MNG_FN_DIFFER_RGBA8, "differ_rgba8"},
  808. {MNG_FN_DIFFER_RGBA16, "differ_rgba16"},
  809. {MNG_FN_CREATE_IMGDATAOBJECT, "create_imgdataobject"},
  810. {MNG_FN_FREE_IMGDATAOBJECT, "free_imgdataobject"},
  811. {MNG_FN_CLONE_IMGDATAOBJECT, "clone_imgdataobject"},
  812. {MNG_FN_CREATE_IMGOBJECT, "create_imgobject"},
  813. {MNG_FN_FREE_IMGOBJECT, "free_imgobject"},
  814. {MNG_FN_FIND_IMGOBJECT, "find_imgobject"},
  815. {MNG_FN_CLONE_IMGOBJECT, "clone_imgobject"},
  816. {MNG_FN_RESET_OBJECTDETAILS, "reset_objectdetails"},
  817. {MNG_FN_RENUM_IMGOBJECT, "renum_imgobject"},
  818. {MNG_FN_PROMOTE_IMGOBJECT, "promote_imgobject"},
  819. {MNG_FN_MAGNIFY_IMGOBJECT, "magnify_imgobject"},
  820. {MNG_FN_COLORCORRECT_OBJECT, "colorcorrect_object"},
  821. {MNG_FN_STORE_G1, "store_g1"},
  822. {MNG_FN_STORE_G2, "store_g2"},
  823. {MNG_FN_STORE_G4, "store_g4"},
  824. {MNG_FN_STORE_G8, "store_g8"},
  825. {MNG_FN_STORE_G16, "store_g16"},
  826. {MNG_FN_STORE_RGB8, "store_rgb8"},
  827. {MNG_FN_STORE_RGB16, "store_rgb16"},
  828. {MNG_FN_STORE_IDX1, "store_idx1"},
  829. {MNG_FN_STORE_IDX2, "store_idx2"},
  830. {MNG_FN_STORE_IDX4, "store_idx4"},
  831. {MNG_FN_STORE_IDX8, "store_idx8"},
  832. {MNG_FN_STORE_GA8, "store_ga8"},
  833. {MNG_FN_STORE_GA16, "store_ga16"},
  834. {MNG_FN_STORE_RGBA8, "store_rgba8"},
  835. {MNG_FN_STORE_RGBA16, "store_rgba16"},
  836. {MNG_FN_RETRIEVE_G8, "retrieve_g8"},
  837. {MNG_FN_RETRIEVE_G16, "retrieve_g16"},
  838. {MNG_FN_RETRIEVE_RGB8, "retrieve_rgb8"},
  839. {MNG_FN_RETRIEVE_RGB16, "retrieve_rgb16"},
  840. {MNG_FN_RETRIEVE_IDX8, "retrieve_idx8"},
  841. {MNG_FN_RETRIEVE_GA8, "retrieve_ga8"},
  842. {MNG_FN_RETRIEVE_GA16, "retrieve_ga16"},
  843. {MNG_FN_RETRIEVE_RGBA8, "retrieve_rgba8"},
  844. {MNG_FN_RETRIEVE_RGBA16, "retrieve_rgba16"},
  845. #ifndef MNG_NO_DELTA_PNG
  846. {MNG_FN_DELTA_G1, "delta_g1"},
  847. {MNG_FN_DELTA_G2, "delta_g2"},
  848. {MNG_FN_DELTA_G4, "delta_g4"},
  849. {MNG_FN_DELTA_G8, "delta_g8"},
  850. {MNG_FN_DELTA_G16, "delta_g16"},
  851. {MNG_FN_DELTA_RGB8, "delta_rgb8"},
  852. {MNG_FN_DELTA_RGB16, "delta_rgb16"},
  853. {MNG_FN_DELTA_IDX1, "delta_idx1"},
  854. {MNG_FN_DELTA_IDX2, "delta_idx2"},
  855. {MNG_FN_DELTA_IDX4, "delta_idx4"},
  856. {MNG_FN_DELTA_IDX8, "delta_idx8"},
  857. {MNG_FN_DELTA_GA8, "delta_ga8"},
  858. {MNG_FN_DELTA_GA16, "delta_ga16"},
  859. {MNG_FN_DELTA_RGBA8, "delta_rgba8"},
  860. {MNG_FN_DELTA_RGBA16, "delta_rgba16"},
  861. #endif
  862. {MNG_FN_CREATE_ANI_LOOP, "create_ani_loop"},
  863. {MNG_FN_CREATE_ANI_ENDL, "create_ani_endl"},
  864. {MNG_FN_CREATE_ANI_DEFI, "create_ani_defi"},
  865. {MNG_FN_CREATE_ANI_BASI, "create_ani_basi"},
  866. {MNG_FN_CREATE_ANI_CLON, "create_ani_clon"},
  867. #ifndef MNG_SKIPCHUNK_PAST
  868. {MNG_FN_CREATE_ANI_PAST, "create_ani_past"},
  869. #endif
  870. {MNG_FN_CREATE_ANI_DISC, "create_ani_disc"},
  871. {MNG_FN_CREATE_ANI_BACK, "create_ani_back"},
  872. {MNG_FN_CREATE_ANI_FRAM, "create_ani_fram"},
  873. {MNG_FN_CREATE_ANI_MOVE, "create_ani_move"},
  874. {MNG_FN_CREATE_ANI_CLIP, "create_ani_clip"},
  875. {MNG_FN_CREATE_ANI_SHOW, "create_ani_show"},
  876. {MNG_FN_CREATE_ANI_TERM, "create_ani_term"},
  877. {MNG_FN_CREATE_ANI_SAVE, "create_ani_save"},
  878. {MNG_FN_CREATE_ANI_SEEK, "create_ani_seek"},
  879. {MNG_FN_CREATE_ANI_GAMA, "create_ani_gama"},
  880. {MNG_FN_CREATE_ANI_CHRM, "create_ani_chrm"},
  881. {MNG_FN_CREATE_ANI_SRGB, "create_ani_srgb"},
  882. {MNG_FN_CREATE_ANI_ICCP, "create_ani_iccp"},
  883. {MNG_FN_CREATE_ANI_PLTE, "create_ani_plte"},
  884. {MNG_FN_CREATE_ANI_TRNS, "create_ani_trns"},
  885. {MNG_FN_CREATE_ANI_BKGD, "create_ani_bkgd"},
  886. #ifndef MNG_NO_DELTA_PNG
  887. {MNG_FN_CREATE_ANI_DHDR, "create_ani_dhdr"},
  888. {MNG_FN_CREATE_ANI_PROM, "create_ani_prom"},
  889. #ifdef MNG_INCLUDE_JNG
  890. {MNG_FN_CREATE_ANI_IPNG, "create_ani_ipng"},
  891. #endif
  892. {MNG_FN_CREATE_ANI_IJNG, "create_ani_ijng"},
  893. {MNG_FN_CREATE_ANI_PPLT, "create_ani_pplt"},
  894. #endif
  895. {MNG_FN_CREATE_ANI_MAGN, "create_ani_magn"},
  896. {MNG_FN_CREATE_ANI_IMAGE, "create_ani_image"},
  897. {MNG_FN_CREATE_EVENT, "create_event"},
  898. {MNG_FN_FREE_ANI_LOOP, "free_ani_loop"},
  899. {MNG_FN_FREE_ANI_ENDL, "free_ani_endl"},
  900. {MNG_FN_FREE_ANI_DEFI, "free_ani_defi"},
  901. {MNG_FN_FREE_ANI_BASI, "free_ani_basi"},
  902. {MNG_FN_FREE_ANI_CLON, "free_ani_clon"},
  903. #ifndef MNG_SKIPCHUNK_PAST
  904. {MNG_FN_FREE_ANI_PAST, "free_ani_past"},
  905. #endif
  906. {MNG_FN_FREE_ANI_DISC, "free_ani_disc"},
  907. {MNG_FN_FREE_ANI_BACK, "free_ani_back"},
  908. {MNG_FN_FREE_ANI_FRAM, "free_ani_fram"},
  909. {MNG_FN_FREE_ANI_MOVE, "free_ani_move"},
  910. {MNG_FN_FREE_ANI_CLIP, "free_ani_clip"},
  911. {MNG_FN_FREE_ANI_SHOW, "free_ani_show"},
  912. {MNG_FN_FREE_ANI_TERM, "free_ani_term"},
  913. {MNG_FN_FREE_ANI_SAVE, "free_ani_save"},
  914. {MNG_FN_FREE_ANI_SEEK, "free_ani_seek"},
  915. {MNG_FN_FREE_ANI_GAMA, "free_ani_gama"},
  916. {MNG_FN_FREE_ANI_CHRM, "free_ani_chrm"},
  917. {MNG_FN_FREE_ANI_SRGB, "free_ani_srgb"},
  918. {MNG_FN_FREE_ANI_ICCP, "free_ani_iccp"},
  919. {MNG_FN_FREE_ANI_PLTE, "free_ani_plte"},
  920. {MNG_FN_FREE_ANI_TRNS, "free_ani_trns"},
  921. {MNG_FN_FREE_ANI_BKGD, "free_ani_bkgd"},
  922. #ifndef MNG_NO_DELTA_PNG
  923. {MNG_FN_FREE_ANI_DHDR, "free_ani_dhdr"},
  924. {MNG_FN_FREE_ANI_PROM, "free_ani_prom"},
  925. #ifdef MNG_INCLUDE_JNG
  926. {MNG_FN_FREE_ANI_IPNG, "free_ani_ipng"},
  927. #endif
  928. {MNG_FN_FREE_ANI_IJNG, "free_ani_ijng"},
  929. {MNG_FN_FREE_ANI_PPLT, "free_ani_pplt"},
  930. #endif
  931. {MNG_FN_FREE_ANI_MAGN, "free_ani_magn"},
  932. {MNG_FN_FREE_ANI_IMAGE, "free_ani_image"},
  933. {MNG_FN_FREE_EVENT, "free_event"},
  934. {MNG_FN_PROCESS_ANI_LOOP, "process_ani_loop"},
  935. {MNG_FN_PROCESS_ANI_ENDL, "process_ani_endl"},
  936. {MNG_FN_PROCESS_ANI_DEFI, "process_ani_defi"},
  937. {MNG_FN_PROCESS_ANI_BASI, "process_ani_basi"},
  938. {MNG_FN_PROCESS_ANI_CLON, "process_ani_clon"},
  939. #ifndef MNG_SKIPCHUNK_PAST
  940. {MNG_FN_PROCESS_ANI_PAST, "process_ani_past"},
  941. #endif
  942. {MNG_FN_PROCESS_ANI_DISC, "process_ani_disc"},
  943. {MNG_FN_PROCESS_ANI_BACK, "process_ani_back"},
  944. {MNG_FN_PROCESS_ANI_FRAM, "process_ani_fram"},
  945. {MNG_FN_PROCESS_ANI_MOVE, "process_ani_move"},
  946. {MNG_FN_PROCESS_ANI_CLIP, "process_ani_clip"},
  947. {MNG_FN_PROCESS_ANI_SHOW, "process_ani_show"},
  948. {MNG_FN_PROCESS_ANI_TERM, "process_ani_term"},
  949. {MNG_FN_PROCESS_ANI_SAVE, "process_ani_save"},
  950. {MNG_FN_PROCESS_ANI_SEEK, "process_ani_seek"},
  951. {MNG_FN_PROCESS_ANI_GAMA, "process_ani_gama"},
  952. {MNG_FN_PROCESS_ANI_CHRM, "process_ani_chrm"},
  953. {MNG_FN_PROCESS_ANI_SRGB, "process_ani_srgb"},
  954. {MNG_FN_PROCESS_ANI_ICCP, "process_ani_iccp"},
  955. {MNG_FN_PROCESS_ANI_PLTE, "process_ani_plte"},
  956. {MNG_FN_PROCESS_ANI_TRNS, "process_ani_trns"},
  957. {MNG_FN_PROCESS_ANI_BKGD, "process_ani_bkgd"},
  958. #ifndef MNG_NO_DELTA_PNG
  959. {MNG_FN_PROCESS_ANI_DHDR, "process_ani_dhdr"},
  960. {MNG_FN_PROCESS_ANI_PROM, "process_ani_prom"},
  961. #ifdef MNG_INCLUDE_JNG
  962. {MNG_FN_PROCESS_ANI_IPNG, "process_ani_ipng"},
  963. #endif
  964. {MNG_FN_PROCESS_ANI_IJNG, "process_ani_ijng"},
  965. {MNG_FN_PROCESS_ANI_PPLT, "process_ani_pplt"},
  966. #endif
  967. {MNG_FN_PROCESS_ANI_MAGN, "process_ani_magn"},
  968. {MNG_FN_PROCESS_ANI_IMAGE, "process_ani_image"},
  969. {MNG_FN_PROCESS_EVENT, "process_event"},
  970. {MNG_FN_RESTORE_BACKIMAGE, "restore_backimage"},
  971. {MNG_FN_RESTORE_BACKCOLOR, "restore_backcolor"},
  972. {MNG_FN_RESTORE_BGCOLOR, "restore_bgcolor"},
  973. {MNG_FN_RESTORE_RGB8, "restore_rgb8"},
  974. {MNG_FN_RESTORE_BGR8, "restore_bgr8"},
  975. {MNG_FN_RESTORE_BKGD, "restore_bkgd"},
  976. {MNG_FN_RESTORE_BGRX8, "restore_bgrx8"},
  977. {MNG_FN_RESTORE_RGB565, "restore_rgb565"},
  978. {MNG_FN_INIT_IHDR, "init_ihdr"},
  979. {MNG_FN_INIT_PLTE, "init_plte"},
  980. {MNG_FN_INIT_IDAT, "init_idat"},
  981. {MNG_FN_INIT_IEND, "init_iend"},
  982. {MNG_FN_INIT_TRNS, "init_trns"},
  983. {MNG_FN_INIT_GAMA, "init_gama"},
  984. {MNG_FN_INIT_CHRM, "init_chrm"},
  985. {MNG_FN_INIT_SRGB, "init_srgb"},
  986. {MNG_FN_INIT_ICCP, "init_iccp"},
  987. {MNG_FN_INIT_TEXT, "init_text"},
  988. {MNG_FN_INIT_ZTXT, "init_ztxt"},
  989. {MNG_FN_INIT_ITXT, "init_itxt"},
  990. {MNG_FN_INIT_BKGD, "init_bkgd"},
  991. {MNG_FN_INIT_PHYS, "init_phys"},
  992. {MNG_FN_INIT_SBIT, "init_sbit"},
  993. {MNG_FN_INIT_SPLT, "init_splt"},
  994. {MNG_FN_INIT_HIST, "init_hist"},
  995. {MNG_FN_INIT_TIME, "init_time"},
  996. {MNG_FN_INIT_MHDR, "init_mhdr"},
  997. {MNG_FN_INIT_MEND, "init_mend"},
  998. {MNG_FN_INIT_LOOP, "init_loop"},
  999. {MNG_FN_INIT_ENDL, "init_endl"},
  1000. {MNG_FN_INIT_DEFI, "init_defi"},
  1001. {MNG_FN_INIT_BASI, "init_basi"},
  1002. {MNG_FN_INIT_CLON, "init_clon"},
  1003. #ifndef MNG_SKIPCHUNK_PAST
  1004. {MNG_FN_INIT_PAST, "init_past"},
  1005. #endif
  1006. {MNG_FN_INIT_DISC, "init_disc"},
  1007. {MNG_FN_INIT_BACK, "init_back"},
  1008. {MNG_FN_INIT_FRAM, "init_fram"},
  1009. {MNG_FN_INIT_MOVE, "init_move"},
  1010. {MNG_FN_INIT_CLIP, "init_clip"},
  1011. {MNG_FN_INIT_SHOW, "init_show"},
  1012. {MNG_FN_INIT_TERM, "init_term"},
  1013. {MNG_FN_INIT_SAVE, "init_save"},
  1014. {MNG_FN_INIT_SEEK, "init_seek"},
  1015. {MNG_FN_INIT_EXPI, "init_expi"},
  1016. {MNG_FN_INIT_FPRI, "init_fpri"},
  1017. {MNG_FN_INIT_NEED, "init_need"},
  1018. {MNG_FN_INIT_PHYG, "init_phyg"},
  1019. #ifndef MNG_NO_DELTA_PNG
  1020. {MNG_FN_INIT_JHDR, "init_jhdr"},
  1021. {MNG_FN_INIT_JDAT, "init_jdat"},
  1022. {MNG_FN_INIT_JSEP, "init_jsep"},
  1023. #endif
  1024. #ifndef MNG_NO_DELTA_PNG
  1025. {MNG_FN_INIT_DHDR, "init_dhdr"},
  1026. {MNG_FN_INIT_PROM, "init_prom"},
  1027. #ifdef MNG_INCLUDE_JNG
  1028. {MNG_FN_INIT_IPNG, "init_ipng"},
  1029. #endif
  1030. {MNG_FN_INIT_PPLT, "init_pplt"},
  1031. {MNG_FN_INIT_IJNG, "init_ijng"},
  1032. {MNG_FN_INIT_DROP, "init_drop"},
  1033. {MNG_FN_INIT_DBYK, "init_dbyk"},
  1034. {MNG_FN_INIT_ORDR, "init_ordr"},
  1035. #endif
  1036. {MNG_FN_INIT_UNKNOWN, "init_unknown"},
  1037. {MNG_FN_INIT_MAGN, "init_magn"},
  1038. {MNG_FN_INIT_JDAA, "init_jdaa"},
  1039. {MNG_FN_INIT_EVNT, "init_evnt"},
  1040. #ifdef MNG_INCLUDE_MPNG_PROPOSAL
  1041. {MNG_FN_INIT_MPNG, "init_mpng"},
  1042. #endif
  1043. {MNG_FN_ASSIGN_IHDR, "assign_ihdr"},
  1044. {MNG_FN_ASSIGN_PLTE, "assign_plte"},
  1045. {MNG_FN_ASSIGN_IDAT, "assign_idat"},
  1046. {MNG_FN_ASSIGN_IEND, "assign_iend"},
  1047. {MNG_FN_ASSIGN_TRNS, "assign_trns"},
  1048. {MNG_FN_ASSIGN_GAMA, "assign_gama"},
  1049. {MNG_FN_ASSIGN_CHRM, "assign_chrm"},
  1050. {MNG_FN_ASSIGN_SRGB, "assign_srgb"},
  1051. {MNG_FN_ASSIGN_ICCP, "assign_iccp"},
  1052. {MNG_FN_ASSIGN_TEXT, "assign_text"},
  1053. {MNG_FN_ASSIGN_ZTXT, "assign_ztxt"},
  1054. {MNG_FN_ASSIGN_ITXT, "assign_itxt"},
  1055. {MNG_FN_ASSIGN_BKGD, "assign_bkgd"},
  1056. {MNG_FN_ASSIGN_PHYS, "assign_phys"},
  1057. {MNG_FN_ASSIGN_SBIT, "assign_sbit"},
  1058. {MNG_FN_ASSIGN_SPLT, "assign_splt"},
  1059. {MNG_FN_ASSIGN_HIST, "assign_hist"},
  1060. {MNG_FN_ASSIGN_TIME, "assign_time"},
  1061. {MNG_FN_ASSIGN_MHDR, "assign_mhdr"},
  1062. {MNG_FN_ASSIGN_MEND, "assign_mend"},
  1063. {MNG_FN_ASSIGN_LOOP, "assign_loop"},
  1064. {MNG_FN_ASSIGN_ENDL, "assign_endl"},
  1065. {MNG_FN_ASSIGN_DEFI, "assign_defi"},
  1066. {MNG_FN_ASSIGN_BASI, "assign_basi"},
  1067. {MNG_FN_ASSIGN_CLON, "assign_clon"},
  1068. #ifndef MNG_SKIPCHUNK_PAST
  1069. {MNG_FN_ASSIGN_PAST, "assign_past"},
  1070. #endif
  1071. {MNG_FN_ASSIGN_DISC, "assign_disc"},
  1072. {MNG_FN_ASSIGN_BACK, "assign_back"},
  1073. {MNG_FN_ASSIGN_FRAM, "assign_fram"},
  1074. {MNG_FN_ASSIGN_MOVE, "assign_move"},
  1075. {MNG_FN_ASSIGN_CLIP, "assign_clip"},
  1076. {MNG_FN_ASSIGN_SHOW, "assign_show"},
  1077. {MNG_FN_ASSIGN_TERM, "assign_term"},
  1078. {MNG_FN_ASSIGN_SAVE, "assign_save"},
  1079. {MNG_FN_ASSIGN_SEEK, "assign_seek"},
  1080. {MNG_FN_ASSIGN_EXPI, "assign_expi"},
  1081. {MNG_FN_ASSIGN_FPRI, "assign_fpri"},
  1082. {MNG_FN_ASSIGN_NEED, "assign_need"},
  1083. {MNG_FN_ASSIGN_PHYG, "assign_phyg"},
  1084. #ifdef MNG_INCLUDE_JNG
  1085. {MNG_FN_ASSIGN_JHDR, "assign_jhdr"},
  1086. {MNG_FN_ASSIGN_JDAT, "assign_jdat"},
  1087. {MNG_FN_ASSIGN_JSEP, "assign_jsep"},
  1088. #endif
  1089. #ifndef MNG_NO_DELTA_PNG
  1090. {MNG_FN_ASSIGN_DHDR, "assign_dhdr"},
  1091. {MNG_FN_ASSIGN_PROM, "assign_prom"},
  1092. #ifdef MNG_INCLUDE_JNG
  1093. {MNG_FN_ASSIGN_IPNG, "assign_ipng"},
  1094. #endif
  1095. {MNG_FN_ASSIGN_PPLT, "assign_pplt"},
  1096. {MNG_FN_ASSIGN_IJNG, "assign_ijng"},
  1097. {MNG_FN_ASSIGN_DROP, "assign_drop"},
  1098. {MNG_FN_ASSIGN_DBYK, "assign_dbyk"},
  1099. {MNG_FN_ASSIGN_ORDR, "assign_ordr"},
  1100. #endif
  1101. {MNG_FN_ASSIGN_UNKNOWN, "assign_unknown"},
  1102. {MNG_FN_ASSIGN_MAGN, "assign_magn"},
  1103. {MNG_FN_ASSIGN_JDAA, "assign_jdaa"},
  1104. {MNG_FN_ASSIGN_EVNT, "assign_evnt"},
  1105. #ifdef MNG_INCLUDE_MPNG_PROPOSAL
  1106. {MNG_FN_ASSIGN_MPNG, "assign_mpng"},
  1107. #endif
  1108. {MNG_FN_FREE_IHDR, "free_ihdr"},
  1109. {MNG_FN_FREE_PLTE, "free_plte"},
  1110. {MNG_FN_FREE_IDAT, "free_idat"},
  1111. {MNG_FN_FREE_IEND, "free_iend"},
  1112. {MNG_FN_FREE_TRNS, "free_trns"},
  1113. {MNG_FN_FREE_GAMA, "free_gama"},
  1114. {MNG_FN_FREE_CHRM, "free_chrm"},
  1115. {MNG_FN_FREE_SRGB, "free_srgb"},
  1116. {MNG_FN_FREE_ICCP, "free_iccp"},
  1117. {MNG_FN_FREE_TEXT, "free_text"},
  1118. {MNG_FN_FREE_ZTXT, "free_ztxt"},
  1119. {MNG_FN_FREE_ITXT, "free_itxt"},
  1120. {MNG_FN_FREE_BKGD, "free_bkgd"},
  1121. {MNG_FN_FREE_PHYS, "free_phys"},
  1122. {MNG_FN_FREE_SBIT, "free_sbit"},
  1123. {MNG_FN_FREE_SPLT, "free_splt"},
  1124. {MNG_FN_FREE_HIST, "free_hist"},
  1125. {MNG_FN_FREE_TIME, "free_time"},
  1126. {MNG_FN_FREE_MHDR, "free_mhdr"},
  1127. {MNG_FN_FREE_MEND, "free_mend"},
  1128. {MNG_FN_FREE_LOOP, "free_loop"},
  1129. {MNG_FN_FREE_ENDL, "free_endl"},
  1130. {MNG_FN_FREE_DEFI, "free_defi"},
  1131. {MNG_FN_FREE_BASI, "free_basi"},
  1132. {MNG_FN_FREE_CLON, "free_clon"},
  1133. #ifndef MNG_SKIPCHUNK_PAST
  1134. {MNG_FN_FREE_PAST, "free_past"},
  1135. #endif
  1136. {MNG_FN_FREE_DISC, "free_disc"},
  1137. {MNG_FN_FREE_BACK, "free_back"},
  1138. {MNG_FN_FREE_FRAM, "free_fram"},
  1139. {MNG_FN_FREE_MOVE, "free_move"},
  1140. {MNG_FN_FREE_CLIP, "free_clip"},
  1141. {MNG_FN_FREE_SHOW, "free_show"},
  1142. {MNG_FN_FREE_TERM, "free_term"},
  1143. {MNG_FN_FREE_SAVE, "free_save"},
  1144. {MNG_FN_FREE_SEEK, "free_seek"},
  1145. {MNG_FN_FREE_EXPI, "free_expi"},
  1146. {MNG_FN_FREE_FPRI, "free_fpri"},
  1147. {MNG_FN_FREE_NEED, "free_need"},
  1148. {MNG_FN_FREE_PHYG, "free_phyg"},
  1149. #ifdef MNG_INCLUDE_JNG
  1150. {MNG_FN_FREE_JHDR, "free_jhdr"},
  1151. {MNG_FN_FREE_JDAT, "free_jdat"},
  1152. {MNG_FN_FREE_JSEP, "free_jsep"},
  1153. #endif
  1154. #ifndef MNG_NO_DELTA_PNG
  1155. {MNG_FN_FREE_DHDR, "free_dhdr"},
  1156. {MNG_FN_FREE_PROM, "free_prom"},
  1157. #ifdef MNG_INCLUDE_JNG
  1158. {MNG_FN_FREE_IPNG, "free_ipng"},
  1159. #endif
  1160. {MNG_FN_FREE_PPLT, "free_pplt"},
  1161. {MNG_FN_FREE_IJNG, "free_ijng"},
  1162. {MNG_FN_FREE_DROP, "free_drop"},
  1163. {MNG_FN_FREE_DBYK, "free_dbyk"},
  1164. {MNG_FN_FREE_ORDR, "free_ordr"},
  1165. #endif
  1166. {MNG_FN_FREE_UNKNOWN, "free_unknown"},
  1167. {MNG_FN_FREE_MAGN, "free_magn"},
  1168. {MNG_FN_FREE_JDAA, "free_jdaa"},
  1169. {MNG_FN_FREE_EVNT, "free_evnt"},
  1170. #ifdef MNG_INCLUDE_MPNG_PROPOSAL
  1171. {MNG_FN_FREE_MPNG, "free_mpng"},
  1172. #endif
  1173. {MNG_FN_READ_IHDR, "read_ihdr"},
  1174. {MNG_FN_READ_PLTE, "read_plte"},
  1175. {MNG_FN_READ_IDAT, "read_idat"},
  1176. {MNG_FN_READ_IEND, "read_iend"},
  1177. {MNG_FN_READ_TRNS, "read_trns"},
  1178. {MNG_FN_READ_GAMA, "read_gama"},
  1179. {MNG_FN_READ_CHRM, "read_chrm"},
  1180. {MNG_FN_READ_SRGB, "read_srgb"},
  1181. {MNG_FN_READ_ICCP, "read_iccp"},
  1182. {MNG_FN_READ_TEXT, "read_text"},
  1183. {MNG_FN_READ_ZTXT, "read_ztxt"},
  1184. {MNG_FN_READ_ITXT, "read_itxt"},
  1185. {MNG_FN_READ_BKGD, "read_bkgd"},
  1186. {MNG_FN_READ_PHYS, "read_phys"},
  1187. {MNG_FN_READ_SBIT, "read_sbit"},
  1188. {MNG_FN_READ_SPLT, "read_splt"},
  1189. {MNG_FN_READ_HIST, "read_hist"},
  1190. {MNG_FN_READ_TIME, "read_time"},
  1191. {MNG_FN_READ_MHDR, "read_mhdr"},
  1192. {MNG_FN_READ_MEND, "read_mend"},
  1193. {MNG_FN_READ_LOOP, "read_loop"},
  1194. {MNG_FN_READ_ENDL, "read_endl"},
  1195. {MNG_FN_READ_DEFI, "read_defi"},
  1196. {MNG_FN_READ_BASI, "read_basi"},
  1197. {MNG_FN_READ_CLON, "read_clon"},
  1198. #ifndef MNG_SKIPCHUNK_PAST
  1199. {MNG_FN_READ_PAST, "read_past"},
  1200. #endif
  1201. {MNG_FN_READ_DISC, "read_disc"},
  1202. {MNG_FN_READ_BACK, "read_back"},
  1203. {MNG_FN_READ_FRAM, "read_fram"},
  1204. {MNG_FN_READ_MOVE, "read_move"},
  1205. {MNG_FN_READ_CLIP, "read_clip"},
  1206. {MNG_FN_READ_SHOW, "read_show"},
  1207. {MNG_FN_READ_TERM, "read_term"},
  1208. {MNG_FN_READ_SAVE, "read_save"},
  1209. {MNG_FN_READ_SEEK, "read_seek"},
  1210. {MNG_FN_READ_EXPI, "read_expi"},
  1211. {MNG_FN_READ_FPRI, "read_fpri"},
  1212. {MNG_FN_READ_NEED, "read_need"},
  1213. {MNG_FN_READ_PHYG, "read_phyg"},
  1214. #ifdef MNG_INCLUDE_JNG
  1215. {MNG_FN_READ_JHDR, "read_jhdr"},
  1216. {MNG_FN_READ_JDAT, "read_jdat"},
  1217. {MNG_FN_READ_JSEP, "read_jsep"},
  1218. #endif
  1219. #ifndef MNG_NO_DELTA_PNG
  1220. {MNG_FN_READ_DHDR, "read_dhdr"},
  1221. {MNG_FN_READ_PROM, "read_prom"},
  1222. {MNG_FN_READ_IPNG, "read_ipng"},
  1223. {MNG_FN_READ_PPLT, "read_pplt"},
  1224. #ifdef MNG_INCLUDE_JNG
  1225. {MNG_FN_READ_IJNG, "read_ijng"},
  1226. #endif
  1227. {MNG_FN_READ_DROP, "read_drop"},
  1228. {MNG_FN_READ_DBYK, "read_dbyk"},
  1229. {MNG_FN_READ_ORDR, "read_ordr"},
  1230. #endif
  1231. {MNG_FN_READ_UNKNOWN, "read_unknown"},
  1232. {MNG_FN_READ_MAGN, "read_magn"},
  1233. {MNG_FN_READ_JDAA, "read_jdaa"},
  1234. {MNG_FN_READ_EVNT, "read_evnt"},
  1235. #ifdef MNG_INCLUDE_MPNG_PROPOSAL
  1236. {MNG_FN_READ_MPNG, "read_mpng"},
  1237. #endif
  1238. {MNG_FN_WRITE_IHDR, "write_ihdr"},
  1239. {MNG_FN_WRITE_PLTE, "write_plte"},
  1240. {MNG_FN_WRITE_IDAT, "write_idat"},
  1241. {MNG_FN_WRITE_IEND, "write_iend"},
  1242. {MNG_FN_WRITE_TRNS, "write_trns"},
  1243. {MNG_FN_WRITE_GAMA, "write_gama"},
  1244. {MNG_FN_WRITE_CHRM, "write_chrm"},
  1245. {MNG_FN_WRITE_SRGB, "write_srgb"},
  1246. {MNG_FN_WRITE_ICCP, "write_iccp"},
  1247. {MNG_FN_WRITE_TEXT, "write_text"},
  1248. {MNG_FN_WRITE_ZTXT, "write_ztxt"},
  1249. {MNG_FN_WRITE_ITXT, "write_itxt"},
  1250. {MNG_FN_WRITE_BKGD, "write_bkgd"},
  1251. {MNG_FN_WRITE_PHYS, "write_phys"},
  1252. {MNG_FN_WRITE_SBIT, "write_sbit"},
  1253. {MNG_FN_WRITE_SPLT, "write_splt"},
  1254. {MNG_FN_WRITE_HIST, "write_hist"},
  1255. {MNG_FN_WRITE_TIME, "write_time"},
  1256. {MNG_FN_WRITE_MHDR, "write_mhdr"},
  1257. {MNG_FN_WRITE_MEND, "write_mend"},
  1258. {MNG_FN_WRITE_LOOP, "write_loop"},
  1259. {MNG_FN_WRITE_ENDL, "write_endl"},
  1260. {MNG_FN_WRITE_DEFI, "write_defi"},
  1261. {MNG_FN_WRITE_BASI, "write_basi"},
  1262. {MNG_FN_WRITE_CLON, "write_clon"},
  1263. #ifndef MNG_SKIPCHUNK_PAST
  1264. {MNG_FN_WRITE_PAST, "write_past"},
  1265. #endif
  1266. {MNG_FN_WRITE_DISC, "write_disc"},
  1267. {MNG_FN_WRITE_BACK, "write_back"},
  1268. {MNG_FN_WRITE_FRAM, "write_fram"},
  1269. {MNG_FN_WRITE_MOVE, "write_move"},
  1270. {MNG_FN_WRITE_CLIP, "write_clip"},
  1271. {MNG_FN_WRITE_SHOW, "write_show"},
  1272. {MNG_FN_WRITE_TERM, "write_term"},
  1273. {MNG_FN_WRITE_SAVE, "write_save"},
  1274. {MNG_FN_WRITE_SEEK, "write_seek"},
  1275. {MNG_FN_WRITE_EXPI, "write_expi"},
  1276. {MNG_FN_WRITE_FPRI, "write_fpri"},
  1277. {MNG_FN_WRITE_NEED, "write_need"},
  1278. {MNG_FN_WRITE_PHYG, "write_phyg"},
  1279. #ifdef MNG_INCLUDE_JNG
  1280. {MNG_FN_WRITE_JHDR, "write_jhdr"},
  1281. {MNG_FN_WRITE_JDAT, "write_jdat"},
  1282. {MNG_FN_WRITE_JSEP, "write_jsep"},
  1283. #endif
  1284. #ifndef MNG_NO_DELTA_PNG
  1285. {MNG_FN_WRITE_DHDR, "write_dhdr"},
  1286. {MNG_FN_WRITE_PROM, "write_prom"},
  1287. #ifdef MNG_INCLUDE_JNG
  1288. {MNG_FN_WRITE_IPNG, "write_ipng"},
  1289. #endif
  1290. {MNG_FN_WRITE_PPLT, "write_pplt"},
  1291. {MNG_FN_WRITE_IJNG, "write_ijng"},
  1292. {MNG_FN_WRITE_DROP, "write_drop"},
  1293. {MNG_FN_WRITE_DBYK, "write_dbyk"},
  1294. {MNG_FN_WRITE_ORDR, "write_ordr"},
  1295. #endif
  1296. {MNG_FN_WRITE_UNKNOWN, "write_unknown"},
  1297. {MNG_FN_WRITE_MAGN, "write_magn"},
  1298. {MNG_FN_WRITE_JDAA, "write_jdaa"},
  1299. {MNG_FN_WRITE_EVNT, "write_evnt"},
  1300. #ifdef MNG_INCLUDE_MPNG_PROPOSAL
  1301. {MNG_FN_WRITE_MPNG, "write_mpng"},
  1302. #endif
  1303. {MNG_FN_ZLIB_INITIALIZE, "zlib_initialize"},
  1304. {MNG_FN_ZLIB_CLEANUP, "zlib_cleanup"},
  1305. {MNG_FN_ZLIB_INFLATEINIT, "zlib_inflateinit"},
  1306. {MNG_FN_ZLIB_INFLATEROWS, "zlib_inflaterows"},
  1307. {MNG_FN_ZLIB_INFLATEDATA, "zlib_inflatedata"},
  1308. {MNG_FN_ZLIB_INFLATEFREE, "zlib_inflatefree"},
  1309. {MNG_FN_ZLIB_DEFLATEINIT, "zlib_deflateinit"},
  1310. {MNG_FN_ZLIB_DEFLATEROWS, "zlib_deflaterows"},
  1311. {MNG_FN_ZLIB_DEFLATEDATA, "zlib_deflatedata"},
  1312. {MNG_FN_ZLIB_DEFLATEFREE, "zlib_deflatefree"},
  1313. {MNG_FN_PROCESS_DISPLAY_IHDR, "process_display_ihdr"},
  1314. {MNG_FN_PROCESS_DISPLAY_PLTE, "process_display_plte"},
  1315. {MNG_FN_PROCESS_DISPLAY_IDAT, "process_display_idat"},
  1316. {MNG_FN_PROCESS_DISPLAY_IEND, "process_display_iend"},
  1317. {MNG_FN_PROCESS_DISPLAY_TRNS, "process_display_trns"},
  1318. {MNG_FN_PROCESS_DISPLAY_GAMA, "process_display_gama"},
  1319. {MNG_FN_PROCESS_DISPLAY_CHRM, "process_display_chrm"},
  1320. {MNG_FN_PROCESS_DISPLAY_SRGB, "process_display_srgb"},
  1321. {MNG_FN_PROCESS_DISPLAY_ICCP, "process_display_iccp"},
  1322. {MNG_FN_PROCESS_DISPLAY_BKGD, "process_display_bkgd"},
  1323. {MNG_FN_PROCESS_DISPLAY_PHYS, "process_display_phys"},
  1324. {MNG_FN_PROCESS_DISPLAY_SBIT, "process_display_sbit"},
  1325. {MNG_FN_PROCESS_DISPLAY_SPLT, "process_display_splt"},
  1326. {MNG_FN_PROCESS_DISPLAY_HIST, "process_display_hist"},
  1327. {MNG_FN_PROCESS_DISPLAY_MHDR, "process_display_mhdr"},
  1328. {MNG_FN_PROCESS_DISPLAY_MEND, "process_display_mend"},
  1329. {MNG_FN_PROCESS_DISPLAY_LOOP, "process_display_loop"},
  1330. {MNG_FN_PROCESS_DISPLAY_ENDL, "process_display_endl"},
  1331. {MNG_FN_PROCESS_DISPLAY_DEFI, "process_display_defi"},
  1332. {MNG_FN_PROCESS_DISPLAY_BASI, "process_display_basi"},
  1333. {MNG_FN_PROCESS_DISPLAY_CLON, "process_display_clon"},
  1334. #ifndef MNG_SKIPCHUNK_PAST
  1335. {MNG_FN_PROCESS_DISPLAY_PAST, "process_display_past"},
  1336. #endif
  1337. {MNG_FN_PROCESS_DISPLAY_DISC, "process_display_disc"},
  1338. {MNG_FN_PROCESS_DISPLAY_BACK, "process_display_back"},
  1339. {MNG_FN_PROCESS_DISPLAY_FRAM, "process_display_fram"},
  1340. {MNG_FN_PROCESS_DISPLAY_MOVE, "process_display_move"},
  1341. {MNG_FN_PROCESS_DISPLAY_CLIP, "process_display_clip"},
  1342. {MNG_FN_PROCESS_DISPLAY_SHOW, "process_display_show"},
  1343. {MNG_FN_PROCESS_DISPLAY_TERM, "process_display_term"},
  1344. {MNG_FN_PROCESS_DISPLAY_SAVE, "process_display_save"},
  1345. {MNG_FN_PROCESS_DISPLAY_SEEK, "process_display_seek"},
  1346. {MNG_FN_PROCESS_DISPLAY_EXPI, "process_display_expi"},
  1347. {MNG_FN_PROCESS_DISPLAY_FPRI, "process_display_fpri"},
  1348. {MNG_FN_PROCESS_DISPLAY_NEED, "process_display_need"},
  1349. {MNG_FN_PROCESS_DISPLAY_PHYG, "process_display_phyg"},
  1350. #ifdef MNG_INCLUDE_JNG
  1351. {MNG_FN_PROCESS_DISPLAY_JHDR, "process_display_jhdr"},
  1352. {MNG_FN_PROCESS_DISPLAY_JDAT, "process_display_jdat"},
  1353. {MNG_FN_PROCESS_DISPLAY_JSEP, "process_display_jsep"},
  1354. #endif
  1355. #ifndef MNG_NO_DELTA_PNG
  1356. {MNG_FN_PROCESS_DISPLAY_DHDR, "process_display_dhdr"},
  1357. {MNG_FN_PROCESS_DISPLAY_PROM, "process_display_prom"},
  1358. #ifdef MNG_INCLUDE_JNG
  1359. {MNG_FN_PROCESS_DISPLAY_IPNG, "process_display_ipng"},
  1360. #endif
  1361. {MNG_FN_PROCESS_DISPLAY_PPLT, "process_display_pplt"},
  1362. {MNG_FN_PROCESS_DISPLAY_IJNG, "process_display_ijng"},
  1363. {MNG_FN_PROCESS_DISPLAY_DROP, "process_display_drop"},
  1364. {MNG_FN_PROCESS_DISPLAY_DBYK, "process_display_dbyk"},
  1365. {MNG_FN_PROCESS_DISPLAY_ORDR, "process_display_ordr"},
  1366. #endif
  1367. {MNG_FN_PROCESS_DISPLAY_MAGN, "process_display_magn"},
  1368. {MNG_FN_PROCESS_DISPLAY_JDAA, "process_display_jdaa"},
  1369. {MNG_FN_JPEG_INITIALIZE, "jpeg_initialize"},
  1370. {MNG_FN_JPEG_CLEANUP, "jpeg_cleanup"},
  1371. {MNG_FN_JPEG_DECOMPRESSINIT, "jpeg_decompressinit"},
  1372. {MNG_FN_JPEG_DECOMPRESSDATA, "jpeg_decompressdata"},
  1373. {MNG_FN_JPEG_DECOMPRESSFREE, "jpeg_decompressfree"},
  1374. {MNG_FN_STORE_JPEG_G8, "store_jpeg_g8"},
  1375. {MNG_FN_STORE_JPEG_RGB8, "store_jpeg_rgb8"},
  1376. {MNG_FN_STORE_JPEG_G12, "store_jpeg_g12"},
  1377. {MNG_FN_STORE_JPEG_RGB12, "store_jpeg_rgb12"},
  1378. {MNG_FN_STORE_JPEG_GA8, "store_jpeg_ga8"},
  1379. {MNG_FN_STORE_JPEG_RGBA8, "store_jpeg_rgba8"},
  1380. {MNG_FN_STORE_JPEG_GA12, "store_jpeg_ga12"},
  1381. {MNG_FN_STORE_JPEG_RGBA12, "store_jpeg_rgba12"},
  1382. {MNG_FN_STORE_JPEG_G8_ALPHA, "store_jpeg_g8_alpha"},
  1383. {MNG_FN_STORE_JPEG_RGB8_ALPHA, "store_jpeg_rgb8_alpha"},
  1384. {MNG_FN_INIT_JPEG_A1_NI, "init_jpeg_a1_ni"},
  1385. {MNG_FN_INIT_JPEG_A2_NI, "init_jpeg_a2_ni"},
  1386. {MNG_FN_INIT_JPEG_A4_NI, "init_jpeg_a4_ni"},
  1387. {MNG_FN_INIT_JPEG_A8_NI, "init_jpeg_a8_ni"},
  1388. {MNG_FN_INIT_JPEG_A16_NI, "init_jpeg_a16_ni"},
  1389. {MNG_FN_STORE_JPEG_G8_A1, "store_jpeg_g8_a1"},
  1390. {MNG_FN_STORE_JPEG_G8_A2, "store_jpeg_g8_a2"},
  1391. {MNG_FN_STORE_JPEG_G8_A4, "store_jpeg_g8_a4"},
  1392. {MNG_FN_STORE_JPEG_G8_A8, "store_jpeg_g8_a8"},
  1393. {MNG_FN_STORE_JPEG_G8_A16, "store_jpeg_g8_a16"},
  1394. {MNG_FN_STORE_JPEG_RGB8_A1, "store_jpeg_rgb8_a1"},
  1395. {MNG_FN_STORE_JPEG_RGB8_A2, "store_jpeg_rgb8_a2"},
  1396. {MNG_FN_STORE_JPEG_RGB8_A4, "store_jpeg_rgb8_a4"},
  1397. {MNG_FN_STORE_JPEG_RGB8_A8, "store_jpeg_rgb8_a8"},
  1398. {MNG_FN_STORE_JPEG_RGB8_A16, "store_jpeg_rgb8_a16"},
  1399. {MNG_FN_STORE_JPEG_G12_A1, "store_jpeg_g12_a1"},
  1400. {MNG_FN_STORE_JPEG_G12_A2, "store_jpeg_g12_a2"},
  1401. {MNG_FN_STORE_JPEG_G12_A4, "store_jpeg_g12_a4"},
  1402. {MNG_FN_STORE_JPEG_G12_A8, "store_jpeg_g12_a8"},
  1403. {MNG_FN_STORE_JPEG_G12_A16, "store_jpeg_g12_a16"},
  1404. {MNG_FN_STORE_JPEG_RGB12_A1, "store_jpeg_rgb12_a1"},
  1405. {MNG_FN_STORE_JPEG_RGB12_A2, "store_jpeg_rgb12_a2"},
  1406. {MNG_FN_STORE_JPEG_RGB12_A4, "store_jpeg_rgb12_a4"},
  1407. {MNG_FN_STORE_JPEG_RGB12_A8, "store_jpeg_rgb12_a8"},
  1408. {MNG_FN_STORE_JPEG_RGB12_A16, "store_jpeg_rgb12_a16"},
  1409. {MNG_FN_NEXT_JPEG_ALPHAROW, "next_jpeg_alpharow"},
  1410. {MNG_FN_NEXT_JPEG_ROW, "next_jpeg_row"},
  1411. {MNG_FN_DISPLAY_JPEG_ROWS, "display_jpeg_rows"},
  1412. {MNG_FN_MAGNIFY_G8_X1, "magnify_g8_x1"},
  1413. {MNG_FN_MAGNIFY_G8_X2, "magnify_g8_x2"},
  1414. {MNG_FN_MAGNIFY_RGB8_X1, "magnify_rgb8_x1"},
  1415. {MNG_FN_MAGNIFY_RGB8_X2, "magnify_rgb8_x2"},
  1416. {MNG_FN_MAGNIFY_GA8_X1, "magnify_ga8_x1"},
  1417. {MNG_FN_MAGNIFY_GA8_X2, "magnify_ga8_x2"},
  1418. {MNG_FN_MAGNIFY_GA8_X3, "magnify_ga8_x3"},
  1419. {MNG_FN_MAGNIFY_GA8_X4, "magnify_ga8_x4"},
  1420. {MNG_FN_MAGNIFY_RGBA8_X1, "magnify_rgba8_x1"},
  1421. {MNG_FN_MAGNIFY_RGBA8_X2, "magnify_rgba8_x2"},
  1422. {MNG_FN_MAGNIFY_RGBA8_X3, "magnify_rgba8_x3"},
  1423. {MNG_FN_MAGNIFY_RGBA8_X4, "magnify_rgba8_x4"},
  1424. {MNG_FN_MAGNIFY_G8_X3, "magnify_g8_x3"},
  1425. {MNG_FN_MAGNIFY_RGB8_X3, "magnify_rgb8_x3"},
  1426. {MNG_FN_MAGNIFY_GA8_X5, "magnify_ga8_x5"},
  1427. {MNG_FN_MAGNIFY_RGBA8_X5, "magnify_rgba8_x5"},
  1428. {MNG_FN_MAGNIFY_G8_Y1, "magnify_g8_y1"},
  1429. {MNG_FN_MAGNIFY_G8_Y2, "magnify_g8_y2"},
  1430. {MNG_FN_MAGNIFY_RGB8_Y1, "magnify_rgb8_y1"},
  1431. {MNG_FN_MAGNIFY_RGB8_Y2, "magnify_rgb8_y2"},
  1432. {MNG_FN_MAGNIFY_GA8_Y1, "magnify_ga8_y1"},
  1433. {MNG_FN_MAGNIFY_GA8_Y2, "magnify_ga8_y2"},
  1434. {MNG_FN_MAGNIFY_GA8_Y3, "magnify_ga8_y3"},
  1435. {MNG_FN_MAGNIFY_GA8_Y4, "magnify_ga8_y4"},
  1436. {MNG_FN_MAGNIFY_RGBA8_Y1, "magnify_rgba8_y1"},
  1437. {MNG_FN_MAGNIFY_RGBA8_Y2, "magnify_rgba8_y2"},
  1438. {MNG_FN_MAGNIFY_RGBA8_Y3, "magnify_rgba8_y3"},
  1439. {MNG_FN_MAGNIFY_RGBA8_Y4, "magnify_rgba8_y4"},
  1440. {MNG_FN_MAGNIFY_G8_Y3, "magnify_g8_y3"},
  1441. {MNG_FN_MAGNIFY_RGB8_Y3, "magnify_rgb8_y3"},
  1442. {MNG_FN_MAGNIFY_GA8_Y5, "magnify_ga8_y5"},
  1443. {MNG_FN_MAGNIFY_RGBA8_Y5, "magnify_rgba8_y5"},
  1444. {MNG_FN_MAGNIFY_G8_X1, "magnify_g8_x1"},
  1445. {MNG_FN_MAGNIFY_G8_X2, "magnify_g8_x2"},
  1446. {MNG_FN_MAGNIFY_RGB8_X1, "magnify_rgb8_x1"},
  1447. {MNG_FN_MAGNIFY_RGB8_X2, "magnify_rgb8_x2"},
  1448. {MNG_FN_MAGNIFY_GA8_X1, "magnify_ga8_x1"},
  1449. {MNG_FN_MAGNIFY_GA8_X2, "magnify_ga8_x2"},
  1450. {MNG_FN_MAGNIFY_GA8_X3, "magnify_ga8_x3"},
  1451. {MNG_FN_MAGNIFY_GA8_X4, "magnify_ga8_x4"},
  1452. {MNG_FN_MAGNIFY_RGBA8_X1, "magnify_rgba8_x1"},
  1453. {MNG_FN_MAGNIFY_RGBA8_X2, "magnify_rgba8_x2"},
  1454. {MNG_FN_MAGNIFY_RGBA8_X3, "magnify_rgba8_x3"},
  1455. {MNG_FN_MAGNIFY_RGBA8_X4, "magnify_rgba8_x4"},
  1456. {MNG_FN_MAGNIFY_G8_X3, "magnify_g8_x3"},
  1457. {MNG_FN_MAGNIFY_RGB8_X3, "magnify_rgb8_x3"},
  1458. {MNG_FN_MAGNIFY_GA8_X5, "magnify_ga8_x5"},
  1459. {MNG_FN_MAGNIFY_RGBA8_X5, "magnify_rgba8_x5"},
  1460. {MNG_FN_MAGNIFY_G8_Y1, "magnify_g8_y1"},
  1461. {MNG_FN_MAGNIFY_G8_Y2, "magnify_g8_y2"},
  1462. {MNG_FN_MAGNIFY_RGB8_Y1, "magnify_rgb8_y1"},
  1463. {MNG_FN_MAGNIFY_RGB8_Y2, "magnify_rgb8_y2"},
  1464. {MNG_FN_MAGNIFY_GA8_Y1, "magnify_ga8_y1"},
  1465. {MNG_FN_MAGNIFY_GA8_Y2, "magnify_ga8_y2"},
  1466. {MNG_FN_MAGNIFY_GA8_Y3, "magnify_ga8_y3"},
  1467. {MNG_FN_MAGNIFY_GA8_Y4, "magnify_ga8_y4"},
  1468. {MNG_FN_MAGNIFY_RGBA8_Y1, "magnify_rgba8_y1"},
  1469. {MNG_FN_MAGNIFY_RGBA8_Y2, "magnify_rgba8_y2"},
  1470. {MNG_FN_MAGNIFY_RGBA8_Y3, "magnify_rgba8_y3"},
  1471. {MNG_FN_MAGNIFY_RGBA8_Y4, "magnify_rgba8_y4"},
  1472. {MNG_FN_MAGNIFY_G8_Y3, "magnify_g8_y3"},
  1473. {MNG_FN_MAGNIFY_RGB8_Y3, "magnify_rgb8_y3"},
  1474. {MNG_FN_MAGNIFY_GA8_Y5, "magnify_ga8_y5"},
  1475. {MNG_FN_MAGNIFY_RGBA8_Y5, "magnify_rgba8_y5"},
  1476. {MNG_FN_DELTA_G1_G1, "delta_g1_g1"},
  1477. {MNG_FN_DELTA_G2_G2, "delta_g2_g2"},
  1478. {MNG_FN_DELTA_G4_G4, "delta_g4_g4"},
  1479. {MNG_FN_DELTA_G8_G8, "delta_g8_g8"},
  1480. {MNG_FN_DELTA_G16_G16, "delta_g16_g16"},
  1481. {MNG_FN_DELTA_RGB8_RGB8, "delta_rgb8_rgb8"},
  1482. {MNG_FN_DELTA_RGB16_RGB16, "delta_rgb16_rgb16"},
  1483. {MNG_FN_DELTA_GA8_GA8, "delta_ga8_ga8"},
  1484. {MNG_FN_DELTA_GA8_G8, "delta_ga8_g8"},
  1485. {MNG_FN_DELTA_GA8_A8, "delta_ga8_a8"},
  1486. {MNG_FN_DELTA_GA16_GA16, "delta_ga16_ga16"},
  1487. {MNG_FN_DELTA_GA16_G16, "delta_ga16_g16"},
  1488. {MNG_FN_DELTA_GA16_A16, "delta_ga16_a16"},
  1489. {MNG_FN_DELTA_RGBA8_RGBA8, "delta_rgba8_rgba8"},
  1490. {MNG_FN_DELTA_RGBA8_RGB8, "delta_rgba8_rgb8"},
  1491. {MNG_FN_DELTA_RGBA8_A8, "delta_rgba8_a8"},
  1492. {MNG_FN_DELTA_RGBA16_RGBA16, "delta_rgba16_rgba16"},
  1493. {MNG_FN_DELTA_RGBA16_RGB16, "delta_rgba16_rgb16"},
  1494. {MNG_FN_DELTA_RGBA16_A16, "delta_rgba16_a16"},
  1495. {MNG_FN_PROMOTE_G8_G8, "promote_g8_g8"},
  1496. {MNG_FN_PROMOTE_G8_G16, "promote_g8_g16"},
  1497. {MNG_FN_PROMOTE_G16_G16, "promote_g8_g16"},
  1498. {MNG_FN_PROMOTE_G8_GA8, "promote_g8_ga8"},
  1499. {MNG_FN_PROMOTE_G8_GA16, "promote_g8_ga16"},
  1500. {MNG_FN_PROMOTE_G16_GA16, "promote_g16_ga16"},
  1501. {MNG_FN_PROMOTE_G8_RGB8, "promote_g8_rgb8"},
  1502. {MNG_FN_PROMOTE_G8_RGB16, "promote_g8_rgb16"},
  1503. {MNG_FN_PROMOTE_G16_RGB16, "promote_g16_rgb16"},
  1504. {MNG_FN_PROMOTE_G8_RGBA8, "promote_g8_rgba8"},
  1505. {MNG_FN_PROMOTE_G8_RGBA16, "promote_g8_rgba16"},
  1506. {MNG_FN_PROMOTE_G16_RGBA16, "promote_g16_rgba16"},
  1507. {MNG_FN_PROMOTE_GA8_GA16, "promote_ga8_ga16"},
  1508. {MNG_FN_PROMOTE_GA8_RGBA8, "promote_ga8_rgba8"},
  1509. {MNG_FN_PROMOTE_GA8_RGBA16, "promote_ga8_rgba16"},
  1510. {MNG_FN_PROMOTE_GA16_RGBA16, "promote_ga16_rgba16"},
  1511. {MNG_FN_PROMOTE_RGB8_RGB16, "promote_rgb8_rgb16"},
  1512. {MNG_FN_PROMOTE_RGB8_RGBA8, "promote_rgb8_rgba8"},
  1513. {MNG_FN_PROMOTE_RGB8_RGBA16, "promote_rgb8_rgba16"},
  1514. {MNG_FN_PROMOTE_RGB16_RGBA16, "promote_rgb16_rgba16"},
  1515. {MNG_FN_PROMOTE_RGBA8_RGBA16, "promote_rgba8_rgba16"},
  1516. {MNG_FN_PROMOTE_IDX8_RGB8, "promote_idx8_rgb8"},
  1517. {MNG_FN_PROMOTE_IDX8_RGB16, "promote_idx8_rgb16"},
  1518. {MNG_FN_PROMOTE_IDX8_RGBA8, "promote_idx8_rgba8"},
  1519. {MNG_FN_PROMOTE_IDX8_RGBA16, "promote_idx8_rgba16"},
  1520. {MNG_FN_SCALE_G1_G2, "scale_g1_g2"},
  1521. {MNG_FN_SCALE_G1_G4, "scale_g1_g4"},
  1522. {MNG_FN_SCALE_G1_G8, "scale_g1_g8"},
  1523. {MNG_FN_SCALE_G1_G16, "scale_g1_g16"},
  1524. {MNG_FN_SCALE_G2_G4, "scale_g2_g4"},
  1525. {MNG_FN_SCALE_G2_G8, "scale_g2_g8"},
  1526. {MNG_FN_SCALE_G2_G16, "scale_g2_g16"},
  1527. {MNG_FN_SCALE_G4_G8, "scale_g4_g8"},
  1528. {MNG_FN_SCALE_G4_G16, "scale_g4_g16"},
  1529. {MNG_FN_SCALE_G8_G16, "scale_g8_g16"},
  1530. {MNG_FN_SCALE_GA8_GA16, "scale_ga8_ga16"},
  1531. {MNG_FN_SCALE_RGB8_RGB16, "scale_rgb8_rgb16"},
  1532. {MNG_FN_SCALE_RGBA8_RGBA16, "scale_rgba8_rgba16"},
  1533. {MNG_FN_SCALE_G2_G1, "scale_g2_g1"},
  1534. {MNG_FN_SCALE_G4_G1, "scale_g4_g1"},
  1535. {MNG_FN_SCALE_G8_G1, "scale_g8_g1"},
  1536. {MNG_FN_SCALE_G16_G1, "scale_g16_g1"},
  1537. {MNG_FN_SCALE_G4_G2, "scale_g4_g2"},
  1538. {MNG_FN_SCALE_G8_G2, "scale_g8_g2"},
  1539. {MNG_FN_SCALE_G16_G2, "scale_g16_g2"},
  1540. {MNG_FN_SCALE_G8_G4, "scale_g8_g4"},
  1541. {MNG_FN_SCALE_G16_G4, "scale_g16_g4"},
  1542. {MNG_FN_SCALE_G16_G8, "scale_g16_g8"},
  1543. {MNG_FN_SCALE_GA16_GA8, "scale_ga16_ga8"},
  1544. {MNG_FN_SCALE_RGB16_RGB8, "scale_rgb16_rgb8"},
  1545. {MNG_FN_SCALE_RGBA16_RGBA8, "scale_rgba16_rgba8"},
  1546. {MNG_FN_COMPOSEOVER_RGBA8, "composeover_rgba8"},
  1547. {MNG_FN_COMPOSEOVER_RGBA16, "composeover_rgba16"},
  1548. {MNG_FN_COMPOSEUNDER_RGBA8, "composeunder_rgba8"},
  1549. {MNG_FN_COMPOSEUNDER_RGBA16, "composeunder_rgba16"},
  1550. {MNG_FN_FLIP_RGBA8, "flip_rgba8"},
  1551. {MNG_FN_FLIP_RGBA16, "flip_rgba16"},
  1552. {MNG_FN_TILE_RGBA8, "tile_rgba8"},
  1553. {MNG_FN_TILE_RGBA16, "tile_rgba16"}
  1554. };
  1555. #endif /* MNG_INCLUDE_TRACE_STINGS */
  1556. /* ************************************************************************** */
  1557. mng_retcode mng_trace (mng_datap pData,
  1558. mng_uint32 iFunction,
  1559. mng_uint32 iLocation)
  1560. {
  1561. mng_pchar zName = 0; /* bufferptr for tracestring */
  1562. if ((pData == 0) || (pData->iMagic != MNG_MAGIC))
  1563. return MNG_INVALIDHANDLE; /* no good if the handle is corrupt */
  1564. if (pData->fTraceproc) /* report back to user ? */
  1565. {
  1566. #ifdef MNG_INCLUDE_TRACE_STRINGS
  1567. { /* binary search variables */
  1568. mng_int32 iTop, iLower, iUpper, iMiddle;
  1569. mng_trace_entryp pEntry; /* pointer to found entry */
  1570. /* determine max index of table */
  1571. iTop = (sizeof (trace_table) / sizeof (trace_table [0])) - 1;
  1572. iLower = 0; /* initialize binary search */
  1573. iMiddle = iTop >> 1; /* start in the middle */
  1574. iUpper = iTop;
  1575. pEntry = 0; /* no goods yet! */
  1576. do /* the binary search itself */
  1577. {
  1578. if (trace_table [iMiddle].iFunction < iFunction)
  1579. iLower = iMiddle + 1;
  1580. else if (trace_table [iMiddle].iFunction > iFunction)
  1581. iUpper = iMiddle - 1;
  1582. else
  1583. {
  1584. pEntry = &trace_table [iMiddle];
  1585. break;
  1586. };
  1587. iMiddle = (iLower + iUpper) >> 1;
  1588. }
  1589. while (iLower <= iUpper);
  1590. if (pEntry) /* found it ? */
  1591. zName = pEntry->zTracetext;
  1592. }
  1593. #endif
  1594. /* oke, now tell */
  1595. if (!pData->fTraceproc (((mng_handle)pData), iFunction, iLocation, zName))
  1596. return MNG_APPTRACEABORT;
  1597. }
  1598. return MNG_NOERROR;
  1599. }
  1600. /* ************************************************************************** */
  1601. #endif /* MNG_INCLUDE_TRACE_PROCS */
  1602. /* ************************************************************************** */
  1603. /* * end of file * */
  1604. /* ************************************************************************** */