/src/FreeImage/Source/LibMNG/Changes
#! | 1447 lines | 1098 code | 349 blank | 0 comment | 0 complexity | a0a7d843dd5409d31016a1dbcaf3b3da MD5 | raw file
1----------------------------------------------------------- 2 31.0.10 (Jul 13th 2007) 4---------------------- 5 6in short: 7 8intermediate CVS 9 10------------------- 11 12bugfixes: 13 14core: 15- fixed some compiler-warnings 16- fixed display routines called twice for FULL_MNG support in mozlibmngconf.h 17- standard windows dll upgraded to zlib 1.2.3 18- fixed problem with CLON object during readdisplay() (thanks Winfried!) 19- added typecast to appease the compiler (G R-P) 20- added more SKIPCHUNK conditionals (G R-P) 21- added MORE MNG_NO_1_2_4BIT_SUPPORT (G R-P) 22- added provisional support for anIM(mpNG) proposal 23- added provisional support for ANG proposal 24 25samples: 26- xmngview upgraded to 0.6 (thanks Winfried!) 27 28contrib: 29 30doc: 31 32makefiles: 33 34autoconf: 35 36----------------------------------------------------------- 37 381.0.9 (jan 30th 2005) 39--------------------- 40 41in short: 42 43New optimizations save over 20KB on footprint. 44Also a few bugfixes and several patches. 45 46Thanks to those sending in their additions and for testing! 47 48To turn on the optimizations do: 49 50#DEFINE MNG_OPTIMIZE_CHUNKINITFREE 51#DEFINE MNG_OPTIMIZE_OBJCLEANUP 52#DEFINE MNG_OPTIMIZE_CHUNKASSIGN 53#DEFINE MNG_OPTIMIZE_CHUNKREADER 54 55(eg. they're not on by default (yet) !) 56 57------------------- 58 59bugfixes: 60- fixed chunk pushing mechanism 61- fixed bug in writing sBIT for indexed color 62- fixed PPLT getchunk/putchunk routines 63- fixed MNG_NO_1_2_4BIT_SUPPORT for TBBN1G04.PNG 64- cleaned up macro-invocations (thanks to D. Airlie) 65 66core: 67- added more SKIPCHUNK conditionals 68- replaced MNG_TWEAK_LARGE_FILES with permanent solution 69- improved handling of cheap transparency when 16-bit support is disabled 70- added some MNG_SUPPORT_WRITE conditionals 71- added function to retrieve current FRAM delay 72- added MNG_NO_1_2_4BIT_SUPPORT 73- added bgr565_a8 canvas-style (thanks to J. Elvander) 74- standard windows dll upgraded to zlib 1.2.2 75- added LITTLEENDIAN/BIGENDIAN fixtures (thanks J.Stiles) 76- inclusion of zlib/lcms/ijgsrc6b with <> instead of "" 77- added conditional MNG_OPTIMIZE_CHUNKINITFREE 78- added conditional MNG_OPTIMIZE_OBJCLEANUP 79- added conditional MNG_OPTIMIZE_CHUNKASSIGN 80- added conditional MNG_OPTIMIZE_CHUNKREADER 81- fixed problem with global PLTE/tRNS 82 83samples: 84 85contrib: 86 87doc: 88- patched jng & mng manual pages (Thanks Peter Breitenlohner) 89 90makefiles: 91 92autoconf: 93- patched makefile.am & configure.in (Thanks Peter Breitenlohner) 94 95----------------------------------------------------------- 96 971.0.8 (aug 5th 2004) 98-------------------- 99 100in short: 101 102added special data-pushing mechanisms and a few other tid-bits 103 104------------------- 105 106bugfixes: 107- fixed problem with PAST usage where source > dest 108 109core: 110- added missing get-/put-chunk-jdaa 111- added CRC existence & checking flags 112- added data-push mechanisms for specialized decoders 113- some speed optimizations (thanks to John Stiles) 114- defend against using undefined closestream function 115- defend against using undefined openstream function 116- added check for extreme chunk-lengths 117- change worst-case iAlphadepth to 1 for standalone PNGs 118- added support for 3+byte pixelsize for JPEG's 119- added conditional to allow easier writing of large MNG's 120 121samples: 122 123contrib: 124 125doc: 126 127makefiles: 128 129autoconf: 130 131----------------------------------------------------------- 132 1331.0.7 (March 21st 2004) 134----------------------- 135 136in short: 137 138A bunch of new canvas-styles, some bug-fixes, upgraded to latest zlib/lcms 139and yet more work to please the Mozilla crowd. 140Releasing beta's doesn't seem very responsive, and this one's hardly changed 141much anyway. I just wanted to bump to a regular version for Mozilla 142re-integration. 143 144------------------- 145 146bugfixes: 147- fixed inclusion of IJNG chunk for non-JNG use (J.S) 148- fixed bug in chunk-storage of SHOW chunk (where from == to) 149- fixed bug in promote_g8_g8 with 16bit support off 150 151core: 152- added CANVAS_RGB565 and CANVAS_BGR565 (big thanx to Raphael Assenat!!) 153- added CANVAS_RGBA565 and CANVAS_BGRA565 ( -- ditto -- ) 154- upgraded to zlib 1.2.1 155- upgraded to lcms 1.11 156- added premultiplied alpha canvas' for RGBA, ARGB, ABGR (thx to John Stiles) 157- more optimizations with 16bit support off 158- put conditionals around openstream/closestream callbacks. 159- fixed typo (MNG_SKIPCHUNK_SAVE -> MNG_SKIPCHUNK_nEED) 160- fixed some 64-bit platform compiler warnings 161 162samples: 163 164contrib: 165- fixed mngtree sample (Raphael) 166- added 5-6-5 canvas to SDL sample (Raphael) 167 168doc: 169 170makefiles: 171 172autoconf: 173 174----------------------------------------------------------- 175 1761.0.6 (oct 19th 2003) 177--------------------- 178 179in short: 180 181Final release from beta1. No feedback is good feedback I presume, 182so here's 1.0.6-final! 183 184 185------------------- 186 187bugfixes: 188 189core: 190 191samples: 192 193contrib: 194 195doc: 196 197makefiles: 198 199autoconf: 200 201----------------------------------------------------------- 202 2031.0.6-beta1 (sep 14th 2003) 204--------------------------- 205 206in short: 207 208further footprint-reductions 209removing email-addresses 210 2111.0.6 (final) will be out shortly 212 213------------------- 214 215bugfixes: 216 217core: 218- added support for reducing the footprint of libmng by macros that optionally 219 skip unused chunks, remove 16-bit sample support, remove Delta support, and 220 remove JNG support, to accomodate Mozilla/Firebird. 221- further optional removal of unused functions 222- added MNG_NO_SUPPORT_FUNCQUERY conditional 223- added iPNGdepth member to pData structure 224- added conditionals around MAGN chunk support 225- added conditionals around non-VLC chunk support 226- added conditionals around "mng_display_go*" and other unused functions 227- added more conditionals around "promote" functions 228- removed email references as appropriate 229 230samples: 231 232contrib: 233 234doc: 235 236makefiles: 237 238autoconf: 239 240----------------------------------------------------------- 241 2421.0.6-alpha1 (aug 2nd 2003) 243--------------------------- 244 245in short: 246 247This is mostly in the light of footprint-reduction to please the Mozilla 248crew with a leaner and meaner libmng. See bug 18574 if you're interested: 249http://bugzilla.mozilla.org/show_bug.cgi?id=18574 250 251------------------- 252 253bugfixes: 254- B719420 - fixed several MNG_APP_CMS problems 255 256core: 257- removed some compiler-warnings 258- hiding 12-bit JPEG stuff 259- fixed problem with infinite loops during readdisplay() 260- added size-optimiation COMPOSE routine usage 261- added conditionals around canvas update routines 262- added MNG_SKIPCHUNK_cHNK footprint optimizations 263- added conditionals around some JNG-supporting code 264- added conditionals around 16-bit supporting code 265- combined init functions into one function 266- replaced nested switches with simple init setup function 267- added conditionals zlib and jpeg property accessors 268- added size-optimization DIV255B8 routine usage 269- added conditionals around 8-bit magn routines 270- removed conditionals around 8-bit magn routines 271- added MNG_NO_16BIT_SUPPORT and MNG_NO_DELTA_PNG conditionals 272- reversed many loops to use decrementing counter 273- converted some switches to array references 274- removed some redundant checks for iRawlen==0 275- optionally use zlib's crc32 function instead of local mng_update_crc 276- bugfix empty "if" statement when 16-bit code is enabled 277- restored two misplaced #else/#endif blocks 278- added conditionals around "mng_display_go*" and other unused functions 279- added MNG_NO_LOOP_SIGNALS_SUPPORTED conditional 280- fixed duplicate for-loop 281- fixed invalid test in promote_imageobject 282- added conditionals around PAST chunk support 283- fixed "FOOTPRINT_COMPOSEIV" typo (now "FOOTPRINT_DIV") 284 285samples: 286 287contrib: 288- updated xmngview 289- added MSVC project for creating delta-MNGs: makemng (thanks Alex!) 290- added MSVC lib-file for use with the standard libmng.dll (again thanks Alex) 291 292doc: 293- updated readme.contrib 294 295makefiles: 296 297autoconf: 298 299----------------------------------------------------------- 300 3011.0.5 (mar 1st 2003) 302-------------------- 303 304in short: 305 306Only a small fix for progressive jpeg suspension problem. 307 308This is the long-awaited final release containing the new 'dynamic MNG' feature 309and bringing MNG compliance to near 100%! 310 311------------------- 312 313bugfixes: 314- B683152 - libjpeg suspension not always honored correctly 315 316core: 317 318samples: 319 320contrib: 321 322doc: 323 324makefiles: 325 326autoconf: 327 328----------------------------------------------------------- 329 3301.0.5-rc3 (jan 20th 2003) 331------------------------- 332 333in short: 334 335Third release-candidate for the upcoming 1.0.5 version. 336 337Minor bug-fixes and finalizing the accepted proposal (by official vote) for 338the TERM/frame_delay changes on mng-list (nov-dec/2002). 339 340------------------- 341 342bugfixes: 343- B654627 - fixed SEGV when no gettickcount callback (thanks Adam!) 344- B664383 - fixed typo (thanks Dimitri) 345- B664911 - fixed buffer overflow during init (thanks Alex!) 346 347core: 348- finalized changes in TERM/final_delay to elected proposal (positive vote) 349 350samples: 351 352contrib: 353 354doc: 355 356makefiles: 357 358autoconf: 359 360----------------------------------------------------------- 361 3621.0.5-rc2 (dec 9th 2002) 363------------------------ 364 365in short: 366 367Second release-candidate for the upcoming 1.0.5 version. 368This contains fixes for a few minor details reported by the loyal testers. 369It fixes some issues with the goframe/golayer/gotime processing and related 370stuff. And it adds a way to disable playback-caching from within the MNG, 371which is very useful for streaming-MNG encoders (such as gserver!). 372 373------------------- 374 375bugfixes: 376 377core: 378- fixed layer- & frame-counting during read() 379- changed FRAMECOUNT/LAYERCOUNT/PLAYTIME error to warning 380- fixed goframe/golayer/gotime processing 381- added support for nEED "MNG 1.1" 382- added support for nEED "CACHEOFF"; turn playback caching off for streaming MNG 383- fixed magnification bug with object 0 384- added support to get totals for frames/layers/playtime after mng_read() 385- fixed some issues in init_app_cms() 386- fixed goxxxxx() support for zero values 387 388samples: 389 390contrib: 391 392doc: 393 394makefiles: 395 396autoconf: 397 398----------------------------------------------------------- 399 4001.0.5-rc1 (nov 1st 2002) 401------------------------ 402 403in short: 404 405First release-candidate for the upcoming 1.0.5 version. 406This fixes a few small problems and brings the TERM/MEND processing, with 407respect to interframe_delay as per the current discussion on MNG-list, 408up-to-date with the latest proposal. 409 410------------------- 411 412bugfixes: 413 414core: 415- fixed initialization of pIds in dISC read routine (Thanks Winfried!) 416- fixed issue in freeing evNT chunk (Thanks Winfried!) 417- fixed clipping-problem with BACK tiling (Thanks Sakura!) 418- fixed processing for multiple objects in MAGN (Thanks Sakura!) 419- fixed display of visible target of PAST operation (Thanks Sakura!) 420- modified TERM/MEND processing for max(1, TERM_delay, interframe_delay) 421 422samples: 423 424contrib: 425- fixed typo in Makefile for gtk-mng-view sample 426 427doc: 428 429makefiles: 430 431autoconf: 432 433----------------------------------------------------------- 434 4351.0.5-b3 (oct 15th 2002) 436------------------------ 437 438in short: 439 440Fairly quick after beta2, since that introduced a couple of unfortunate 441booboo's and wasn't very workable. It also changes the standard configure 442script to build a standard shared object similar to what I intended. 443 444------------------- 445 446bugfixes: 447 448core: 449- fixed support for condition=2 in TERM chunk 450- fixed trace-constants for PAST chunk 451- added mng_status_dynamic to supports function 452 453samples: 454 455contrib: 456 457doc: 458- small cosmetic changes in man/libmng.3 459 460makefiles: 461 462autoconf: 463- fixed configure.in to build a 'standard' SO primarily 464 465----------------------------------------------------------- 466 4671.0.5-b2 (oct 9th 2002) 468------------------------ 469 470in short: 471 472Second beta for next 1.0.5 release. This addresses some minor problems 473detected during testing. It adds the proposed change to the MNG spec as 474discussed on the "mng-list" recently; eg. Adam's option 4. 475And it adds a little function to check at run-time if the lib is a beta or not. 476 477------------------- 478 479bugfixes: 480 481core: 482- fixed chunk-storage for evNT chunk 483- fixed dropping mix of frozen/unfrozen objects 484- fixed problem with cloned objects marked as invalid 485- fixed problem cloning frozen object_buffers 486- fixed DISC support 487- added proposed change in handling of TERM- & interframe-delay 488- added another fix for misplaced TERM chunk 489- added check for TERM placement during create/write 490- completed support for condition=2 in TERM chunk 491- added beta version function & constant 492 493samples: 494 495contrib: 496 497doc: 498 499makefiles: 500 501autoconf: 502 503----------------------------------------------------------- 504 5051.0.5-b1 (sep 24th 2002) 506------------------------ 507 508in short: 509 510First beta of a large maintenance release. This completes support of the MNG 511specification to nearly 100% (PAST, PROM, delta-images, BACK image+tile). 512It adds "dynamic" MNG and a few other neat routines as well as fixes several 513bugs reported through SourceForge or to me directly. 514 515------------------- 516 517bugfixes: 518- B575832 - library has wrong patch version number 519- B578572 - remove in 1.0.0! 520- B578940 - some functions not implemented 521- B581625 - large chunks fail with suspension reads 522- B597134 - libmng pollutes the linker namespace 523 524core: 525- added sanity check for improbable chunklengths 526- removed eMNGma hack (thanks Dimitri!) 527- unimplemented functions return an errorcode now 528- added test-option for PNG filter method 192 (= levelling) 529- added test-option for PNG filter method 193 (= no filtering) 530 (both are conditional and only for testing purposes!!!) 531- completed PROM support 532- completed delta-image support 533- completed MAGN support (16-bit functions) 534- added HLAPI function to copy a chunk from a read MNG to a newly created MNG 535- added option for soft-handling of errors (only for repair software!!!) 536- fixed some routine inclusion/exclusion for undefined conditionals 537- pre-fixed all internal routines with mng_ 538- added symbol MNG_LOCAL (= static) to really local functions 539- fixed reading of FRAM with just frame_mode and name 540- fixed read/write of MAGN chunk 541- added event handling for dynamic MNG 542- added 'supports' call to check function availability 543- fixed copyright notice in the headers of all libmng modules 544- fixed LOOP iteration=0 special case 545- re-compiled standard Windows dll with lcms-1.0.9 546- added warning for too much IDAT data 547- warnings are ignored by default now 548- misplaced TERM is now treated as warning 549- fixed color-correction for restore-background handling 550- optimized restore-background for bKGD cases 551- cleaned up some old stuff 552- completed support for BACK image & tiling 553- completed support for PAST 554- added bgrx8 canvas (filler byte) 555- fixed reset_object_detail to clear old buffer 556- added in-memory color-correction of abstract images 557- added compose over/under routines for PAST processing 558- added flip & tile routines for PAST processing 559 560samples: 561- Added new BCB sample for fixing invalid JASC Animation Shop files 562 (shows new copy_chunks function; use of MNG_SOFTERRORS & static linking) 563 564contrib: 565- added xmngview by Winfried Szukalski (Vielen dank!) 566- Updated the Delphi mngview sample to handle dynamic MNGs 567- Added Kylix example (simplified port of the Delphi mngview sample) 568 569doc: 570- added diff to add MNG&JNG to a systems 'magic' file (Thanks Winfried) 571- fixed docs about using mng_display_resume after display_reset 572 (should read to use mng_display!) 573 574makefiles: 575- added makefile to build a libmng.dll for MingW 576 (makefile.mingwdll - thanks to Frank Richter!) 577 578autoconf: 579- fixing libtool version-number to be in line with what it should be 580 581----------------------------------------------------------- 582 5831.0.4 (Jun 23rd 2002) 584--------------------- 585 586in short: 587 588Just some small fixes 589Standard dll now compiled with zlib 1.1.4 and lcms 1.0.8 590 591------------------- 592 593bugfixes: 594- B495442 - invalid returnvalue in mng_get_suspensionmode 595- B495443 - incorrect suspend check in read_databuffer 596- B526138 - returned IJGSRC6B calling convention to default for MSVC 597- B558212 - off by one error 598- B557677 - can't find lcms.h 599 600core: 601- fixed possible compile-problem in cleanup_rowproc 602- MNG subimage alpha composite wrong for rgba8 images 603 604samples: 605 606contrib: 607 608doc: 609 610makefiles: 611- fixed check for lcms.h in configure.in 612 613autoconf: 614 615----------------------------------------------------------- 616 6171.0.3 (Sep 18th 2001) 618--------------------- 619 620in short: 621 622Small cosmetic changes. Cleaning up the contributions. 623New makefile for mingw32, and new fbcon example. 624Major thanks to Greg for helping out with the *nix stuff! 625Note that there's also a separate download for ASM programmers now. 626Check http://www.libmng.com for details (download/ports&packages page). 627 628It may be a while for the next release. I'm "off duty" for the next 8 or 629so months... 630 631Gerard 632 633------------------- 634 635bugfixes: 636- B459058 - wrong include for lcms headers 637 638core: 639- changed inclusion of lcms.h header for Linux platforms (suggested by Greg) 640- added get function for last processed BACK chunk 641 642samples: 643- replaced the gtk & sdl viewer apps with updates by Greg Roelofs 644 645contrib: 646 647doc: 648 649makefiles: 650- changed makefile.linux & makefile.unix as suggested by Greg Roelofs 651 (makefile.linux now compiles with lcms by default) 652- added makefile.mingw for mingw32 by Benoit Blanchon (thanks Mate!) 653 654autoconf: 655 656----------------------------------------------------------- 657 6581.0.2 (Jul 7th 2001) 659-------------------- 660 661in short: 662 663Another maintenance release with a few added extra's. 664 665------------------- 666 667bugfixes: 668- B421427 - writes wrong format in bKGD and tRNS 669- B434583 - compiler-warning if MNG_STORE_CHUNKS undefined 670 671core: 672- added optimization option for MNG-video playback 673- added processterm callback 674- added late binding errorcode (not used internally) 675- fixed memory-leak with delta-images (Thanks Michael!) 676- added option to turn off progressive refresh for large images 677 678samples: 679 680contrib: 681 682doc: 683 684makefiles: 685 686autoconf: 687 688----------------------------------------------------------- 689 6901.0.1 (May 2nd 2001) 691-------------------- 692 693in short: 694 695Maintenance release. 696Fixed several memory-leaks with the help of Gregg Kelly, added/fixed some CMS 697handling, exported JPEG functions from standard DLL, and some other minor fixes. 698 699The CMS fix now makes libmng automagically work in MNG_FULL_CMS mode as a 700sRGB compliant system. YOU WILL NEED TO CHANGE THIS IF YOU ARE NOT ON AN sRGB 701COMPLIANT SYSTEM AND WANT TO USE CMS!!!! 702(look in libmng.h for the proper function-calls) 703 704------------------- 705 706bugfixes: 707 708core: 709- added MEND processing callback 710- fixed first FRAM_MODE=4 timing problem 711- added handle status-copy function (use with care) 712- exported JPEG functions from standard DLL 713- added BGRA8 canvas with premultiplied alpha (contrib by Gregg Kelly) 714- fixed problem with display_reset/display_resume (Thanks Gregg!) 715- fixed several memory-leaks (Thanks Gregg!) 716- fixed reset_rundata to drop all objects (Thanks again, Gregg!) 717- fixed problem with cms profile being created multiple times when both 718 iCCP & cHRM/gAMA are present (And again... Gregg) 719- moved mng_clear_cms to libmng_cms 720- added "default" sRGB generation (Thanks Marti!) 721 722samples: 723 724contrib: 725 726doc: 727 728makefiles: 729 730autoconf: 731 732----------------------------------------------------------- 733 7341.0.0 (Feb 6th 2001) 735-------------------- 736 737in short: 738 739First public release. Finally(!) 740 741This is the 0.9.5 CVS version, which will never be released, because I feel it 742is now ready for a public release. So apart from the version-numbers here and 743there, all other changes are listed under 0.9.5. 744 745This library will work with every MNG/JNG known and available to me. Note that 746there are still parts that need to be coded, and that MNG support is around 74790-95% (JNG at 100%). It is however compliant with the latest and greatest 748MNG 1.0 specification. 749 750I hope to dedicate a bit more time this year to finish up full support and fill 751in the remaining blanks. But this is coming out of my spare time. And extra 752help is always appreciated. 753 754Please enjoy! 755 756Gerard 757 758----------------------------------------------------------- 759 7600.9.5 (no release) 761------------------ 762 763in short: 764 765intermediate CVS 766 767------------------- 768 769bugfixes: 770B129681 - fixed compiler warnings SGI/Irix (thanks Dimitri) 771 772core: 773- fixed compiler-warnings Mozilla (thanks Tim) 774- fixed timing-problem with switching framing_modes 775- fixed some small compiler warnings (thanks Nikki) 776 777samples: 778 779contrib: 780- fixed library-paths for MSVC DLL project (thanks Chad) 781 782doc: 783 784makefiles: 785- added makefile for DJGPP (thanks Silvio) 786 787autoconf: 788 789----------------------------------------------------------- 790 7910.9.4 (Jan 19th 2001) 792---------------------- 793 794in short: 795 796Now that the MNG spec is at 1.0, this should be the last beta. There's a few 797small changes to make it inline with the spec, and a couple of bug-fixes. 798This is a serious release-candidate for libmng-1.0!! 799Please... test test test test!! 800 801------------------- 802 803bugfixes: 804B123314 - fixed number of TERM related problems 805B123322 - fixed unwanted repetition in mng_readdisplay() 806B123443 - fixed by Ralph 807B124910 - fixed definition for WIN32_LEAN_AND_MEAN (thanks Chad) 808B125750 - fixed by Ralph 809B125756 - fixed mixup of data- & function-pointers (thanks Dimitri) 810B127517 - changed inclusion of the lcms header file for non-windows platforms 811 812core: 813- version numbers 814- fixed possible loop in display_resume() (Thanks Vova!) 815- fixed unwanted repetition in mng_readdisplay() 816- changed inclusion of the lcms header file for non-windows platforms 817- changed IHDR filter_method check for PNGs 818- moved restore of object 0 to libmng_display 819- added restore of object 0 to TERM processing (B123314) 820- fixed TERM delay processing (B123314) 821- fixed TERM end processing when count = 0 (B123314) 822- changed callback convention for MSVC (Thanks Chad) 823- fixed mixup of data- & function-pointers (thanks Dimitri) 824- added support for "nEED MNG-1.0" 825- added errorcode for MAGN methods 826- added errorchecking for MAGN methods 827- removed "old" MAGN methods 3 & 4 828- added "new" MAGN methods 3, 4 & 5 829- removed test filter-methods 1 & 65 830- set default level-set for filtertype=64 to all zeroes 831 832samples: 833 834contrib: 835- added GTK mng-view example by Vova Babin 836- added MSVC MNGview sample by Nikolaus Brennig 837- updated Jason Summer's mngplg to version 0.9.2 838 (that's mngplg-0.9.2 based on libmng-0.9.3 !!!) 839- rearranged contrib directory slightly 840- added MSVC project to build libmng.dll by Chad Austin 841 842doc: 843- added README.dll 844- added README.config 845 846makefiles: 847- added a makefile for MS Visual C++ (Thanks to Atsushi Matsuda) 848 849autoconf: 850- fixed configure.in for lcms (FreeBSD port by Mikhail Teterin) 851- by default configure includes CMS support if lcms is present 852 853----------------------------------------------------------- 854 8550.9.3 (October 29th 2000) 856------------------------- 857 858in short: 859 860Another beta release. The number of changes in the MNG specification have 861resulted in a lot of new code and some changed code. At the same time I saw 862no need to withhold some new functionality as it was pretty clear there was 863going to be another beta-round. If things go well, I'm going to try to release 864libmng 1.0.0 very shortly after this one. 865 866Many thanks to a lot of people for helping out, sending contributions, making 867suggestions and testing this little baby. This would get nowhere without YOU!!! 868 869- fixed bug 111300/117103 870- added workaround for faulty PhotoShop iCCP chunk 871- added MAGN/JDAA chunks 872- added support for new filter_types 873- added PNG/MNG spec version indicators 874- added BCB mngview contribution by Andy Protano 875- added BCB mngdump; a GUI-based MNG dumping utility (Andy Protano) 876- implemented support for nEED "draft nn" 877- implemented app-defined support for bKGD for PNG images 878- removed trace-options from default SO/DLL builds (!!!) 879- raised initial maximum canvas size to 10000x10000 (!!!) 880 (an App that wants to protect from overly large images should call 881 mng_set_maxcanvassize() with appropriate values) 882- fixed other assorted stuff 883 884------------------- 885 886bugfixes: 887B111300 - fixup for improved portability 888B117103 - fixed compilation errors on *nix with lcms (thanks Ralph!) 889 890core: 891- fixed compiler-warnings from Mozilla 892- added check for simplicity-bits in MHDR 893- added workaround for faulty PhotoShop iCCP chunk 894- fixed app-supplied background restore 895- fixed TERM processing delay of 0 msecs 896- fixed write-code for zTXt & iTXt 897- fixed read-code for iTXt 898- added MAGN chunk 899- fixed sRGB precedence for gamma_only corection 900- added support for new filter_types 901- fixed problem with no refresh after TERM 902- fixed DEFI behavior 903- fixed inclusion parameters to make the external libs work together 904- added export of zlib functions from windows dll 905- fixed timing & refresh behavior for single PNG/JNG 906- removed trace-options from default SO/DLL builds (!!!) 907- fixed MAGN rounding errors (thanks Matthias!) 908- fixed small timing problem when FRAM delay = 0 909- fixed simplicity-check in compliance with draft 81/0.98a 910- fixed alpha-blending for all alpha-canvasstyles 911- added support for alpha-depth prediction 912- fixed processing of unknown critical chunks 913- removed test-MaGN 914- added PNG/MNG spec version indicators 915- implemented support for nEED 916- added support for JDAA 917- added functions to retrieve PNG/JNG specific header-info 918- added optional support for bKGD for PNG images 919- raised initial maximum canvas size to 10000x10000 920- added support for delta-JNG 921- added callback to process non-critical unknown chunks 922- fixed support for delta-images during read() / display() 923- added closestream() processing for mng_cleanup() 924- fixed delta-processing behavior 925- added storage for pixel-/alpha-sampledepth for delta's 926- implemented delayed delta-processing 927- fixed putchunk_plte() to set bEmpty parameter (thanks Ben!) 928- added errorcode for delayed delta-processing 929- added get/set for bKGD preference setting 930- added get function for interlace/progressive display 931- fixed bug in empty PLTE handling 932- fixed seperate read() & display() processing 933- fixed tRNS processing for gray-image < 8-bits 934 935samples: 936- added BCB mngview contribution by Andy Protano 937 938contrib: 939- added BCB mngdump; a GUI-based MNG dumping utility (Andy Protano) 940 941doc: 942- updated RPM spec-file by MATSUURA Takanori 943- updated README.contrib 944 945makefiles: 946- fixed some stuff in automake/autoconf/libtool 947- fixed auto* for bug B117103 948 949----------------------------------------------------------- 950 9510.9.2 (August 7th 2000) 952----------------------- 953 954in short: 955 956Third beta release! Last one??? 957 958!!IMPORTANT!! All file-names are now prefixed with "libmng_" !!IMPORTANT!! 959 960Many thanks to Albert Chin-A-Young for his contribution of the 961autoconf/automake/libtool stuff and to Ralph Giles for helping me 962put it in the right places. 963 964There's a special README.autoconf so please read it! 965 966- fixed bug 110320/110546/110547/111096 967- added several status retrieval functions 968- fixed other small bugs in display processing 969- fixed number of small problems and documentation typos 970- added autoconf/automake/libtool 971- added latest MNG plugin (0.9.0) by Jason Summers 972 973------------------- 974 975bugfixes: 976B110320 - fixed GCC warning about mix-sized pointer math 977B110546 - fixed for improperly returning UNEXPECTEDEOF 978B110547 - fixed bug in interlace code 979B111096 - fixed large-buffer read-suspension 980 981core: 982- version numbers 983- fixed small bugs in display processing 984- removed Nextbackxxx fields (no longer used) 985- fixed problem with trace-functions improperly wrapped 986- put specific code in add_chunk() inside MNG_SUPPORT_WRITE wrapper 987- fixed documentation typos 988- fixed wrapping of suspension parameters 989- added status_xxxx functions 990- added trace-codes/-strings for status_xxxxx functions 991- changed file-prefixes 992- added function to set simplicity field 993- added trace-code/-string for updatemngsimplicity 994- fixed putchunk_unknown() function 995 996samples: 997 998contrib: 999- added latest MNG plugin (0.9.0) by Jason Summers 1000 1001doc: 1002- version numbers 1003- added autoconf readme 1004- version numbers in RPM stuff 1005 1006makefiles: 1007- fixed for new file-prefix 1008- added autoconf/automake/libtool 1009 1010----------------------------------------------------------- 1011 10120.9.1 (July 26th 2000) 1013---------------------- 1014 1015in short: 1016 1017Second beta release. 1018 1019Given the enormous amount of bug-reports (not ;-), this will most likely 1020be one of the last betas. If things remain upright, the first public release 1021(1.0.0) is fairly eminent in the weeks to come... 1022 1023- added SDL mng player by Ralph Giles to contributions 1024- fixed timing and added internal buffering for I/O-suspension scenarios 1025- added get routines for internal display-state variables (frame/layer/playtime) 1026- changed read-processing for improved I/O-suspension (internal buffering) 1027- fixed several problems with create- & write-support 1028- added a load of documentation 1029- lots of small stuff 1030 1031------------------- 1032 1033bugfixes: 1034 1035core: 1036- fixed mandatory BACK color to be opaque 1037- changed mng_display_resume to allow to be called after a suspension 1038 return with MNG_NEEDMOREDATA 1039- changed comments to indicate modified behavior for timer & suspension breaks 1040- added variables for go_xxxx processing 1041- implemented support for freeze/reset/resume & go_xxxx 1042- added trace-codes/-strings for special display processing 1043- added variables for improved timing support 1044- added support for improved timing 1045- added get routines for internal display variables 1046- added get/set routines for suspensionmode variable 1047- added trace-code/-string for get/set suspensionmode 1048- added trace-codes/-strings for get/set display variables 1049- added support for improved I/O-suspension 1050- changed read-processing for improved I/O-suspension 1051- added trace-code/-string for read_databuffer (I/O-suspension) 1052- added suspendbuffer constants 1053- changed EOF processing behavior 1054- fixed TERM delay processing 1055- changed pre-draft48 frame_mode=3 to frame_mode=1 1056- added callbacks for SAVE/SEEK processing 1057- added trace-codes/-strings for SAVE/SEEK callbacks 1058- added variable for NEEDSECTIONWAIT breaks 1059- added trace-codes/-strings for get/set sectionbreaks 1060- added NEEDSECTIONWAIT error-code/-string 1061- added macro + routine to set returncode without calling error callback 1062- added trace-code/-string for special error routine 1063- changed default readbuffer size from 1024 to 4200 1064- added variable for freeze & reset processing 1065- fixed storage of images during mng_read() 1066- fixed support for mng_display() after mng_read() 1067- added error cleanup processing 1068- fixed support for mng_display_reset() 1069- fixed suspension-buffering for 32K+ chunks 1070- added function to set frame-/layer-count & playtime 1071- added trace-code/-string for updatemngheader 1072- added error-code/-string for updatemngheader if not a MNG 1073- fixed creation-code 1074- fixed writing of signature 1075- fixed several chunk-writing routines 1076 1077samples: 1078- fixed the libmng.pas module in line with libmng.h 1079 1080contrib: 1081- added the SDL based mngplay viewer by Ralph Giles 1082 1083doc: 1084- extended the RPM contribution by MATSUURA Takanori 1085- added libmng.txt, a full description of the library and its usage 1086- added man-pages for mng(5), jng(5) and libmng(3) 1087 1088makefiles: 1089 1090----------------------------------------------------------- 1091 10920.9.0 (June 30th 2000) 1093---------------------- 1094 1095in short: 1096 1097This is the first beta!!! Yippee!!! 1098 1099Thanks to all the people who helped to guide me in the right direction. 1100You know who you are! 1101 1102A special thanks to the guys with early implementations, who stood by and 1103put up with my whims :-) 1104 1105changes over 0.5.3: 1106 1107- updated mngplg to 0.4.1 (the latest & greatest) 1108- changed refresh parameters to 'x,y,width,height' 1109 1110----------------------------------------------------------- 1111 11120.5.3 (never released) 1113---------------------- 1114 1115in short: 1116 1117This is a working version only; the next release will be 0.9.0 (first Beta!) 1118 1119There are a few incompatible changes with previous versions. The userdata 1120variable has been changed from mng_uint32 to mng_ptr to accomodate 64-bit 1121systems. For the same reason memory allocation size parameters have been 1122changed to a mng_size_t type which is a typedef of size_t. 1123 1124Thanks to Aleks Jakulin for helping to iron out some 64-bit platform issues! 1125 1126- implemented the update-region parameters of the refresh callback 1127- added support for most common delta-image options 1128- added an animation-speed modifier 1129- added an image-level parameter for the processtext callback 1130- updated mngplg to 0.4.0 (supports JNG, full CMS, and other enhancements!) 1131- fixed a lot of small things 1132- added support for PPLT chunk 1133- fixed to support 64-bit platforms 1134 1135------------------- 1136 1137bugfixes: 1138 1139core: 1140- added processing of color-info on delta-image 1141- fixed handling of empty SAVE chunk 1142- fixed display of stored JNG images 1143- fixed problem with BASI-IEND as object 0 1144- changed the version parameters (obviously) 1145- added update-region parms for refresh calback 1146- added Needrefresh parameter 1147- added initialization of update-region for refresh 1148- added initialization of Needrefresh parameter 1149- changed progressive-display processing 1150- added tracecodes for tracing JPEG progression 1151- added tracing of JPEG calls 1152- added Deltaimmediate parm for faster delta-processing 1153- added extra checks for delta-images 1154- many changes to support delta-images 1155- optimized some store_xxx routines 1156- fixed some small things (as precaution) 1157- fixed possible trouble if IEND display-processing got broken up 1158- fixed nasty bug with embedded PNG after delta-image 1159- added processing of PLTE & tRNS for delta-images 1160- added processing of PLTE/tRNS & color-info for delta-images in the 1161 ani_objects chain 1162- fixed problem with color-correction for stored images 1163- added get/set for speedtype to facilitate testing 1164- added trace-codes & -strings for get/set speedtype 1165- added speed-modifier to timing routine 1166- added get-routine of imagelevel for processtext callback 1167- added trace-code & -string for get imagelevel 1168- added administration of imagelevel parameter 1169- added support for PPLT chunk 1170- added trace-codes & -strings for PPLT chunk processing 1171- fixed problem with incorrect gamma-correction 1172- fixed inclusion of IJG read/write code 1173- fixed problem with 16-bit GA format 1174- fixed problem with cheap transparency for 4-bit gray 1175- fixed display_xxxx routines for interlaced images 1176- added precaution against faulty iCCP chunks from PS 1177- changed userdata variable to mng_ptr 1178- added typedef for mng_size_t 1179- changed size parameter for memory allocation to mng_size_t 1180- fixed compiler-warning for non-initialized iB variable 1181- changed definition for 32-bit ints (64-bit platforms) 1182- changed definition for mng_handle (64-bit platforms) 1183- swapped refresh parameters 1184- fixed initialization routine for new mng_handle type 1185- added inclusion of stdlib.h for abs() 1186- fixed some 64-bit warnings 1187- fixed incompatible return-types 1188 1189samples: 1190 1191contrib: 1192- updated mngplg to 0.3.0 (supports JNG & full color-correction!) 1193- updated mngplg to 0.4.0 (Jason is picking up the pace ;-) 1194 1195doc: 1196- added rpm directory with rpm spec-file (contributed by MATSUURA Takanori) 1197 1198makefiles: 1199- changed makefile.linux to reflect versionnr for shared-lib 1200- changed makefile.linux to depend on mng_conf.h & mng_types.h 1201 1202----------------------------------------------------------- 1203 12040.5.2 (June 10th 2000) 1205---------------------- 1206 1207in short: 1208 1209This is the third release for developers 1210Another milestone since JNG is now fully supported 1211The next release will most likely be numbered 0.9.0 as the first Beta!! 1212 1213Fixed bug 106017 & 106019 1214Added many constants regarding chunk-property values 1215Implemented full JNG support 1216Added all the error- & trace-strings 1217Added get/set routines for default ZLIB/IJG parameters 1218Added a generic makefile for Unix platforms (contributed by Tim Rowley) 1219Added canvasstyle for separate RGB + A canvas (eg. mozilla-style) 1220Separated configuration-options into a separate file: "mng_conf.h" 1221Fixed stuff for generic Unix compilation (contributed by Tim Rowley) 1222Upgraded to lcms1.0.6 (now supports 16-bit endian-peculiarities) 1223Added a makefile for Linux ELF & fixed some code-issues to go along with gcc 1224Added support for suspended input-buffer processing 1225Implemented the display-routines for RGBA/ARGB/BGRA/ABGR canvasstyles 1226Implemented the application background-restore functionality 1227Fixed & tested the mngtree Unix-sample (runs on Linux-RH6.2 with libmng.so) 1228Upgraded mngplg to v0.2.2 (based on the latest code including JNG) 1229Fixed a lot of other assorted stuff 1230 1231------------------- 1232 1233bugfixes: 1234B003(106017) - fixed problem with <mem.h> being proprietary to BCB 1235B004(106019) - fixed problem when MNG_SUPPORT_WRITE not defined 1236 1237core: 1238- bumped version-numbers up to 0.5.2 (yeah, really) 1239- fixed support for IJGSRC6B 1240- cleaned up some code regarding mixed support-options 1241- complemented constants for chunk-property values 1242- fixed MNG_UINT_pHYg value 1243- implemented JNG support 1244- fixed problem with DEFI clipping 1245- added error telltale strings & support 1246- added trace telltale strings & support 1247- added support for global color-chunks inside TERM/LOOP 1248- added support for global PLTE,tRNS,bKGD inside TERM/LOOP 1249- added default IJG compression parameters and such 1250- moved init of default zlib parms to "mng_hlapi.c" 1251- added init of default IJG parms 1252- added support for get/set of zlib/IJG default parms 1253- added tracestrings for global animation color-chunks 1254- added tracestrings for get/set of default ZLIB/IJG parms 1255- added tracestrings for global PLTE,tRNS,bKGD 1256- added framenr/layernr/playtime to object header 1257- added initialization of framenr/layernr/playtime 1258- changed ani_create calls not returning object pointer 1259- create ani objects always (not just inside TERM/LOOP) 1260- fixed inconsistancy with freeing global iCCP profile 1261- fixed minor bugs 16-bit pixel-handling 1262- added object promotion routine (PROM handling) 1263- added trace-codes & -strings for image-object promotion 1264- added trace-codes & -strings for delta-image processing 1265- added error-codes & -strings for delta-image processing 1266- added support for delta-image processing 1267- added ani-object routines for delta-image processing 1268- added delta-image fields 1269- added compression/filter/interlace fields to object-buffer for 1270 delta-image processing 1271- added delta-image row-processing routines 1272- fixed up punctuation in several files (contributed by Tim Rowley) 1273- removed useless definition in "mng_chunks.h" (contributed by Tim Rowley) 1274- fixed pointer confusion in "mng_display.c" (contributed by Tim Rowley) 1275- fixed inclusion for memcpy (contributed by Tim Rowley) 1276- added mng_int32p (contributed by Tim Rowley) 1277- added internal delta-image processing callbacks 1278- separated configuration-options into "mng_conf.h" 1279- changed to most likely configuration 1280- added RGB8_A8 canvasstyle 1281- added getalphaline callback for RGB8_A8 canvasstyle 1282- fixed some makeup for Linux gcc compile 1283- implemented app bkgd restore routines 1284- implemented RGBA8, ARGB8, BGRA8 & ABGR8 display routines 1285- added support for RGB8_A8 canvasstyle 1286- added support for suspended input-buffer processing 1287- added mng_read_resume HLAPI function to support read-suspension 1288- fixed timer-handling to run with Mozilla (Tim Rowley) 1289- fixed alpha-handling for alpha canvasstyles 1290- fixed some compilation-warnings (contrib Jason Morris) 1291 1292samples: 1293- fixed mngview(delphi) to work with the new core 1294- synchronized libmng.pas(delphi) with the new libmng.h header 1295- removed the error- & trace-strings from libmng.pas(delphi) 1296- fixed mngtree(Unix) to compile on Linux (runs with libmng.so) 1297- added makefile.linux for mngtree(Unix) (tested on RedHat6.2) 1298 1299contrib: 1300- updated mngplg to 0.2.2 (based on latest code; supports JNG!) 1301 1302doc: 1303- this file obviously 1304- added Tim Rowley as contributing author 1305- changed the examples.readme doc 1306- updated the design-schematics in line with the current code 1307 1308makefiles: 1309- changed the directory to "makefiles" to avoid name-conflicts 1310- added generic Unix makefile (thanks to Tim Rowley) 1311- added Linux ELF makefile (tested on RedHat6.2) 1312 1313----------------------------------------------------------- 1314 13150.5.1 May 16th 2000 1316------------------- 1317 1318in short: 1319 1320This is the second release for developers 1321It's a bit of a milestone since all the chunk functionality is in place and 1322functioning (read, examine, create & write) 1323This version is incompatible with 0.5.0 since some of the callback prototypes 1324have changed (should be the last time that happens!) 1325There are a few more samples and even a real contribution! 1326 1327Fixed bug 105795 & 105797 1328Fixed a mis-alignment in animation-timing 1329Added chunk-access functions 1330Finished all chunk-storage routine-bits 1331Finished all chunk-write routines 1332Changed the callback prototypes to allow error-reporting back to the library 1333Fixed some routines to allow for callback error-reporting 1334Added version-control functions & constants 1335Added two functions to set display- & sRGB-profile from memory 1336Moved CRC table to dynamic structure (for improved thread-safety) 1337Added SAVE & SEEK save&restore functionality 1338Finished the application-based CMS-callbacks 1339Fixed a few BCB specifics 1340Changed the Win32 DLL and samples to use __stdcall 1341Did some more assorted little changes 1342Added 2 BCB samples 1343Added 1 Unix sample 1344Added the MNG plugin by Jason Summers in the contrib section 1345Changed some documents to reflect these changes 1346 1347------------------- 1348 1349bugfixes: 1350B001(105795) - fixed wrong lcms call & memory-leak for gammatables 1351B002(105797) - fixed problem with missing sRGB profile 1352 1353core: 1354- changed chunk iteration function 1355- added chunk access functions 1356- added version control constants & functions 1357- changed strict-ANSI stuff 1358- added set_outputprofile2 & set_srgbprofile2 1359- added empty-chunk put-routines 1360- added version_dll & VERSION_DLL (for consistency) 1361- added version control explanatory text & samples 1362- added iteratechunk callback definition 1363- improved definitions for DLL support 1364- added 8-bit palette definition 1365- added general array definitions 1366- added MNG_NULL definition 1367- changed most callback prototypes to allow the app 1368 to report errors during callback processing 1369- added CRC table to main structure (for thread-safety) 1370- added iPLTEentries for checking hIST-length 1371- changed palette definition to exported palette-type 1372- removed frozen indicator 1373- added create/write indicators 1374- added eMNGma hack (will be removed in 1.0.0 !!!) 1375- added TERM animation object pointer (easier reference) 1376- added saved-data structure for SAVE/SEEK processing 1377- added some errorcodes 1378- added application errorcodes (used with callbacks) 1379- moved chunk-access errorcodes to severity 5 1380- added chunk-access function trace-codes 1381- changed trace to macro for callback error-reporting 1382- added save_state & restore_state trace-codes 1383- put in some extra comments 1384- fixed layout for sBIT, PPLT 1385- changed write callback definition 1386- fixed layout for PPLT again (missed deltatype ?!?) 1387- cleaned up left-over teststuff in the BACK chunk routine 1388- changed CRC initialization to use dynamic structure 1389 (wasn't thread-safe the old way !) 1390- filled in many missing sequence&length checks 1391- filled in many missing chunk-store snippets 1392- added checks for running animations 1393- filled remaining write routines 1394- fixed read_pplt with regard to deltatype 1395- added callback error-reporting support 1396- added pre-draft48 support (short MHDR, frame_mode, LOOP) 1397- fixed chunk-storage bit in several routines 1398- supplemented the SAVE & SEEK display processing 1399- added init of iPLTEcount 1400- changed calling-convention definition 1401- changed status-handling of display-routines 1402- added versioning-control routines 1403- filled the write routine 1404- fixed frame_delay misalignment 1405- added sanity check for frozen status 1406- changed display_mend to reset state to initial or SAVE 1407- added save_state and restore_state for SAVE/SEEK/TERM 1408 processing 1409- added process_save & process_seek routines 1410- changed and filled iterate-chunk function 1411- added getchunk functions 1412- added putchunk functions 1413- added empty-chunk put-routines 1414- filled application-based color-management routines 1415- added creatememprofile 1416- filled the deflatedata routine 1417- added cleanup of saved-data (SAVE/SEEK processing) 1418- moved the actual write_graphic functionality from mng_hlapi.c 1419 to it's appropriate function in the mng_write.c module 1420- moved standard header includes into mng_types.h 1421 (stdlib/mem for mem-mngmt & math for fp gamma-calc) 1422- added getimgdata & putimgdata functions 1423 1424samples: 1425- fixed mngview(delphi) to work with the new core 1426- synchronized libmng.pas(delphi) with the new libmng.h header 1427- added mngtree(bcb) sample 1428- added bogus(bcb) sample 1429- added mngtree(unix) sample 1430 1431contrib: 1432- added mngplg 0.1.0 / a MNG plugin for Win32 by Jason Summers 1433 1434doc: 1435- added this changes.readme file 1436- changed the samples.readme doc accordingly 1437- changed the contrib.readme doc accordingly 1438 1439----------------------------------------------------------- 1440 14410.5.0 May 1st 2000 1442------------------ 1443 1444in short: 1445 1446This is the first developers release. 1447It's roughly about 60% done.