1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
|
-----------------------------------------------------------
1.0.4 (Jun 23rd 2002)
---------------------
in short:
Just some small fixes
Standard dll now compiled with zlib 1.1.4 and lcms 1.0.8
-------------------
bugfixes:
- B495442 - invalid returnvalue in mng_get_suspensionmode
- B495443 - incorrect suspend check in read_databuffer
- B526138 - returned IJGSRC6B calling convention to default for MSVC
- B558212 - off by one error
- B557677 - can't tqfind lcms.h
core:
- fixed possible compile-problem in cleanup_rowproc
- MNG subimage alpha composite wrong for rgba8 images
samples:
contrib:
doc:
makefiles:
- fixed check for lcms.h in configure.in
autoconf:
-----------------------------------------------------------
1.0.3 (Sep 18th 2001)
---------------------
in short:
Small cosmetic changes. Cleaning up the contributions.
New makefile for mingw32, and new fbcon example.
Major thanks to Greg for helping out with the *nix stuff!
Note that there's also a separate download for ASM programmers now.
Check http://www.libmng.com for details (download/ports&packages page).
It may be a while for the next release. I'm "off duty" for the next 8 or
so months...
Gerard
-------------------
bugfixes:
- B459058 - wrong include for lcms headers
core:
- changed inclusion of lcms.h header for Linux platforms (suggested by Greg)
- added get function for last processed BACK chunk
samples:
- tqreplaced the gtk & sdl viewer apps with updates by Greg Roelofs
contrib:
doc:
makefiles:
- changed makefile.linux & makefile.unix as suggested by Greg Roelofs
(makefile.linux now compiles with lcms by default)
- added makefile.mingw for mingw32 by Benoit Blanchon (thanks Mate!)
autoconf:
-----------------------------------------------------------
1.0.2 (Jul 7th 2001)
--------------------
in short:
Another maintenance release with a few added extra's.
-------------------
bugfixes:
- B421427 - writes wrong format in bKGD and tRNS
- B434583 - compiler-warning if MNG_STORE_CHUNKS undefined
core:
- added optimization option for MNG-video playback
- added processterm callback
- added late binding errorcode (not used internally)
- fixed memory-leak with delta-images (Thanks Michael!)
- added option to turn off progressive refresh for large images
samples:
contrib:
doc:
makefiles:
autoconf:
-----------------------------------------------------------
1.0.1 (May 2nd 2001)
--------------------
in short:
Maintenance release.
Fixed several memory-leaks with the help of Gregg Kelly, added/fixed some CMS
handling, exported JPEG functions from standard DLL, and some other minor fixes.
The CMS fix now makes libmng automagically work in MNG_FULL_CMS mode as a
sRGB compliant system. YOU WILL NEED TO CHANGE THIS IF YOU ARE NOT ON AN sRGB
COMPLIANT SYSTEM AND WANT TO USE CMS!!!!
(look in libmng.h for the proper function-calls)
-------------------
bugfixes:
core:
- added MEND processing callback
- fixed first FRAM_MODE=4 timing problem
- added handle status-copy function (use with care)
- exported JPEG functions from standard DLL
- added BGRA8 canvas with premultiplied alpha (contrib by Gregg Kelly)
- fixed problem with display_reset/display_resume (Thanks Gregg!)
- fixed several memory-leaks (Thanks Gregg!)
- fixed reset_rundata to drop all objects (Thanks again, Gregg!)
- fixed problem with cms profile being created multiple times when both
iCCP & cHRM/gAMA are present (And again... Gregg)
- moved mng_clear_cms to libmng_cms
- added "default" sRGB generation (Thanks Marti!)
samples:
contrib:
doc:
makefiles:
autoconf:
-----------------------------------------------------------
1.0.0 (Feb 6th 2001)
--------------------
in short:
First public release. Finally(!)
This is the 0.9.5 CVS version, which will never be released, because I feel it
is now ready for a public release. So apart from the version-numbers here and
there, all other changes are listed under 0.9.5.
This library will work with every MNG/JNG known and available to me. Note that
there are still parts that need to be coded, and that MNG support is around
90-95% (JNG at 100%). It is however compliant with the latest and greatest
MNG 1.0 specification.
I hope to dedicate a bit more time this year to finish up full support and fill
in the remaining blanks. But this is coming out of my spare time. And extra
help is always appreciated.
Please enjoy!
Gerard
-----------------------------------------------------------
0.9.5 (no release)
------------------
in short:
intermediate CVS
-------------------
bugfixes:
B129681 - fixed compiler warnings SGI/Irix (thanks Dimitri)
core:
- fixed compiler-warnings Mozilla (thanks Tim)
- fixed timing-problem with switching framing_modes
- fixed some small compiler warnings (thanks Nikki)
samples:
contrib:
- fixed library-paths for MSVC DLL project (thanks Chad)
doc:
makefiles:
- added makefile for DJGPP (thanks Silvio)
autoconf:
-----------------------------------------------------------
0.9.4 (Jan 19th 2001)
----------------------
in short:
Now that the MNG spec is at 1.0, this should be the last beta. There's a few
small changes to make it inline with the spec, and a couple of bug-fixes.
This is a serious release-candidate for libmng-1.0!!
Please... test test test test!!
-------------------
bugfixes:
B123314 - fixed number of TERM related problems
B123322 - fixed unwanted repetition in mng_readdisplay()
B123443 - fixed by Ralph
B124910 - fixed definition for WIN32_LEAN_AND_MEAN (thanks Chad)
B125750 - fixed by Ralph
B125756 - fixed mixup of data- & function-pointers (thanks Dimitri)
B127517 - changed inclusion of the lcms header file for non-windows platforms
core:
- version numbers
- fixed possible loop in display_resume() (Thanks Vova!)
- fixed unwanted repetition in mng_readdisplay()
- changed inclusion of the lcms header file for non-windows platforms
- changed IHDR filter_method check for PNGs
- moved restore of object 0 to libmng_display
- added restore of object 0 to TERM processing (B123314)
- fixed TERM delay processing (B123314)
- fixed TERM end processing when count = 0 (B123314)
- changed callback convention for MSVC (Thanks Chad)
- fixed mixup of data- & function-pointers (thanks Dimitri)
- added support for "nEED MNG-1.0"
- added errorcode for MAGN methods
- added errorchecking for MAGN methods
- removed "old" MAGN methods 3 & 4
- added "new" MAGN methods 3, 4 & 5
- removed test filter-methods 1 & 65
- set default level-set for filtertype=64 to all zeroes
samples:
contrib:
- added GTK mng-view example by Vova Babin
- added MSVC MNGview sample by Nikolaus Brennig
- updated Jason Summer's mngplg to version 0.9.2
(that's mngplg-0.9.2 based on libmng-0.9.3 !!!)
- rearranged contrib directory slightly
- added MSVC project to build libmng.dll by Chad Austin
doc:
- added README.dll
- added README.config
makefiles:
- added a makefile for MS Visual C++ (Thanks to Atsushi Matsuda)
autoconf:
- fixed configure.in for lcms (FreeBSD port by Mikhail Teterin)
- by default configure includes CMS support if lcms is present
-----------------------------------------------------------
0.9.3 (October 29th 2000)
-------------------------
in short:
Another beta release. The number of changes in the MNG specification have
resulted in a lot of new code and some changed code. At the same time I saw
no need to withhold some new functionality as it was pretty clear there was
going to be another beta-round. If things go well, I'm going to try to release
libmng 1.0.0 very shortly after this one.
Many thanks to a lot of people for helping out, sending contributions, making
suggestions and testing this little baby. This would get nowhere without YOU!!!
- fixed bug 111300/117103
- added workaround for faulty PhotoShop iCCP chunk
- added MAGN/JDAA chunks
- added support for new filter_types
- added PNG/MNG spec version indicators
- added BCB mngview contribution by Andy Protano
- added BCB mngdump; a GUI-based MNG dumping utility (Andy Protano)
- implemented support for nEED "draft nn"
- implemented app-defined support for bKGD for PNG images
- removed trace-options from default SO/DLL builds (!!!)
- raised initial maximum canvas size to 10000x10000 (!!!)
(an App that wants to protect from overly large images should call
mng_set_maxcanvassize() with appropriate values)
- fixed other assorted stuff
-------------------
bugfixes:
B111300 - fixup for improved portability
B117103 - fixed compilation errors on *nix with lcms (thanks Ralph!)
core:
- fixed compiler-warnings from Mozilla
- added check for simplicity-bits in MHDR
- added workaround for faulty PhotoShop iCCP chunk
- fixed app-supplied background restore
- fixed TERM processing delay of 0 msecs
- fixed write-code for zTXt & iTXt
- fixed read-code for iTXt
- added MAGN chunk
- fixed sRGB precedence for gamma_only corection
- added support for new filter_types
- fixed problem with no refresh after TERM
- fixed DEFI behavior
- fixed inclusion parameters to make the external libs work together
- added export of zlib functions from windows dll
- fixed timing & refresh behavior for single PNG/JNG
- removed trace-options from default SO/DLL builds (!!!)
- fixed MAGN rounding errors (thanks Matthias!)
- fixed small timing problem when FRAM delay = 0
- fixed simplicity-check in compliance with draft 81/0.98a
- fixed alpha-blending for all alpha-canvasstyles
- added support for alpha-depth prediction
- fixed processing of unknown critical chunks
- removed test-MaGN
- added PNG/MNG spec version indicators
- implemented support for nEED
- added support for JDAA
- added functions to retrieve PNG/JNG specific header-info
- added optional support for bKGD for PNG images
- raised initial maximum canvas size to 10000x10000
- added support for delta-JNG
- added callback to process non-critical unknown chunks
- fixed support for delta-images during read() / display()
- added closestream() processing for mng_cleanup()
- fixed delta-processing behavior
- added storage for pixel-/alpha-sampledepth for delta's
- implemented delayed delta-processing
- fixed putchunk_plte() to set bEmpty parameter (thanks Ben!)
- added errorcode for delayed delta-processing
- added get/set for bKGD preference setting
- added get function for interlace/progressive display
- fixed bug in empty PLTE handling
- fixed seperate read() & display() processing
- fixed tRNS processing for gray-image < 8-bits
samples:
- added BCB mngview contribution by Andy Protano
contrib:
- added BCB mngdump; a GUI-based MNG dumping utility (Andy Protano)
doc:
- updated RPM spec-file by MATSUURA Takanori
- updated README.contrib
makefiles:
- fixed some stuff in automake/autoconf/libtool
- fixed auto* for bug B117103
-----------------------------------------------------------
0.9.2 (August 7th 2000)
-----------------------
in short:
Third beta release! Last one???
!!IMPORTANT!! All file-names are now prefixed with "libmng_" !!IMPORTANT!!
Many thanks to Albert Chin-A-Young for his contribution of the
autoconf/automake/libtool stuff and to Ralph Giles for helping me
put it in the right places.
There's a special README.autoconf so please read it!
- fixed bug 110320/110546/110547/111096
- added several status retrieval functions
- fixed other small bugs in display processing
- fixed number of small problems and documentation typos
- added autoconf/automake/libtool
- added latest MNG plugin (0.9.0) by Jason Summers
-------------------
bugfixes:
B110320 - fixed GCC warning about mix-sized pointer math
B110546 - fixed for improperly returning UNEXPECTEDEOF
B110547 - fixed bug in interlace code
B111096 - fixed large-buffer read-suspension
core:
- version numbers
- fixed small bugs in display processing
- removed Nextbackxxx fields (no longer used)
- fixed problem with trace-functions improperly wrapped
- put specific code in add_chunk() inside MNG_SUPPORT_WRITE wrapper
- fixed documentation typos
- fixed wrapping of suspension parameters
- added status_xxxx functions
- added trace-codes/-strings for status_xxxxx functions
- changed file-prefixes
- added function to set simplicity field
- added trace-code/-string for updatemngsimplicity
- fixed putchunk_unknown() function
samples:
contrib:
- added latest MNG plugin (0.9.0) by Jason Summers
doc:
- version numbers
- added autoconf readme
- version numbers in RPM stuff
makefiles:
- fixed for new file-prefix
- added autoconf/automake/libtool
-----------------------------------------------------------
0.9.1 (July 26th 2000)
----------------------
in short:
Second beta release.
Given the enormous amount of bug-reports (not ;-), this will most likely
be one of the last betas. If things remain upright, the first public release
(1.0.0) is fairly eminent in the weeks to come...
- added SDL mng player by Ralph Giles to contributions
- fixed timing and added internal buffering for I/O-suspension scenarios
- added get routines for internal display-state variables (frame/layer/playtime)
- changed read-processing for improved I/O-suspension (internal buffering)
- fixed several problems with create- & write-support
- added a load of documentation
- lots of small stuff
-------------------
bugfixes:
core:
- fixed mandatory BACK color to be opaque
- changed mng_display_resume to allow to be called after a suspension
return with MNG_NEEDMOREDATA
- changed comments to indicate modified behavior for timer & suspension breaks
- added variables for go_xxxx processing
- implemented support for freeze/reset/resume & go_xxxx
- added trace-codes/-strings for special display processing
- added variables for improved timing support
- added support for improved timing
- added get routines for internal display variables
- added get/set routines for suspensionmode variable
- added trace-code/-string for get/set suspensionmode
- added trace-codes/-strings for get/set display variables
- added support for improved I/O-suspension
- changed read-processing for improved I/O-suspension
- added trace-code/-string for read_databuffer (I/O-suspension)
- added suspendbuffer constants
- changed EOF processing behavior
- fixed TERM delay processing
- changed pre-draft48 frame_mode=3 to frame_mode=1
- added callbacks for SAVE/SEEK processing
- added trace-codes/-strings for SAVE/SEEK callbacks
- added variable for NEEDSECTIONWAIT breaks
- added trace-codes/-strings for get/set sectionbreaks
- added NEEDSECTIONWAIT error-code/-string
- added macro + routine to set returncode without calling error callback
- added trace-code/-string for special error routine
- changed default readbuffer size from 1024 to 4200
- added variable for freeze & reset processing
- fixed storage of images during mng_read()
- fixed support for mng_display() after mng_read()
- added error cleanup processing
- fixed support for mng_display_reset()
- fixed suspension-buffering for 32K+ chunks
- added function to set frame-/layer-count & playtime
- added trace-code/-string for updatemngheader
- added error-code/-string for updatemngheader if not a MNG
- fixed creation-code
- fixed writing of signature
- fixed several chunk-writing routines
samples:
- fixed the libmng.pas module in line with libmng.h
contrib:
- added the SDL based mngplay viewer by Ralph Giles
doc:
- extended the RPM contribution by MATSUURA Takanori
- added libmng.txt, a full description of the library and its usage
- added man-pages for mng(5), jng(5) and libmng(3)
makefiles:
-----------------------------------------------------------
0.9.0 (June 30th 2000)
----------------------
in short:
This is the first beta!!! Yippee!!!
Thanks to all the people who helped to guide me in the right direction.
You know who you are!
A special thanks to the guys with early implementations, who stood by and
put up with my whims :-)
changes over 0.5.3:
- updated mngplg to 0.4.1 (the latest & greatest)
- changed refresh parameters to 'x,y,width,height'
-----------------------------------------------------------
0.5.3 (never released)
----------------------
in short:
This is a working version only; the next release will be 0.9.0 (first Beta!)
There are a few incompatible changes with previous versions. The userdata
variable has been changed from mng_uint32 to mng_ptr to accomodate 64-bit
systems. For the same reason memory allocation size parameters have been
changed to a mng_size_t type which is a typedef of size_t.
Thanks to Aleks Jakulin for helping to iron out some 64-bit platform issues!
- implemented the update-region parameters of the refresh callback
- added support for most common delta-image options
- added an animation-speed modifier
- added an image-level parameter for the processtext callback
- updated mngplg to 0.4.0 (supports JNG, full CMS, and other enhancements!)
- fixed a lot of small things
- added support for PPLT chunk
- fixed to support 64-bit platforms
-------------------
bugfixes:
core:
- added processing of color-info on delta-image
- fixed handling of empty SAVE chunk
- fixed display of stored JNG images
- fixed problem with BASI-IEND as object 0
- changed the version parameters (obviously)
- added update-region parms for refresh calback
- added Needrefresh parameter
- added initialization of update-region for refresh
- added initialization of Needrefresh parameter
- changed progressive-display processing
- added tracecodes for tracing JPEG progression
- added tracing of JPEG calls
- added Deltaimmediate parm for faster delta-processing
- added extra checks for delta-images
- many changes to support delta-images
- optimized some store_xxx routines
- fixed some small things (as precaution)
- fixed possible trouble if IEND display-processing got broken up
- fixed nasty bug with embedded PNG after delta-image
- added processing of PLTE & tRNS for delta-images
- added processing of PLTE/tRNS & color-info for delta-images in the
ani_objects chain
- fixed problem with color-correction for stored images
- added get/set for speedtype to facilitate testing
- added trace-codes & -strings for get/set speedtype
- added speed-modifier to timing routine
- added get-routine of imagelevel for processtext callback
- added trace-code & -string for get imagelevel
- added administration of imagelevel parameter
- added support for PPLT chunk
- added trace-codes & -strings for PPLT chunk processing
- fixed problem with incorrect gamma-correction
- fixed inclusion of IJG read/write code
- fixed problem with 16-bit GA format
- fixed problem with cheap transparency for 4-bit gray
- fixed display_xxxx routines for interlaced images
- added precaution against faulty iCCP chunks from PS
- changed userdata variable to mng_ptr
- added typedef for mng_size_t
- changed size parameter for memory allocation to mng_size_t
- fixed compiler-warning for non-initialized iB variable
- changed definition for 32-bit ints (64-bit platforms)
- changed definition for mng_handle (64-bit platforms)
- swapped refresh parameters
- fixed initialization routine for new mng_handle type
- added inclusion of stdlib.h for abs()
- fixed some 64-bit warnings
- fixed incompatible return-types
samples:
contrib:
- updated mngplg to 0.3.0 (supports JNG & full color-correction!)
- updated mngplg to 0.4.0 (Jason is picking up the pace ;-)
doc:
- added rpm directory with rpm spec-file (contributed by MATSUURA Takanori)
makefiles:
- changed makefile.linux to reflect versionnr for shared-lib
- changed makefile.linux to depend on mng_conf.h & mng_types.h
-----------------------------------------------------------
0.5.2 (June 10th 2000)
----------------------
in short:
This is the third release for developers
Another milestone since JNG is now fully supported
The next release will most likely be numbered 0.9.0 as the first Beta!!
Fixed bug 106017 & 106019
Added many constants regarding chunk-property values
Implemented full JNG support
Added all the error- & trace-strings
Added get/set routines for default ZLIB/IJG parameters
Added a generic makefile for Unix platforms (contributed by Tim Rowley)
Added canvasstyle for separate RGB + A canvas (eg. mozilla-style)
Separated configuration-options into a separate file: "mng_conf.h"
Fixed stuff for generic Unix compilation (contributed by Tim Rowley)
Upgraded to lcms1.0.6 (now supports 16-bit endian-peculiarities)
Added a makefile for Linux ELF & fixed some code-issues to go along with gcc
Added support for suspended input-buffer processing
Implemented the display-routines for RGBA/ARGB/BGRA/ABGR canvasstyles
Implemented the application background-restore functionality
Fixed & tested the mngtree Unix-sample (runs on Linux-RH6.2 with libmng.so)
Upgraded mngplg to v0.2.2 (based on the latest code including JNG)
Fixed a lot of other assorted stuff
-------------------
bugfixes:
B003(106017) - fixed problem with <mem.h> being proprietary to BCB
B004(106019) - fixed problem when MNG_SUPPORT_WRITE not defined
core:
- bumped version-numbers up to 0.5.2 (yeah, really)
- fixed support for IJGSRC6B
- cleaned up some code regarding mixed support-options
- complemented constants for chunk-property values
- fixed MNG_UINT_pHYg value
- implemented JNG support
- fixed problem with DEFI clipping
- added error telltale strings & support
- added trace telltale strings & support
- added support for global color-chunks inside TERM/LOOP
- added support for global PLTE,tRNS,bKGD inside TERM/LOOP
- added default IJG compression parameters and such
- moved init of default zlib parms to "mng_hlapi.c"
- added init of default IJG parms
- added support for get/set of zlib/IJG default parms
- added tracestrings for global animation color-chunks
- added tracestrings for get/set of default ZLIB/IJG parms
- added tracestrings for global PLTE,tRNS,bKGD
- added framenr/layernr/playtime to object header
- added initialization of framenr/layernr/playtime
- changed ani_create calls not returning object pointer
- create ani objects always (not just inside TERM/LOOP)
- fixed inconsistancy with freeing global iCCP profile
- fixed minor bugs 16-bit pixel-handling
- added object promotion routine (PROM handling)
- added trace-codes & -strings for image-object promotion
- added trace-codes & -strings for delta-image processing
- added error-codes & -strings for delta-image processing
- added support for delta-image processing
- added ani-object routines for delta-image processing
- added delta-image fields
- added compression/filter/interlace fields to object-buffer for
delta-image processing
- added delta-image row-processing routines
- fixed up punctuation in several files (contributed by Tim Rowley)
- removed useless definition in "mng_chunks.h" (contributed by Tim Rowley)
- fixed pointer confusion in "mng_display.c" (contributed by Tim Rowley)
- fixed inclusion for memcpy (contributed by Tim Rowley)
- added mng_int32p (contributed by Tim Rowley)
- added internal delta-image processing callbacks
- separated configuration-options into "mng_conf.h"
- changed to most likely configuration
- added RGB8_A8 canvasstyle
- added getalphaline callback for RGB8_A8 canvasstyle
- fixed some makeup for Linux gcc compile
- implemented app bkgd restore routines
- implemented RGBA8, ARGB8, BGRA8 & ABGR8 display routines
- added support for RGB8_A8 canvasstyle
- added support for suspended input-buffer processing
- added mng_read_resume HLAPI function to support read-suspension
- fixed timer-handling to run with Mozilla (Tim Rowley)
- fixed alpha-handling for alpha canvasstyles
- fixed some compilation-warnings (contrib Jason Morris)
samples:
- fixed mngview(delphi) to work with the new core
- synchronized libmng.pas(delphi) with the new libmng.h header
- removed the error- & trace-strings from libmng.pas(delphi)
- fixed mngtree(Unix) to compile on Linux (runs with libmng.so)
- added makefile.linux for mngtree(Unix) (tested on RedHat6.2)
contrib:
- updated mngplg to 0.2.2 (based on latest code; supports JNG!)
doc:
- this file obviously
- added Tim Rowley as contributing author
- changed the examples.readme doc
- updated the design-schematics in line with the current code
makefiles:
- changed the directory to "makefiles" to avoid name-conflicts
- added generic Unix makefile (thanks to Tim Rowley)
- added Linux ELF makefile (tested on RedHat6.2)
-----------------------------------------------------------
0.5.1 May 16th 2000
-------------------
in short:
This is the second release for developers
It's a bit of a milestone since all the chunk functionality is in place and
functioning (read, examine, create & write)
This version is incompatible with 0.5.0 since some of the callback prototypes
have changed (should be the last time that happens!)
There are a few more samples and even a real contribution!
Fixed bug 105795 & 105797
Fixed a mis-tqalignment in animation-timing
Added chunk-access functions
Finished all chunk-storage routine-bits
Finished all chunk-write routines
Changed the callback prototypes to allow error-reporting back to the library
Fixed some routines to allow for callback error-reporting
Added version-control functions & constants
Added two functions to set display- & sRGB-profile from memory
Moved CRC table to dynamic structure (for improved thread-safety)
Added SAVE & SEEK save&restore functionality
Finished the application-based CMS-callbacks
Fixed a few BCB specifics
Changed the Win32 DLL and samples to use __stdcall
Did some more assorted little changes
Added 2 BCB samples
Added 1 Unix sample
Added the MNG plugin by Jason Summers in the contrib section
Changed some documents to reflect these changes
-------------------
bugfixes:
B001(105795) - fixed wrong lcms call & memory-leak for gammatables
B002(105797) - fixed problem with missing sRGB profile
core:
- changed chunk iteration function
- added chunk access functions
- added version control constants & functions
- changed strict-ANSI stuff
- added set_outputprofile2 & set_srgbprofile2
- added empty-chunk put-routines
- added version_dll & VERSION_DLL (for consistency)
- added version control explanatory text & samples
- added iteratechunk callback definition
- improved definitions for DLL support
- added 8-bit palette definition
- added general array definitions
- added MNG_NULL definition
- changed most callback prototypes to allow the app
to report errors during callback processing
- added CRC table to main structure (for thread-safety)
- added iPLTEentries for checking hIST-length
- changed palette definition to exported palette-type
- removed frozen indicator
- added create/write indicators
- added eMNGma hack (will be removed in 1.0.0 !!!)
- added TERM animation object pointer (easier reference)
- added saved-data structure for SAVE/SEEK processing
- added some errorcodes
- added application errorcodes (used with callbacks)
- moved chunk-access errorcodes to severity 5
- added chunk-access function trace-codes
- changed trace to macro for callback error-reporting
- added save_state & restore_state trace-codes
- put in some extra comments
- fixed tqlayout for sBIT, PPLT
- changed write callback definition
- fixed tqlayout for PPLT again (missed deltatype ?!?)
- cleaned up left-over teststuff in the BACK chunk routine
- changed CRC initialization to use dynamic structure
(wasn't thread-safe the old way !)
- filled in many missing sequence&length checks
- filled in many missing chunk-store snippets
- added checks for running animations
- filled remaining write routines
- fixed read_pplt with regard to deltatype
- added callback error-reporting support
- added pre-draft48 support (short MHDR, frame_mode, LOOP)
- fixed chunk-storage bit in several routines
- supplemented the SAVE & SEEK display processing
- added init of iPLTEcount
- changed calling-convention definition
- changed status-handling of display-routines
- added versioning-control routines
- filled the write routine
- fixed frame_delay mistqalignment
- added sanity check for frozen status
- changed display_mend to reset state to initial or SAVE
- added save_state and restore_state for SAVE/SEEK/TERM
processing
- added process_save & process_seek routines
- changed and filled iterate-chunk function
- added getchunk functions
- added putchunk functions
- added empty-chunk put-routines
- filled application-based color-management routines
- added creatememprofile
- filled the deflatedata routine
- added cleanup of saved-data (SAVE/SEEK processing)
- moved the actual write_graphic functionality from mng_hlapi.c
to it's appropriate function in the mng_write.c module
- moved standard header includes into mng_types.h
(stdlib/mem for mem-mngmt & math for fp gamma-calc)
- added getimgdata & putimgdata functions
samples:
- fixed mngview(delphi) to work with the new core
- synchronized libmng.pas(delphi) with the new libmng.h header
- added mngtree(bcb) sample
- added bogus(bcb) sample
- added mngtree(unix) sample
contrib:
- added mngplg 0.1.0 / a MNG plugin for Win32 by Jason Summers
doc:
- added this changes.readme file
- changed the samples.readme doc accordingly
- changed the contrib.readme doc accordingly
-----------------------------------------------------------
0.5.0 May 1st 2000
------------------
in short:
This is the first developers release.
It's roughly about 60% done.
|